Prise en main de Hugging Face

Explorer les modèles pré-entraînés avec Hugging Face Space

Qu’est-ce que Hugging Face ?

Le Hub Hugging Face est une plateforme de collaboration qui héberge une vaste collection de modèles et de jeux de données open-source pour l’apprentissage automatique, pensez-y comme à Github pour le ML. Le hub facilite le partage et la collaboration en vous permettant de découvrir, d’apprendre et d’interagir facilement avec des ressources ML utiles de la communauté open-source. Le hub s’intègre et est utilisé en conjonction avec la bibliothèque Transformers, car les modèles déployés à l’aide de la bibliothèque Transformers sont téléchargés depuis le hub.

Concepts autour de Hugging Face

Hugging Face Transformers

Hugging Face Transformers est une bibliothèque Python open-source qui donne accès à des milliers de modèles Transformers pré-entraînés pour le traitement du langage naturel (NLP), la vision par ordinateur, les tâches audio, et plus encore. Elle simplifie le processus de mise en œuvre des modèles Transformer en abstraitant la complexité de l’entraînement ou du déploiement des modèles dans des frameworks ML de bas niveau comme PyTorch, TensorFlow et JAX.

Hugging Face Spaces

Spaces de Hugging Face est un service disponible sur le Hub Hugging Face qui fournit une interface graphique facile à utiliser pour créer et déployer des démonstrations et des applications ML hébergées sur le web. Le service vous permet de créer rapidement des démonstrations ML, de télécharger vos propres applications à héberger, ou même de sélectionner un certain nombre d’applications ML préconfigurées à déployer instantanément.

Déployons une application ML sur Hugging Face

Étape 1 : Créer un compte Hugging Face

Allez sur hf.co, cliquez sur “Sign Up” et créez un compte. Ajoutez vos informations de facturation : Dans votre compte HF, allez dans Paramètres > Facturation, ajoutez votre carte de crédit dans la section des informations de paiement.

Nous avons besoin d’un NVIDIA T4 small pour exécuter le modèle de résumé dans ce tutoriel.

Étape 2 : Créer l’espace

Une fois connecté, dans l’onglet “Spaces”. Créez un nouvel espace Streamlit avec du matériel NVIDIA T4 small. Choisissez le temps de sommeil pour éviter la facturation lorsque votre application est inactive. Rendez l’espace public ou privé. Une fois l’espace créé (hello-world dans cet exemple), vous pouvez le cloner avec git et votre code.

git clone git@hf.co:spaces/doveaia/hello-world

Il y a un README.md dans le dépôt contenant un bloc d’en-tête yaml décrivant l’espace.

---
title: Hello World
emoji: 🐢
colorFrom: red
colorTo: gray
sdk: streamlit
sdk_version: 1.41.1
app_file: app.py
pinned: false
---

L’élément clé dans ces métadonnées est que le fichier de l’application est nommé app.py

Étape 3 : Le code de l’application

import streamlit as st
from transformers import pipeline
st.title("💬 Chatbot")
if "messages" not in st.session_state:
    st.session_state["messages"] = [{"role": "assistant", "content": "Bonjour. Je peux résumer du texte."}]

for msg in st.session_state.messages:
    st.chat_message(msg["role"]).write(msg["content"])

if prompt := st.chat_input():
    summarizer = pipeline("summarization")
    st.session_state.messages.append({"role": "user", "content": prompt})
    st.chat_message("user").write(prompt)
    summary = summarizer(prompt)
    msg = summary[0]["summary_text"]
    st.session_state.messages.append({"role": "assistant", "content": msg})
    st.chat_message("assistant").write(msg)

Dans ce code, nous utilisons pipeline dans la bibliothèque transformers pour charger le modèle de résumé. Les dépendances Python sont listées dans le fichier requirements.txt.

Étape 4 : Tester l’application

Pour tester l’application, allez à l’URL de l’espace : https://huggingface.co/spaces/doveaia/hello-world

{{ partial "utilities/image-fluid" "images/hero-image.png" }}
## Conclusion Hugging Face a révolutionné la façon dont les développeurs et les chercheurs accèdent et déploient des modèles d'apprentissage automatique. En fournissant une plateforme robuste pour la collaboration, des outils faciles à utiliser comme la bibliothèque Transformers, et des solutions d'hébergement via Hugging Face Spaces, il est devenu une pierre angulaire pour la communauté ML.