> ## 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.

> Comment intégrer W&B à la bibliothèque Transformers de Hugging Face.

# Hugging Face Simple Transformers

Cette page explique comment intégrer Weights & Biases (W\&B) à Simple Transformers afin de visualiser et de suivre l’entraînement de modèles Transformer. Vous y apprendrez à activer la journalisation W\&B depuis un modèle Simple Transformers et découvrirez où trouver des exemples pour les tâches de NLP courantes.

Simple Transformers est basé sur la bibliothèque Transformers de Hugging Face et vous permet d’entraîner et d’évaluer des modèles Transformer. Trois lignes de code suffisent pour initialiser un modèle, l’entraîner et l’évaluer. La bibliothèque prend en charge la classification de séquences, la classification de jetons (NER), les questions-réponses, le fine-tuning de modèles de langage, l’entraînement de modèles de langage, la génération de langage, le modèle T5, les tâches Seq2Seq, la classification multimodale et l’IA conversationnelle.

Pour visualiser l’entraînement des modèles avec W\&B, définissez un nom de projet W\&B dans l’attribut `wandb_project` du dictionnaire `args`. Toutes les valeurs des hyperparamètres, les pertes d’entraînement et les métriques d’évaluation sont alors journalisées dans le projet indiqué.

```python theme={"system"}
model = ClassificationModel('roberta', 'roberta-base', args={'wandb_project': 'project-name'})
```

Vous pouvez transmettre tout argument supplémentaire accepté par `wandb.init()` via `wandb_kwargs`.

<h2 id="structure">
  Structure
</h2>

La section suivante décrit comment Simple Transformers organise ses classes, afin que vous sachiez quel module importer pour une tâche donnée. La bibliothèque est conçue pour proposer une classe distincte par tâche de NLP. Les classes qui fournissent des fonctionnalités similaires sont regroupées.

* `simpletransformers.classification` - Contient tous les modèles de classification.
  * `ClassificationModel`
  * `MultiLabelClassificationModel`
* `simpletransformers.ner` - Contient tous les modèles de reconnaissance d’entités nommées.
  * `NERModel`
* `simpletransformers.question_answering` - Contient tous les modèles de questions-réponses.
  * `QuestionAnsweringModel`

Les sections suivantes présentent des exemples minimaux pour deux tâches courantes et montrent comment activer la journalisation W\&B à l’aide de l’argument `wandb_project`.

<h2 id="multi-label-classification">
  Classification multi-étiquette
</h2>

```python theme={"system"}
  model = MultiLabelClassificationModel("distilbert","distilbert-base-uncased",num_labels=6,
    args={"reprocess_input_data": True, "overwrite_output_dir": True, "num_train_epochs":epochs,'learning_rate':learning_rate,
                'wandb_project': "simpletransformers"},
  )
   # Entraîner le modèle
  model.train_model(train_df)

  # Évaluer le modèle
  result, model_outputs, wrong_predictions = model.eval_model(eval_df)
```

<h2 id="question-answering">
  Questions-réponses
</h2>

```python theme={"system"}
  train_args = {
    'learning_rate': wandb.config.learning_rate,
    'num_train_epochs': 2,
    'max_seq_length': 128,
    'doc_stride': 64,
    'overwrite_output_dir': True,
    'reprocess_input_data': False,
    'train_batch_size': 2,
    'fp16': False,
    'wandb_project': "simpletransformers"
}

model = QuestionAnsweringModel('distilbert', 'distilbert-base-cased', args=train_args)
model.train_model(train_data)
```

<h2 id="global-arguments">
  Arguments globaux
</h2>

SimpleTransformers fournit des classes ainsi que des scripts d’entraînement pour toutes les tâches courantes de traitement du langage naturel. Voici la liste complète des arguments globaux pris en charge par la bibliothèque, avec leurs valeurs par défaut. Référez-vous à cette liste si vous souhaitez personnaliser le comportement de l’entraînement au-delà des options propres à W\&B présentées plus haut.

```python theme={"system"}
global_args = {
  "adam_epsilon": 1e-8,
  "best_model_dir": "outputs/best_model",
  "cache_dir": "cache_dir/",
  "config": {},
  "do_lower_case": False,
  "early_stopping_consider_epochs": False,
  "early_stopping_delta": 0,
  "early_stopping_metric": "eval_loss",
  "early_stopping_metric_minimize": True,
  "early_stopping_patience": 3,
  "encoding": None,
  "eval_batch_size": 8,
  "evaluate_during_training": False,
  "evaluate_during_training_silent": True,
  "evaluate_during_training_steps": 2000,
  "evaluate_during_training_verbose": False,
  "fp16": True,
  "fp16_opt_level": "O1",
  "gradient_accumulation_steps": 1,
  "learning_rate": 4e-5,
  "local_rank": -1,
  "logging_steps": 50,
  "manual_seed": None,
  "max_grad_norm": 1.0,
  "max_seq_length": 128,
  "multiprocessing_chunksize": 500,
  "n_gpu": 1,
  "no_cache": False,
  "no_save": False,
  "num_train_epochs": 1,
  "output_dir": "outputs/",
  "overwrite_output_dir": False,
  "process_count": cpu_count() - 2 if cpu_count() > 2 else 1,
  "reprocess_input_data": True,
  "save_best_model": True,
  "save_eval_checkpoints": True,
  "save_model_every_epoch": True,
  "save_steps": 2000,
  "save_optimizer_and_scheduler": True,
  "silent": False,
  "tensorboard_dir": None,
  "train_batch_size": 8,
  "use_cached_eval_features": False,
  "use_early_stopping": False,
  "use_multiprocessing": True,
  "wandb_kwargs": {},
  "wandb_project": None,
  "warmup_ratio": 0.06,
  "warmup_steps": 0,
  "weight_decay": 0,
}
```

<h2 id="additional-resources">
  Ressources supplémentaires
</h2>

Pour une documentation plus détaillée, référez-vous à [simpletransformers sur GitHub](https://github.com/ThilinaRajapakse/simpletransformers).

Voir [Using simpleTransformer on common NLP applications](https://forge.coreweave.com/wandb/cayush/simpletransformers/reports/Using-simpleTransformer-on-common-NLP-applications---Vmlldzo4Njk2NA), un W\&B Report consacré à l’entraînement de transformers sur plusieurs des jeux de données les plus populaires du benchmark GLUE. [Essayez-le vous-même sur Colab](https://colab.research.google.com/drive/1oXROllqMqVvBFcPgTKJRboTq96uWuqSz?usp=sharing).
