> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Post-entraîner des modèles personnalisés avec Devin et Modal

> Post-entraînez un modèle personnalisé avec Devin sur un outpost GPU Modal : affinez un LoRA FLUX, déployez-le comme endpoint Modal et livrez-le dans une PR

<video controls width="100%" playsInline>
  <source src="https://mintcdn.com/cognitionai/4bg4JipkvpdMh6Vh/images/tutorial-library/post-training-walkthrough.mp4?fit=max&auto=format&n=4bg4JipkvpdMh6Vh&q=85&s=773df1824a5bb9ca12eb645564da0df8" type="video/mp4" />
</video>

Devin post-entraîne un LoRA FLUX sur un GPU Modal, déploie le meilleur checkpoint et l’intègre à une application de chat

Devin s’exécute là où la tâche l’exige. Avec [Devin Outposts](/fr/cloud/outposts/overview), une session peut tourner sur votre propre infrastructure ou sur une plateforme partenaire ; ici, elle s’exécute dans une sandbox GPU [Modal](https://modal.com/docs/devin) : le même Devin qui écrit votre code peut ainsi entraîner, évaluer et déployer un modèle de bout en bout. Dans ce tutoriel, Devin affine un LoRA FLUX sur 18 images de loutres pour que « Devin the software engineer » soit représenté sous les traits d’une loutre, le déploie comme endpoint Modal, puis l’ajoute au sélecteur de modèles d’une application de chat.

## Avant de commencer

* **Créer un outpost Modal** : exécutez `uvx modal-devin init` et choisissez un GPU pour l'application Modal générée. Consultez [Exécuter Devin sur Modal](https://modal.com/docs/devin) et le [démarrage rapide d'Outposts](/fr/cloud/outposts/quickstart.md).
* **Connecter votre dépôt** : l'application dans laquelle vous souhaitez intégrer le modèle. La vidéo utilise une application de chat de démonstration privée dotée d'un sélecteur de modèles d'image, dont le checkout est effectué sur un Modal Volume persistant. Vous n'avez pas d'application ? Demandez d'abord à Devin d'en créer une (par exemple, `build a simple chat app with a model picker that calls an image generation endpoint`), ou laissez de côté l'application et demandez simplement à Devin d'entraîner et de déployer le modèle.
* **Préparer vos données d'entraînement** : ajoutez des images légendées au dépôt ou à un Modal Volume monté par l'outpost. L'exemple utilise 18 images de loutres façon dessin animé, avec des légendes comme « Devin the software engineer in a data center ».
* **Ajouter des secrets** : enregistrez votre clé Weights & Biases dans [Paramètres > Secrets](https://app.devin.ai/settings/secrets). La sandbox Modal dispose déjà des credentials Modal : Devin peut donc déployer des endpoints sans configuration supplémentaire.
* **Définir des règles pour les longues exécutions** : ajoutez des [règles d'organisation](/fr/product-guides/plugins.md#rules) (ou intégrez-les au prompt), par exemple : publier un point d'avancement toutes les 15 minutes, générer des images de validation à chaque checkpoint et inclure le lien d'aperçu dans chaque PR.
* **Connecter Slack** (facultatif) : les exécutions d'entraînement durent plusieurs heures ; [synchronisez la session avec un thread Slack](/fr/integrations/slack.md#sync-sessions-with-slack-threads) pour en suivre l'avancement.

## Étape 1 : Démarrer une session sur l'outpost

Ouvrez [Devin](https://app.devin.ai/), sélectionnez votre outpost Modal dans le menu **Virtual environment** situé sous la zone de prompt, puis activez l'option Slack dans le composer. Vérifiez le matériel :

```text theme={null}
parle-moi de ton environnement
```

Devin indique disposer d'un GPU NVIDIA B200 avec PyTorch et diffusers installés, ainsi que du projet sur un Modal Volume persistant.

## Étape 2 : Vérifier les données d'entraînement

```text theme={null}
hey devin montre-moi les images que j'utilise pour l'apprentissage supervisé
```

Devin trouve le jeu de données dans le projet et publie les 18 images avec leur légende dans la session et dans le thread Slack.

## Étape 3 : Lancer l'exécution de l'entraînement

```text theme={null}
effectue le post-entraînement de flux pour créer le modèle otterimage 1.0. une fois que c'est fait, ajoute otterimage au sélecteur de modèles dans otterchat
```

`otterchat` est l'application de démonstration présentée dans la vidéo ; utilisez le nom de votre propre dépôt.

Devin mène la tâche en toute autonomie, en suivant les règles ci-dessus :

1. **Entraîne le LoRA** : environ 1 000 étapes, consignées dans Weights & Biases, avec des rendus de validation toutes les 100 étapes.
2. **Rend compte dans Slack** : un point d'avancement toutes les 15 minutes avec les derniers rendus. Les premiers rendus montrent des humains ; la loutre apparaît au fil de l'entraînement.
3. **Choisit le meilleur checkpoint** : l'étape 700, car les étapes 900 et 1 000 présentaient des signes de surapprentissage.
4. **Déploie et livre** : expose l'étape 700 sous forme d'endpoint Modal serverless, ajoute `otterimage 1.0` au sélecteur de modèles de l'application de chat, [enregistre](/fr/work-with-devin/testing-and-recordings.md) un test de bout en bout et ouvre une PR avec un lien d'aperçu.

![Grille d'images de validation à chaque checkpoint](https://mintcdn.com/cognitionai/4bg4JipkvpdMh6Vh/images/tutorial-library/post-training-validation.png?fit=max\&auto=format\&n=4bg4JipkvpdMh6Vh\&q=85\&s=7da45a563e1c6d538643483e75601a74)

Rendus de validation de l'étape 500 à l'étape 1 000

## Étape 4 : Tester le modèle

Ouvrez le lien d'aperçu indiqué dans la PR et demandez une image :

```text theme={null}
génère une image de devin, l'ingénieur logiciel, en train de manger des spaghettis
```

![L'application de chat renvoyant une loutre de dessin animé en train de manger des spaghettis](https://mintcdn.com/cognitionai/4bg4JipkvpdMh6Vh/images/tutorial-library/post-training-otterchat.png?fit=max\&auto=format\&n=4bg4JipkvpdMh6Vh\&q=85\&s=e7a6d33991a5cd2089bebc64857f98ec)

Avec le même prompt, un modèle de génération d'images généraliste renvoie un humain.

## Étape 5 : Itérer avec des sessions enfants

Le post-entraînement se limite rarement à une seule exécution. Confiez un article de recherche à Devin et laissez-le explorer les différentes pistes en parallèle :

```text theme={null}
https://arxiv.org/pdf/2309.14859v2 lance des sous-sessions qui entraînent otterimage avec les autres techniques présentées dans cet article, hormis lora
```

Devin ajoute les nouvelles méthodes au script d'entraînement dans une PR, puis lance trois [sessions enfants](/fr/work-with-devin/advanced-capabilities.md#managed-devins) sur l'outpost : une pour LoHa, une pour LoKr et une pour le fine-tuning natif.

![Session de Devin affichant trois sessions enfants pour LoHa, LoKr et le fine-tuning natif](https://mintcdn.com/cognitionai/4bg4JipkvpdMh6Vh/images/tutorial-library/post-training-child-sessions.png?fit=max\&auto=format\&n=4bg4JipkvpdMh6Vh\&q=85\&s=8892cdce447e15e95fc4a01187f6af09)

## Étapes suivantes

> **[Exécuter Devin sur Modal](https://modal.com/docs/devin)**
>
> Créez un outpost reposant sur Modal avec des GPU, des Volumes et des Secrets

> **[Devin Outposts](/fr/cloud/outposts/overview)**
>
> Exécutez des sessions sur votre propre infrastructure ou sur une plateforme partenaire

> **[Intégration Slack](/fr/integrations/slack.md)**
>
> Suivez les sessions de longue durée depuis un thread Slack

> **[Devins gérés](/fr/work-with-devin/advanced-capabilities.md#managed-devins)**
>
> Lancez et supervisez des sessions enfants pour mener des expérimentations en parallèle


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.