# Déploiement de LLM avec les tâches Hugging Face

Ce guide explique comment utiliser [Unsloth](https://github.com/unslothai/unsloth) et [Liquid LFM2.5](/docs/fr/modeles/tutorials/lfm2.5.md) pour un ajustement rapide de LLM via des agents de codage comme [Claude Code](/docs/fr/bases/claude-code.md). Unsloth offre un entraînement \~2x plus rapide et \~60% de VRAM en moins par rapport aux méthodes standard.

### Vous aurez besoin de

* Un(e) [Hugging Face](https://huggingface.co) compte (requis pour HF Jobs)
* Un jeton Hugging Face avec autorisations d'écriture
* Un agent de codage (Open Code, Claude Code, Codex)
* Lisez notre [Claude Code](/docs/fr/bases/claude-code.md) guide pour les configurer.

### Installation de la Skill

#### Claude Code

Claude Code découvre les skills via son [système de plugins](https://code.claude.com/docs/en/discover-plugins).

1. Ajoutez le marketplace :

```bash
/plugin marketplace add huggingface/skills
```

2. Parcourez les skills disponibles dans l'onglet **Découvrir** :

```bash
/plugin
```

3. Installez la skill de model trainer :

```bash
/plugin install hugging-face-model-trainer@huggingface-skills
```

Pour plus de détails, voyez les [docs des plugins Claude Code](https://code.claude.com/docs/en/discover-plugins) et les [docs des Skills](https://code.claude.com/docs/en/skills).

#### Codex

Codex découvre les skills via [`AGENTS.md`](https://developers.openai.com/codex/guides/agents-md) fichiers et [`.agents/skills/`](https://developers.openai.com/codex/skills) répertoires.

**Installez les skills individuellement avec `$skill-installer`**

{% code overflow="wrap" %}

```bash
$skill-installer install https://github.com/huggingface/skills/tree/main/skills/hugging-face-model-trainer
```

{% endcode %}

Pour plus de détails, voyez les [Docs des Codex Skills](https://developers.openai.com/codex/skills) et les [Guide AGENTS.md](https://developers.openai.com/codex/guides/agents-md).

### Démarrage rapide

Une fois la skill installée, demandez à votre agent de codage d'entraîner un modèle. Nous utilisons [Liquid LFM2.5](/docs/fr/modeles/tutorials/lfm2.5.md)

{% code overflow="wrap" %}

```
Entraîner LiquidAI/LFM2.5-1.2B-Instruct sur trl-lib/Capybara en utilisant Unsloth sur HF Jobs
```

{% endcode %}

L'agent générera un script d'entraînement basé sur un [exemple dans la skill](https://github.com/huggingface/skills/blob/main/skills/hugging-face-model-trainer/scripts/unsloth_sft_example.py), soumettra l'entraînement à HF Jobs et fournira un lien de surveillance via Trackio.

### Utilisation de Hugging Face Jobs

Les jobs d'entraînement s'exécuteront sur [Hugging Face Jobs](https://huggingface.co/docs/huggingface_hub/guides/jobs) — GPU cloud entièrement gérés. Si vous connaissez les crédits Google Colab, Hugging Face Jobs propose également un système de crédits similaire. C'est une structure Pay As You Go, ou vous pouvez obtenir des crédits à l'avance. L'agent :

1. Génère un script UV avec les dépendances en ligne
2. Le soumet à HF Jobs via le `hf` CLI
3. Signale l'ID du job et l'URL de surveillance
4. Le modèle entraîné est poussé vers votre dépôt sur Hugging Face Hub

#### Exemple de script d'entraînement

La skill génère des scripts comme celui-ci :

{% code expandable="true" %}

```py
# /// script
# dependencies = ["unsloth", "trl>=0.12.0", "datasets", "trackio"]
# ///

from unsloth import FastLanguageModel
from trl import SFTTrainer, SFTConfig
from datasets import load_dataset

model, tokenizer = FastLanguageModel.from_pretrained(
    "Qwen/Qwen2.5-0.5B",
    load_in_4bit=True,
    max_seq_length=2048,
)

model = FastLanguageModel.get_peft_model(
    model,
    r=16,
    lora_alpha=32,
    lora_dropout=0,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                    "gate_proj", "up_proj", "down_proj"],
)

dataset = load_dataset("trl-lib/Capybara", split="train")

trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=dataset,
    args=SFTConfig(
        output_dir="./output",
        push_to_hub=True,
        hub_model_id="username/my-model",
        per_device_train_batch_size=4,
        gradient_accumulation_steps=4,
        num_train_epochs=1,
        learning_rate=2e-4,
        report_to="trackio",
    ),
)

trainer.train()
trainer.push_to_hub()
```

{% endcode %}

Le coût de l'entraînement avec Hugging Face Jobs est ci-dessous :

| Taille du modèle | GPU recommandé | Coût approx./heure |
| ---------------- | -------------- | ------------------ |
| <1B paramètres   | `t4-small`     | \~$0.40            |
| 1-3B paramètres  | `t4-medium`    | \~$0.60            |
| 3-7B paramètres  | `a10g-small`   | \~$1.00            |
| 7-13B paramètres | `a10g-large`   | \~$3.00            |

Pour un aperçu complet des tarifs des espaces Hugging Face, consultez le guide [ici](https://huggingface.co/docs/hub/en/spaces-overview#hardware-resources).

### Conseils pour travailler avec des agents de codage

* Soyez précis sur le modèle et le jeu de données à utiliser et incluez les ID du Hub (par ex., `Qwen/Qwen2.5-0.5B`, `trl-lib/Capybara`). Les agents rechercheront et valideront ces combinaisons.
* Mentionnez explicitement Unsloth si vous souhaitez qu'il soit utilisé. Sinon, l'agent choisira le framework en fonction du modèle et du budget.
* Demandez des estimations de coûts avant de lancer de gros jobs
* Demandez la surveillance Trackio pour des courbes de perte en temps réel
* Vérifiez le statut du job en demandant à l'agent d'inspecter les logs après la soumission

### Ressources

* [Répertoire Hugging Face Skills](https://github.com/huggingface/skills)

{% embed url="<https://youtu.be/Gh5P4niIFNA>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://unsloth.ai/docs/fr/bases/inference-and-deployment/deploying-llms-with-hugging-face-jobs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
