Concetti chiave per il training interattivo (anteprima) in Microsoft Foundry

Importante

Gli elementi contrassegnati come anteprima in questo articolo sono attualmente in anteprima. Questa anteprima viene fornita senza un contratto di servizio e Microsoft non lo consiglia per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero avere funzionalità limitate. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.

Importante

Il training interattivo richiede l'approvazione esplicita dell'accesso. Richiedi l'accesso tramite il modulo di registrazione alla preview e attendi l'approvazione prima di creare una sessione di training.

Il training interattivo consente al programma di controllare le modalità di apprendimento di un modello mentre Microsoft Foundry esegue il modello. Il programma, detto anche driver di training, sceglie gli esempi, valuta le risposte e decide quando aggiornare il modello.

I concetti seguenti illustrano in che modo le parti di un ciclo di training si integrano. Per informazioni dettagliate sul codice e sull'implementazione, vedere la guida rapida dell'SDK.

Sessioni di formazione

Una sessione di training contiene il modello e lo stato di avanzamento del training corrente durante l'esecuzione dell'esperimento. Il driver richiede singole operazioni, ad esempio la generazione di risposte o l'applicazione di un aggiornamento.

Una sessione ha uno scopo diverso da un processo gestito o una distribuzione gestita:

Resource Purpose
Sessione di formazione interattiva Il programma controlla il ciclo di training un'operazione alla volta.
Processo di fine-tuning gestito Il servizio esegue un flusso di lavoro di training predefinito in base ai dati e alle impostazioni che fornisci.
Deployment del servizio Un modello sottoposto a training risponde alle richieste da un'applicazione.

Il driver mantiene attiva la sessione durante l'esecuzione dell'esperimento. Lo stato di avanzamento mantenuto solo nella sessione non è un record durevole; un checkpoint di training completato lo mantiene.

Adattatori LoRA

Un modello di base è il modello con cui si inizia. I suoi pesi sono i valori appresi che ne modellano il comportamento.

Un adattatore LoRA (Low Rank Adaptation) è un piccolo set di pesi addestrabili aggiunti al modello di base. Il training modifica l'adattatore anziché ripetere il training di tutti i pesi originali del modello.

L'adapter contiene le informazioni che il tuo esperimento apprende. Rimane legato a un modello di base compatibile; non è una sostituzione autonoma per tale modello.

Per informazioni dettagliate sull'implementazione, vedere Creare una sessione.

Livelli di formazione

Un livello di training descrive l'opzione del servizio usata per eseguire il training. I livelli possono variare in base a dove viene eseguito il training, a come viene fornita la capacità e alle garanzie di servizio applicabili.

Le opzioni disponibili dipendono dal modello, dall'area geografica e dal progetto. I livelli di training sono separati dalle opzioni di deployment usate per servire un modello addestrato. Vedi Tipi di formazione.

Formattazione dei messaggi

I messaggi devono essere convertiti in una forma che il modello selezionato comprende. Questo formato distingue anche le richieste degli utenti, le risposte dell'assistente e le informazioni restituite dagli strumenti.

  • I token sono piccole unità di testo, ad esempio parole o parti di parola, che il modello legge e genera.
  • Un tokenizer converte il testo in token e i token di nuovo in testo.
  • Un modello di chat organizza i messaggi in modo che il modello possa distinguere gli interlocutori e riconoscere dove inizia una risposta.
  • Un renderer prepara i messaggi nel formato del modello e converte le risposte generate in contenuto leggibile.

Modelli diversi possono usare formati di messaggio diversi. La formattazione coerente consente al programma di training di identificare quali parti di un'interazione devono contribuire all'apprendimento.

L'addestramento basato su immagini richiede anche un modello vision-language compatibile e il supporto per l'addestramento su immagini per il progetto. Un formattatore di messaggi che riconosce le immagini non implica che sia disponibile un addestramento per esse.

Ciclo di addestramento

Il training interattivo separa la generazione di risposte, il calcolo dei segnali di apprendimento e l'applicazione degli aggiornamenti. Il driver combina queste operazioni in un flusso di lavoro.

Operation Che cosa significa
Campionamento Il modello genera risposte da uno snapshot selezionato dell'adattatore.
Passaggio forward Il modello elabora esempi in modo da poter misurare la perdita o esaminare i segnali di apprendimento senza accumulare modifiche per un aggiornamento.
Calcolo del gradiente Il training calcola il modo in cui i pesi dell'adattatore possono cambiare per migliorare l'obiettivo di apprendimento.
Aggiornamento di Optimizer L'ottimizzatore applica i gradienti accumulati per modificare l'adattatore.
Valutazione Il modello misura le prestazioni su esempi tenuti separati dall'addestramento.

I gradienti descrivono le potenziali modifiche apportate all'adapter. Un ottimizzatore trasforma tali gradienti in un aggiornamento. Il calcolo dei gradienti non comporta la modifica dell'adattatore in modo autonomo.

Diversi set di esempi possono contribuire con gradienti a un unico aggiornamento. Dopo un aggiornamento, il campionamento richiede uno snapshot aggiornato per usare lo stato appreso più recente dell'adapter.

La valutazione usa esempi di hold-out, che non vengono usati per il training, per controllare le prestazioni sull'attività che ti interessa. Una perdita di training inferiore o una ricompensa di training superiore da sola non indica prestazioni migliori.

Per le operazioni corrispondenti nel codice, vedere il cheat sheet dell'SDK.

Funzioni di perdita e pesi dei token

Una funzione di costo esprime l'obiettivo che il training tenta di migliorare. Trasforma esempi e segnali di apprendimento in una misura che guida le modifiche all'adattatore.

Approccio di apprendimento Cosa guida l'aggiornamento
Apprendimento supervisionato Le risposte desiderate mostrano al modello cosa produrre.
Apprendimento per rinforzo Punteggi e confronti tra risposte generate guidano il comportamento da rafforzare.

Una funzione di costo è una parte di un flusso di lavoro. Non sceglie gli esempi, valuta le risposte o decide quando il training si arresta.

I pesi dei token controllano il modo in cui le parti di un esempio contribuiscono all'apprendimento. Le maschere escludono parti che non devono contribuire.

Ad esempio, un flusso di lavoro di apprendimento supervisionato può apprendere dalla risposta dell'assistente senza imparare a riprodurre il prompt dell'utente.

Per l'apprendimento per rinforzo, il segnale di apprendimento distingue anche le risposte generate dal modello dalle informazioni fornite dall'utente o dall'ambiente. Usa le informazioni del modello che ha generato ogni risposta, anche se il modello viene modificato in un secondo momento.

Gli obiettivi personalizzati possono combinare gli output del modello con i calcoli nel driver. Il driver coordina ancora i segnali di apprendimento e gli aggiornamenti del modello.

Per strutture ed esempi di dati, vedere Preparare i dati supervisionati e Preparare i dati RL.

Come vengono combinati i segnali di apprendimento

Obiettivi diversi possono combinare segnali di apprendimento in modo diverso, ad esempio aggiungerli insieme o mediarli. La combinazione di approcci incompatibili in un aggiornamento può modificarne la portata o fare sì che il servizio lo rifiuti.

I contributi allo stesso aggiornamento richiedono un modo coerente per combinare i segnali di apprendimento. Un aggiornamento viene completato prima che il flusso di lavoro passi a un approccio incompatibile.

Premi, distribuzioni e vantaggi

Nell'apprendimento per rinforzo, il driver valuta le operazioni che il modello esegue e trasforma tale valutazione in un segnale di apprendimento.

Concetto Meaning
Implementazione Risposta generata o interazione più lunga che può includere chiamate di strumenti e osservazioni.
Ricompensa Punteggio che descrive il modo in cui una distribuzione soddisfa l'obiettivo dell'attività. Il programma assegna questo punteggio.
Vantaggio Confronto che indica se una risposta offre prestazioni migliori o peggiori rispetto a un riferimento, ad esempio altre risposte alla stessa richiesta.

Un approccio genera diverse risposte alla stessa richiesta e confronta ogni ricompensa con la ricompensa media del gruppo:

  • Al di sopra della media: La risposta presenta un vantaggio positivo.
  • Al di sotto della media: La risposta presenta uno svantaggio.
  • Premi uguali: Tutte le risposte hanno zero vantaggio, quindi questo confronto non fornisce alcun segnale di apprendimento.

Per un'attività matematica, la ricompensa può riflettere se la risposta finale è corretta. Un punteggio di formattazione elevato da solo non stabilisce che la risposta sia corretta.

Il driver definisce le regole di classificazione e il metodo di confronto. Per esempi completi, esplorare il repository degli esempi di fine-tuning.

Completamento dell'operazione

Ogni operazione richiede tempo per l'esecuzione. Il servizio che accetta una richiesta è diverso dal completare il lavoro richiesto.

Condizione Cosa ti dice
accettate Il servizio riceve la richiesta. Il lavoro potrebbe essere ancora in attesa o in esecuzione.
Operazione completata L'operazione viene completata e il relativo risultato può essere utilizzato da un'operazione dipendente.
Tempo scaduto Il conducente smette di aspettare. Ciò non dimostra che l'operazione fallisce o si arresta sul servizio.

L'ordine è importante: un aggiornamento dipende dal calcolo del gradiente completato e il campionamento dai nuovi pesi dipende da un refresh completato. Un risultato mancante non è un risultato riuscito o una misura con valori zero.

Per informazioni dettagliate sull'implementazione, vedere Usare operazioni asincrone.

Checkpoints

Un checkpoint registra lo stato del modello in un determinato punto. I checkpoint di training e i checkpoint sampler mantengono informazioni diverse.

Type Cosa preserva A cosa serve
Punto di controllo della formazione I pesi appresi dell'adattatore e il registro dell'ottimizzatore degli aggiornamenti precedenti. Recupero dello stato di avanzamento o continuare la formazione in una sessione compatibile.
Checkpoint del campionatore Snapshot dei pesi dell'adattatore per la generazione di risposte. Campionamento da una versione selezionata dell'adattatore, senza le informazioni necessarie per riprendere il training.

Un aggiornamento del sampler prepara lo stato dell'adattatore più recente per la generazione. Non è un sostituto di un checkpoint di training salvato e non crea necessariamente un artefatto permanente.

Il driver mantiene il proprio stato di avanzamento, ad esempio quali esempi ha già usato e quando viene eseguita la valutazione. Un checkpoint del modello non ripristina automaticamente quel progresso.

Nessuno dei due tipi di checkpoint è un endpoint dell'applicazione. L'uso del modello addestrato in un'applicazione è un'attività di deployment separata.

Per esempi di codice, vedere Salvare e riprendere il training.

Ciclo di vita della sessione

Lo scaricamento dei dati rilascia le risorse di addestramento attive di una sessione. Serve uno scopo diverso dall'eliminazione della sessione e dei relativi artefatti salvati.

Action Meaning
Ispezionare Controllare lo stato della sessione e identificarne i checkpoint salvati.
Scarica Rilasciare le risorse di calcolo della sessione attiva. Non si tratta dell'eliminazione del checkpoint.
Elimina Rimuovere la sessione. In questo modo è anche possibile rimuovere i checkpoint e le risorse di campionamento.

L'invio di una richiesta di scaricamento dalla memoria non conferma il completamento dell'operazione di pulizia. Anche la chiusura della connessione di rete del driver non equivale alla chiusura della sessione.

Un checkpoint di addestramento completato conserva i progressi prima che una sessione termini. L'eliminazione della sessione può rimuovere lo stato salvato, quindi l'eliminazione non è intercambiabile con il rilascio delle risorse di calcolo.

Per informazioni dettagliate sull'implementazione, vedere Chiusura delle risorse.

Esplora queste risorse quando sei pronto a usare i concetti: