Esercitazione: Creare e distribuire un'esecuzione di ottimizzazione del modello Foundation
Importante
Questa funzionalità è disponibile in anteprima pubblica nelle aree seguenti: centralus
, eastus
, eastus2
, northcentralus
, e westus
.
Questo articolo descrive come creare e configurare un'esecuzione usando l'ottimizzazione del modello di base (ora parte dell'API Mosaic AI Model Training) e quindi esaminare i risultati e distribuire il modello usando l'interfaccia utente di Databricks e Mosaic AI Model Serving.
Fabbisogno
- Un'area di lavoro in una delle aree di Azure seguenti:
centralus
,eastus
,eastus2
,northcentralus
,westcentralus
,westus
,westus3
. - Databricks Runtime 12.2 LTS ML o versione successiva.
- Questa esercitazione deve essere eseguita in un notebook di Databricks.
- Dati di training nel formato accettato. Vedere Preparare i dati per l'ottimizzazione del modello foundation.
Passaggio 1: Preparare i dati per il training
Vedere Preparare i dati per l'ottimizzazione del modello foundation.
Passaggio 2: Installare l'SDK databricks_genai
Usare quanto segue per installare SDK databricks_genai
.
%pip install databricks_genai
Poi, importare la libreria foundation_model
:
dbutils.library.restartPython()
from databricks.model_training import foundation_model as fm
Passaggio 3: Creare un’esecuzione di training
Creare un'esecuzione di training usando la funzione di ottimizzazione del create()
modello Foundation. Sono obbligatori i parametri seguenti:
model
: il modello su cui è necessario eseguire il training.train_data_path
: la posizione del set di dati di training.register_to
: catalogo e schema di Unity Catalog in cui si desidera salvare i checkpoint.
Ad esempio:
run = fm.create(model='meta-llama/Meta-Llama-3.1-8B-Instruct',
train_data_path='dbfs:/Volumes/main/my-directory/ift/train.jsonl', # UC Volume with JSONL formatted data
register_to='main.my-directory',
training_duration='1ep')
run
Passaggio 4: Visualizzare lo stato di un'esecuzione
Il tempo necessario per completare un'esecuzione di training dipende dal numero di token, dal modello e dalla disponibilità della GPU. Per un training più rapido, Databricks consiglia di usare il calcolo riservato. Per maggiori dettagli, contattare il team dell'account di Databricks.
Dopo aver avviato l'esecuzione, è possibile monitorarne lo stato usando get_events()
.
run.get_events()
Passaggio 5: Visualizzare metriche e output
Seguire questa procedura per visualizzare i risultati nell'interfaccia utente di Databricks:
- Nell'area di lavoro di Databricks, cliccare su Esperimenti nella barra di spostamento a sinistra.
- Selezionare l’esperimento dall'elenco.
- Esaminare i grafici delle metriche nella scheda Grafici. Le metriche di training sono generate per ogni esecuzione del training e le metriche di valutazione vengono generate solo se viene fornito un percorso di dati di valutazione.
- La metrica di training primaria che mostra la perdita dell’avanzamento. La perdita di valutazione può essere usata per verificare se il modello esegue l'overfitting ai dati di training. Tuttavia, non bisogna affidarsi interamente sulla perdita perché nelle attività di training supervisionate, la perdita di valutazione può sembrare tendente all’overfitting, mentre il modello continua a migliorare.
- Maggiore è l'accuratezza, migliore sarà il modello, ma occorre tenere presente che l'accuratezza vicina al 100% potrebbe dimostrare overfitting.
- Le seguenti metriche appaiono in MLflow dopo l'esecuzione:
LanguageCrossEntropy
calcola l'entropia incrociata negli output di modellazione linguistica. Un punteggio inferiore è migliore.LanguagePerplexity
misura il modo in cui un modello linguistico stima la parola o il carattere successivo in un blocco di testo in base a parole o caratteri precedenti. Un punteggio inferiore è migliore.TokenAccuracy
calcola l'accuratezza a livello di token per la modellazione linguistica. Un punteggio più alto è migliore.
- In questa scheda, è anche possibile visualizzare l'output dei prompt di valutazione se sono stati specificati.
Passaggio 6: Valutare più modelli personalizzati con La valutazione dell'agente di intelligenza artificiale mosaico prima della distribuzione
Vedere Che cos'è La valutazione dell'agente di intelligenza artificiale Mosaic?.
Passaggio 7: Distribuire il modello
L'esecuzione del training registra automaticamente il modello in Unity Catalog al termine. Il modello viene registrato in base a quanto specificato nel campo register_to
nel metodo create()
dell’esecuzione.
Per distribuire un modello per il servizio, seguire questa procedura:
- Passare al modello in Unity Catalog.
- Cliccare su Servi questo modello.
- Cliccare su Creare endpoint di servizio.
- Nel campo Nome, fornire un nome per l’endpoint.
- Cliccare su Crea.
Risorse aggiuntive
- Creare un'esecuzione di training usando l'API di ottimizzazione del modello Foundation
- Ottimizzazione del modello di base
- Gestione di modelli con Azure Databricks
- Vedere il notebook demo Ottimizzazione delle istruzioni: Riconoscimento entità denominata per un esempio di ottimizzazione delle istruzioni che illustra la preparazione dei dati, l'ottimizzazione della configurazione di esecuzione del training e la distribuzione.