> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/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 journalisant 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>
    Try in 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 pendant le fine-tuning d’un modèle. Vous apprendrez également à visualiser les performances de votre modèle dans le tableau de bord [W\&B](https://wandb.ai/site), afin de comparer vos expériences et de faire évoluer 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, d’un modèle à l’autre.

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

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/huggingface-why.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=7bc6de71cf51f9fd1c36822fb2d250c2" alt="Avantages de W&B" width="4672" height="816" data-path="products/wandb/_media/huggingface-why.png" />
</Frame>

* **Tableau de bord unifié** : un dépôt central pour toutes les métriques et prédictions de vos modèles.
* **Léger** : aucune modification de code n’est nécessaire pour l’intégration avec Hugging Face.
* **Accessible** : gratuit pour les particuliers et les équipes académiques.
* **Sécurisé** : tous les projets sont privés par défaut.
* **Éprouvé** : utilisé par les équipes de machine learning d’OpenAI, Toyota, Lyft et bien d’autres.

W\&B est en quelque sorte le GitHub des modèles de machine learning. Enregistrez vos expériences de machine learning dans votre tableau de bord privé et 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. Créez un compte W\&B gratuit pour commencer à suivre et à visualiser vos modèles.

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

Pour découvrir en détail le fonctionnement de l’intégration, consultez ce [Hugging Face + W\&B Report](https://forge.coreweave.com/wandb/jxmorris12/huggingface-demo/reports/Train-a-model-with-Hugging-Face-and-Weights-%26-Biases--VmlldzoxMDE2MTU).

<h2 id="install-import-and-log-in">
  Installer, importer et se connecter
</h2>

Cette section permet de configurer l’environnement nécessaire pour suivre ce tutoriel. Installez les bibliothèques Hugging Face et W\&B, puis téléchargez le jeu de données GLUE et le script d’entraînement utilisés dans ce tutoriel :

* [Hugging Face Transformers](https://github.com/huggingface/transformers) : modèles et jeux de données de traitement du langage naturel.
* [W\&B](/fr/forge-home) : suivi des expériences et visualisation.
* [Jeu de données GLUE](https://gluebenchmark.com/) : jeu de données de référence pour l’évaluation de la compréhension du langage.
* [Script GLUE](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={"system"}
!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={"system"}
# le script run_glue.py nécessite la version de 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://id.coreweave.com/signup). Un compte est requis pour envoyer les données de votre run vers un tableau de bord W\&B.

<h2 id="add-your-api-key">
  Ajouter votre clé API
</h2>

En vous authentifiant avec votre clé API, vous associez ce notebook à votre compte W\&B afin que vos runs soient journalisés dans vos projets. Une fois inscrit, exécutez la cellule suivante, puis cliquez sur le lien pour obtenir votre clé API et authentifier ce notebook.

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

Vous pouvez également définir des variables d’environnement pour personnaliser les données que W\&B journalise pendant l’entraînement. Par exemple, pour journaliser à la fois les gradients et les paramètres, définissez `WANDB_WATCH=all`. Consultez le [guide d’intégration Hugging Face](/fr/products/wandb/integrations/huggingface) pour obtenir la liste complète des options.

```python theme={"system"}
# Facultatif : journaliser les gradients et les paramètres
%env WANDB_WATCH=all
```

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

Une fois l'environnement configuré et l'authentification effectuée, vous pouvez lancer un run d'entraînement. Exécutez le script d'entraînement téléchargé [`run_glue.py`](https://huggingface.co/transformers/examples.html#glue) : 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 accompagnées d'annotations humaines indiquant si elles sont sémantiquement équivalentes).

```python theme={"system"}
%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
```

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

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 accédez à [wandb.ai](https://app.wandb.ai) pour voir vos résultats arriver en direct. Le lien permettant d’afficher votre run dans le navigateur apparaît une fois toutes les dépendances chargées. Repérez la sortie suivante : « **wandb**: View run at \[URL to your unique run] »

<h3 id="visualize-model-performance">
  Visualiser les performances du modèle
</h3>

Comparez vos expériences, examinez vos résultats en détail et visualisez des données de grande dimension.

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/huggingface-visualize.gif?s=ae9650edbb25cb78139b0d97ec1cd51c" alt="Tableau de bord des métriques du modèle" width="1986" height="1420" data-path="products/wandb/_media/huggingface-visualize.gif" />
</Frame>

<h3 id="compare-architectures">
  Comparer des architectures
</h3>

Voici un exemple de comparaison entre [BERT et DistilBERT](https://forge.coreweave.com/wandb/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 l’influence des différentes architectures sur la précision d’évaluation tout au long de l’entraînement.

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/huggingface-comparearchitectures.gif?s=ab50cf164f6be8a735a5b2fb106d8058" alt="Comparaison entre BERT et DistilBERT" width="1638" height="878" data-path="products/wandb/_media/huggingface-comparearchitectures.gif" />
</Frame>

<h2 id="track-key-information-by-default">
  Suivre les informations clés par défaut
</h2>

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 séries temporelles des métriques transmises en continu à 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.

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

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