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

# Post-addestrare modelli personalizzati con Devin e Modal

> Esegui il post-addestramento di un modello personalizzato con Devin su un outpost GPU di Modal: esegui il fine-tuning di una LoRA FLUX, distribuiscila come endpoint Modal e rilasciala in una PR

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

Devin esegue il post-addestramento di una LoRA FLUX su una GPU Modal, distribuisce il checkpoint migliore e lo aggiunge a un'app di chat

Devin funziona ovunque debba essere eseguito il job. Con [Devin Outposts](/it/cloud/outposts/overview), una sessione può essere eseguita sulla tua infrastruttura o su una piattaforma partner; in questo caso viene eseguita in una sandbox GPU di [Modal](https://modal.com/docs/devin), così lo stesso Devin che scrive il tuo codice può addestrare, valutare e distribuire un modello dall'inizio alla fine. In questo tutorial Devin esegue il fine-tuning di una LoRA FLUX su 18 immagini di lontre, così che il prompt "Devin the software engineer" generi una lontra; poi la distribuisce come endpoint Modal e la aggiunge al selettore del modello di un'app di chat.

## Prima di iniziare

* **Crea un outpost Modal**: esegui `uvx modal-devin init` e scegli una GPU per l'app Modal generata. Consulta [Esegui Devin su Modal](https://modal.com/docs/devin) e la [guida rapida di Outposts](/it/cloud/outposts/quickstart.md).
* **Collega il tuo repository**: quello dell'app a cui vuoi collegare il modello. Nel video viene usata un'app di chat demo privata con un selettore del modello di immagini, il cui checkout viene eseguito su un Modal Volume persistente. Non hai un'app? Chiedi prima a Devin di crearne una (ad esempio, `build a simple chat app with a model picker that calls an image generation endpoint`), oppure fai a meno dell'app e lascia che Devin si limiti ad addestrare e distribuire il modello.
* **Prepara i dati di addestramento**: aggiungi immagini con didascalia al repository o a un Modal Volume montato dall'outpost. L'esempio usa 18 immagini di lontre in stile cartone animato con didascalie come "Devin the software engineer in a data center".
* **Aggiungi i segreti**: salva la tua chiave di Weights & Biases in [Impostazioni > Segreti](https://app.devin.ai/settings/secrets). La sandbox Modal dispone già delle credenziali Modal, quindi Devin può distribuire gli endpoint senza configurazioni aggiuntive.
* **Imposta regole per i run lunghi**: aggiungi [regole dell'organizzazione](/it/product-guides/plugins.md#rules) (o inseriscile nel prompt), ad esempio: pubblicare un aggiornamento sui progressi ogni 15 minuti, generare immagini di convalida a ogni checkpoint e includere il collegamento all'anteprima in ogni PR.
* **Collega Slack** (facoltativo): i run di addestramento durano ore, quindi [sincronizza la sessione con un thread di Slack](/it/integrations/slack.md#sync-sessions-with-slack-threads) per seguirne l'avanzamento.

## Passaggio 1: Avvia una sessione sull'outpost

Apri [Devin](https://app.devin.ai/), seleziona il tuo outpost Modal dal menu **Virtual environment** sotto la casella del prompt e attiva il toggle di Slack nel compositore. Verifica l'hardware:

```text theme={null}
dimmi di più sul tuo ambiente
```

Devin rileva una GPU NVIDIA B200 con PyTorch e diffusers installati, e il progetto su un Modal Volume persistente.

## Passaggio 2: Verificare i dati di addestramento

```text theme={null}
ehi devin mostrami le immagini che sto usando per l'apprendimento supervisionato
```

Devin individua il dataset nel progetto e pubblica le 18 immagini, con le relative didascalie, nella sessione e nel thread di Slack.

## Passaggio 3: Avvia il run di addestramento

```text theme={null}
esegui il post-training di flux per creare il modello otterimage 1.0. quando hai finito, aggiungi otterimage al selettore del modello in otterchat
```

`otterchat` è l'app demo mostrata nel video; usa il nome del tuo repository.

Devin esegue il job in autonomia, seguendo le regole indicate sopra:

1. **Addestra la LoRA**: circa 1.000 step, registrati su Weights & Biases, con render di convalida ogni 100 step.
2. **Aggiorna su Slack**: invia i progressi ogni 15 minuti insieme ai render più recenti. I primi render mostrano esseri umani; la lontra compare man mano che l'addestramento prosegue.
3. **Sceglie il checkpoint migliore**: lo step 700, poiché gli step 900 e 1.000 mostravano segni di overfitting.
4. **Distribuisce e rilascia**: serve lo step 700 come endpoint serverless su Modal, aggiunge `otterimage 1.0` al selettore del modello dell'app di chat, [registra](/it/work-with-devin/testing-and-recordings.md) un test end-to-end e apre una PR con un collegamento di anteprima.

![Griglia di immagini di convalida a ogni checkpoint](https://mintcdn.com/cognitionai-enterprise/lI6J3knrFHRXaW6-/images/tutorial-library/post-training-validation.png?fit=max\&auto=format\&n=lI6J3knrFHRXaW6-\&q=85\&s=508dd2b263df31cecb698f97fac2f4a0)

Render di convalida dallo step 500 allo step 1.000

## Passaggio 4: Prova il modello

Apri il collegamento di anteprima nella PR e chiedi di generare un'immagine:

```text theme={null}
genera un'immagine di devin, l'ingegnere software, che mangia spaghetti
```

![L'app di chat che restituisce una lontra cartoon che mangia spaghetti](https://mintcdn.com/cognitionai-enterprise/lI6J3knrFHRXaW6-/images/tutorial-library/post-training-otterchat.png?fit=max\&auto=format\&n=lI6J3knrFHRXaW6-\&q=85\&s=01d56500b347f5fdddde6dbb5e075fba)

Con lo stesso prompt, un modello di generazione di immagini generico restituisce invece un essere umano.

## Passaggio 5: Itera con le sessioni figlie

Il post-addestramento raramente si esaurisce in un solo run. Fornisci a Devin un paper e lascia che sperimenti le alternative in parallelo:

```text theme={null}
https://arxiv.org/pdf/2309.14859v2 avvia delle sottosessioni che addestrino otterimage con le altre tecniche elencate in questo paper, oltre a lora
```

Devin aggiunge i nuovi metodi allo script di addestramento in una PR e avvia tre [sessioni figlie](/it/work-with-devin/advanced-capabilities.md#managed-devins) sull'outpost: una per LoHa, una per LoKr e una per il fine-tuning nativo.

![Sessione di Devin che mostra tre sessioni figlie per LoHa, LoKr e il fine-tuning nativo](https://mintcdn.com/cognitionai-enterprise/lI6J3knrFHRXaW6-/images/tutorial-library/post-training-child-sessions.png?fit=max\&auto=format\&n=lI6J3knrFHRXaW6-\&q=85\&s=e000e44ded334420c7438f429503771b)

## Passaggi successivi

> **[Esegui Devin su Modal](https://modal.com/docs/devin)**
>
> Crea un outpost basato su Modal con GPU, Volumes e Secrets

> **[Devin Outposts](/it/cloud/outposts/overview)**
>
> Esegui le sessioni sulla tua infrastruttura o su una piattaforma partner

> **[Integrazione con Slack](/it/integrations/slack.md)**
>
> Segui le sessioni di lunga durata da un thread di Slack

> **[Devin gestiti](/it/work-with-devin/advanced-capabilities.md#managed-devins)**
>
> Avvia e monitora sessioni figlie per eseguire esperimenti in parallelo


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