> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-sa-registry-access.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Hugging Face

> Visualisez et suivez les performances des modèles Hugging Face avec W&B, en enregistrant les hyperparamètres, les métriques et l’utilisation du GPU.

export const ColabLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="colab-link">
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01.21.03zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z" />
    </svg>
    Essayer sur Colab
  </a>;

<ColabLink url="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/huggingface/Huggingface_wandb.ipynb" />

Ce tutoriel vous montre comment utiliser l’intégration W\&B avec [Hugging Face Transformers](https://github.com/huggingface/transformers) pour suivre automatiquement les métriques d’entraînement et d’évaluation, les hyperparamètres et les statistiques système lors du fine-tuning d’un modèle. En suivant ce tutoriel, vous apprendrez à visualiser les performances de votre modèle dans le tableau de bord [W\&B](https://wandb.ai/site) afin de comparer les expériences et d’itérer sur vos modèles en toute confiance.

Vous pouvez comparer les hyperparamètres, les métriques de sortie et les statistiques système, comme l’utilisation du GPU, entre vos modèles.

<div id="why-use-wb">
  ## Pourquoi utiliser W\&B
</div>

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-sa-registry-access/1P1kH_KSfXlzJI69/images/tutorials/huggingface-why.png?fit=max&auto=format&n=1P1kH_KSfXlzJI69&q=85&s=f9c9083386b0c0485a00830dcc4eb519" alt="Avantages de l’utilisation de W&B" width="4672" height="816" data-path="images/tutorials/huggingface-why.png" />
</Frame>

* **Tableau de bord unifié** : dépôt central pour toutes les métriques et prédictions de votre modèle.
* **Léger** : aucune modification du code n’est nécessaire pour l’intégrer à Hugging Face.
* **Accessible** : gratuit pour les particuliers et les équipes universitaires.
* **Sécurisé** : tous les projets sont privés par défaut.
* **Fiable** : utilisé par des équipes de machine learning chez OpenAI, Toyota, Lyft et bien d’autres.

W\&B fonctionne comme GitHub pour les modèles de machine learning. Enregistrez vos expériences de machine learning dans votre tableau de bord privé hébergé. Expérimentez en toute confiance : W\&B enregistre toutes les versions de vos modèles, quel que soit l’endroit où vous exécutez vos scripts.

Les intégrations légères de W\&B fonctionnent avec n’importe quel script Python. Inscrivez-vous pour obtenir un compte W\&B gratuit et commencer à suivre et à visualiser vos modèles.

Dans le dépôt Hugging Face Transformers, W\&B a instrumenté le Trainer pour journaliser automatiquement les métriques d’entraînement et d’évaluation vers W\&B à chaque étape de journalisation.

Voici un aperçu détaillé du fonctionnement de l’intégration : [Hugging Face + W\&B Report](https://app.wandb.ai/jxmorris12/huggingface-demo/reports/Train-a-model-with-Hugging-Face-and-Weights-%26-Biases--VmlldzoxMDE2MTU).

<div id="install-import-and-log-in">
  ## Installez, importez et connectez-vous
</div>

Cette section configure l’environnement nécessaire pour exécuter le tutoriel. Installez les bibliothèques Hugging Face et W\&B, puis téléchargez le dataset GLUE et le script d’entraînement pour ce tutoriel :

* [Hugging Face Transformers](https://github.com/huggingface/transformers) : modèles et datasets de traitement du langage naturel.
* [W\&B](/fr/) : suivi des expériences et visualisation.
* [GLUE dataset](https://gluebenchmark.com/) : dataset de référence pour la compréhension du langage.
* [GLUE script](https://raw.githubusercontent.com/huggingface/transformers/refs/heads/main/examples/pytorch/text-classification/run_glue.py) : script d’entraînement de modèle pour la classification de séquences.

```notebook theme={null}
!pip install datasets wandb evaluate accelerate -qU
!wget https://raw.githubusercontent.com/huggingface/transformers/refs/heads/main/examples/pytorch/text-classification/run_glue.py
```

```notebook theme={null}
# le script run_glue.py nécessite la version Dév de transformers
!pip install -q git+https://github.com/huggingface/transformers
```

Avant de continuer, vous devez [vous inscrire pour créer un compte gratuit](https://app.wandb.ai/login?signup=true). Un compte est requis pour envoyer les données de votre run à un tableau de bord W\&B.

<div id="add-your-api-key">
  ## Ajoutez votre clé API
</div>

L’authentification à l’aide de votre clé API associe ce notebook à votre compte W\&B, afin que les runs soient enregistrés dans vos projets. Après votre inscription, exécutez la cellule suivante et cliquez sur le lien pour obtenir votre clé API et authentifier ce notebook.

```python theme={null}
import wandb
wandb.login()
```

Si vous le souhaitez, vous pouvez définir des variables d'environnement pour personnaliser ce que W\&B journalise pendant l'entraînement. Par exemple, vous pouvez journaliser à la fois les gradients et les paramètres en définissant `WANDB_WATCH=all`. Voir le [guide d'intégration Hugging Face](/fr/models/integrations/huggingface/) pour la liste complète des options.

```python theme={null}
# Facultatif : journaliser à la fois les gradients et les paramètres
%env WANDB_WATCH=all
```

<div id="train-the-model">
  ## Entraîner le modèle
</div>

Une fois l’environnement configuré et l’authentification terminée, vous êtes prêt à démarrer un run d’entraînement. Ensuite, exécutez le script d’entraînement téléchargé [`run_glue.py`](https://huggingface.co/transformers/examples.html#glue) et constatez que l’entraînement est automatiquement suivi dans le tableau de bord W\&B. Ce script effectue le fine-tuning de BERT sur le Microsoft Research Paraphrase Corpus — des paires de phrases avec des annotations humaines indiquant si elles sont sémantiquement équivalentes.

```python theme={null}
%env WANDB_PROJECT=huggingface-demo
%env TASK_NAME=MRPC

!python run_glue.py \
  --model_name_or_path bert-base-uncased \
  --task_name $TASK_NAME \
  --do_train \
  --do_eval \
  --max_seq_length 256 \
  --per_device_train_batch_size 32 \
  --learning_rate 2e-4 \
  --num_train_epochs 3 \
  --output_dir /tmp/$TASK_NAME/ \
  --overwrite_output_dir \
  --logging_steps 50
```

<div id="visualize-results-in-the-dashboard">
  ## Visualisez les résultats dans le tableau de bord
</div>

Une fois l’entraînement lancé, vous pouvez surveiller les métriques en temps réel. Cliquez sur le lien affiché par la cellule précédente ou rendez-vous sur [wandb.ai](https://app.wandb.ai) pour voir vos résultats s’afficher en direct. Le lien pour voir votre run dans le navigateur apparaît une fois toutes les dépendances chargées. Recherchez la sortie suivante : "**wandb**: View run at \[URL to your unique run]"

<div id="visualize-model-performance">
  ### Visualisez les performances du modèle
</div>

Parcourez les expériences, zoomez sur les résultats intéressants et visualisez des données à forte dimensionnalité.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-sa-registry-access/1P1kH_KSfXlzJI69/images/tutorials/huggingface-visualize.gif?s=4773a71d8bf3502c0ab1292c559133ff" alt="Tableau de bord des métriques du modèle" width="1986" height="1420" data-path="images/tutorials/huggingface-visualize.gif" />
</Frame>

<div id="compare-architectures">
  ### Comparez les architectures
</div>

Voici un exemple comparant [BERT versus DistilBERT](https://app.wandb.ai/jack-morris/david-vs-goliath/reports/Does-model-size-matter%3F-Comparing-BERT-and-DistilBERT-using-Sweeps--VmlldzoxMDUxNzU). Les graphiques en courbes générés automatiquement montrent comment différentes architectures influencent la précision de l’évaluation tout au long de l’entraînement.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-sa-registry-access/1P1kH_KSfXlzJI69/images/tutorials/huggingface-comparearchitectures.gif?s=5dbf6cd6c35abf7cb41b9414a674c6bd" alt="Comparaison BERT versus DistilBERT" width="1638" height="878" data-path="images/tutorials/huggingface-comparearchitectures.gif" />
</Frame>

<div id="track-key-information-by-default">
  ## Suivre automatiquement les informations clés
</div>

Cette section décrit ce que W\&B capture automatiquement afin que vous sachiez quelles données sont disponibles dans votre tableau de bord sans configuration supplémentaire. W\&B enregistre un nouveau run pour chaque expérience. Voici les informations enregistrées par défaut :

* **Hyperparamètres** : W\&B enregistre les paramètres de votre modèle dans Config.
* **Métriques du modèle** : W\&B enregistre les données de séries temporelles des métriques envoyées à Log.
* **Journaux du terminal** : W\&B enregistre les sorties de la ligne de commande et les affiche dans un onglet.
* **Métriques système** : utilisation du GPU et du CPU, mémoire et température.

<div id="learn-more">
  ## En savoir plus
</div>

* [Guides pas à pas en vidéo sur YouTube](http://wandb.me/youtube)
