> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/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" />

Visualisez rapidement les performances de votre modèle [Hugging Face](https://github.com/huggingface/transformers) grâce à une intégration fluide avec [W\&B](https://wandb.ai/site).

Comparez 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-should-i-use-wb">
  ## Pourquoi utiliser W\&B ?
</div>

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541/_OEDykSS2PIumrEw/images/tutorials/huggingface-why.png?fit=max&auto=format&n=_OEDykSS2PIumrEw&q=85&s=06138cad556d6b611c67d197c0406e85" 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 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

Considérez W\&B comme 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 rapidement en ayant l'assurance que toutes les versions de vos modèles sont enregistrées, où que vous exécutiez vos scripts.

Les intégrations légères de W\&B fonctionnent avec n'importe quel script Python, et il vous suffit de créer gratuitement un compte W\&B pour commencer à suivre et visualiser vos modèles.

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

Voici un aperçu détaillé du fonctionnement de l'intégration : [Rapport Hugging Face + W\&B](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">
  ## Installer, importer et se connecter
</div>

Installez les bibliothèques Hugging Face et W\&B, ainsi que le jeu de données GLUE et le script d'entraînement nécessaires pour ce tutoriel.

* [Hugging Face Transformers](https://github.com/huggingface/transformers): Modèles et jeux de données pour le traitement du langage naturel
* [W\&B](/fr/): Suivi des expériences et visualisation
* [GLUE dataset](https://gluebenchmark.com/): Jeu de données 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 du 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 transformers dev
!pip install -q git+https://github.com/huggingface/transformers
```

Avant de continuer, [inscrivez-vous pour obtenir un compte gratuit](https://app.wandb.ai/login?signup=true).

<div id="put-in-your-api-key">
  ## Saisissez votre clé API
</div>

Une fois votre inscription terminée, exécutez la cellule suivante, puis cliquez sur le lien pour obtenir votre clé API et authentifier ce notebook.

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

Vous pouvez, si vous le souhaitez, définir des variables d’environnement pour personnaliser le logging de W\&B. Voir le [guide d’intégration Hugging Face](/fr/models/integrations/huggingface/).

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

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

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-dashboard">
  ## Visualisez les résultats dans le tableau de bord
</div>

Cliquez sur le lien affiché ci-dessus 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îtra une fois toutes les dépendances chargées. Recherchez la sortie suivante : "**wandb**: View run at \[URL to your unique run]"

**Visualisez les performances du modèle**
Il est facile de parcourir des dizaines d’expériences, de zoomer sur les résultats intéressants et de visualiser des données à forte dimensionnalité.

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

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

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541/_OEDykSS2PIumrEw/images/tutorials/huggingface-comparearchitectures.gif?s=3f05edccc9d0b0bac66b0dd0fea3fa1d" alt="Comparaison BERT vs DistilBERT" width="1638" height="878" data-path="images/tutorials/huggingface-comparearchitectures.gif" />
</Frame>

<div id="track-key-information-effortlessly-by-default">
  ## Suivez automatiquement les informations essentielles
</div>

W\&B enregistre un nouveau run pour chaque expérience. Voici les informations enregistrées par défaut :

* **Hyperparamètres** : les paramètres de votre modèle sont enregistrés dans Config
* **Métriques du modèle** : les séries temporelles de métriques reçues en continu sont enregistrées dans Log
* **Journaux du terminal** : les sorties de la ligne de commande sont enregistrées et disponibles dans un onglet
* **Métriques système** : utilisation du GPU et du CPU, mémoire, température, etc.

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

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