Accueil Blog Prise en main de Hugging Face
Machine Learning

Prise en main de Hugging Face

Explorer les modèles pré-entraînés avec Hugging Face Spaces : déploiement d'une application ML de A à Z, depuis la création de l'espace jusqu'au test.

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 un 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. Le hub s’intègre avec la bibliothèque Transformers, depuis laquelle les modèles déployés sont téléchargés.

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 NLP, la vision par ordinateur, les tâches audio, et plus encore. Elle simplifie la mise en œuvre des modèles Transformer en abstraitant la complexité de l’entraînement ou du déploiement dans des frameworks ML bas-niveau comme PyTorch, TensorFlow et JAX.

Hugging Face Spaces

Spaces est un service du Hub Hugging Face qui fournit une interface graphique facile à utiliser pour créer et déployer des démonstrations et applications ML hébergées sur le web. Vous pouvez créer rapidement des démos ML, télécharger vos propres applications ou sélectionner des applications préconfigurées pour les 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 : Settings > Billing, ajoutez votre carte de crédit dans la section Payment information.

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 l’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.

git clone [email protected]:spaces/doveaia/hello-world

Le README.md contient 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é : app_file: 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)

Nous utilisons pipeline de la bibliothèque Transformers pour charger le modèle de résumé. Les dépendances Python sont listées dans requirements.txt.

Étape 4 : tester l’application

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

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.