Condividi tramite


Ottimizzazione del modello di base

Importante

Questa funzionalità è disponibile in anteprima pubblica nelle aree seguenti: centralus, eastus, eastus2, northcentralus, e westus.

Con l'ottimizzazione del modello foundation (ora parte di Mosaic AI Model Training), è possibile usare i propri dati per personalizzare un modello di base per ottimizzare le prestazioni per l'applicazione specifica. Eseguendo l'ottimizzazione completa dei parametri o il training continuo di un modello di base, è possibile eseguire il training del proprio modello una quantità significativamente inferiore di risorse di calcolo, tempo e dati rispetto al training di un modello da zero.

Con Databricks sono disponibili tutti gli elementi in una singola piattaforma: i propri dati da usare per il training, il modello di base su cui eseguire il training, i checkpoint salvati in MLflow e il modello registrato in Unity Catalog e pronto per la distribuzione.

Vedere Esercitazione: Creare e distribuire un'esecuzione di ottimizzazione del modello foundation per informazioni su come creare un'esecuzione usando l'API di ottimizzazione del modello foundation e quindi esaminare i risultati e distribuire il modello usando l'interfaccia utente di Databricks e Mosaic AI Model Serving.

Che cos'è l'ottimizzazione del modello di base?

L'ottimizzazione del modello foundation consente di usare l'API o l'interfaccia utente di Databricks per ottimizzare o eseguire il training di un modello di base.

Usando l'ottimizzazione del modello di base, è possibile:

  • Eseguire il training di un modello con i dati personalizzati, con i checkpoint salvati in MLflow. Si mantiene il controllo completo del modello sottoposto a training.
  • Registrare automaticamente il modello in Unity Catalog, consentendo una distribuzione semplice con la gestione dei modelli.
  • Eseguire il training di un modello proprietario completato caricando i pesi di un modello sottoposto a training in precedenza.

Databricks consiglia di provare l'ottimizzazione del modello di base se:

  • È stato provato l’apprendimento few-shot e si vogliono risultati migliori.
  • È stata provata la progettazione dei prompt su un modello esistente e si vogliono risultati migliori.
  • Si vuole avere la titolarità completa su un modello personalizzato per la privacy dei dati.
  • Si è sensibili alla latenza o ai costi e si vuole usare un modello più piccolo e meno costoso con i dati specifici dell'attività.

Attività supportate

L'ottimizzazione del modello Foundation supporta i casi d'uso seguenti:

  • Completamento della chat: attività consigliata. Eseguire il training del modello sui log delle chat tra un utente e un assistente di IA. Questo formato può essere usato sia per i log delle chat effettivi che come formato standard per la risposta alla domanda e il testo della conversazione. Il testo viene formattato automaticamente nel formato appropriato per il modello specifico. Per altre informazioni sulla creazione di modelli, vedere Modelli di chat di esempio nella documentazione di HuggingFace.
  • Ottimizzazione con supervisione: eseguire il training del modello sui dati di risposta immediata. Usare questa opzione per adattare il modello a una nuova attività, modificarne lo stile di risposta o aggiungere funzionalità di rispetto delle istruzioni. Questa attività non applica automaticamente alcuna formattazione ai dati ed è consigliata solo quando è necessaria la formattazione dei dati personalizzata.
  • Training preliminare continuo: eseguire il training del modello con dati di testo aggiuntivi. Usare questa opzione per aggiungere nuove conoscenze a un modello o concentrarsi su un modello in un dominio specifico.

Requisiti

  • Un'area di lavoro di Databricks in una delle aree di Azure seguenti: centralus, eastus, eastus2, northcentralus o westus.
  • API di ottimizzazione del modello Foundation installate con pip install databricks_genai.
  • Databricks Runtime 12.2 LTS ML o versione successiva se i dati si trovano in una tabella Delta.

Per informazioni sui formati di dati di input necessari, vedere Preparare i dati per l'ottimizzazione del modello foundation.

Dimensioni consigliate dei dati per il training del modello

Databricks consiglia di eseguire inizialmente il training usando da uno a quattro periodi. Dopo aver valutato il modello ottimizzato, se gli output del modello devono essere più simili ai dati di training, è possibile iniziare a eseguire il training usando uno o due periodi in più.

Se le prestazioni del modello calano significativamente su attività non rappresentate nei dati di ottimizzazione o se il modello sembra restituire copie esatte dei dati di ottimizzazione, Databricks consiglia di ridurre il numero di periodi di training.

Per l'ottimizzazione con supervisione e il completamento della chat, è necessario fornire token sufficienti per almeno una lunghezza di contesto completa del modello. Ad esempio, 4.096 token per meta-llama/Llama-2-7b-chat-hf o 32.768 token per mistralai/Mistral-7B-v0.1.

Per il training preliminare continuo, Databricks consiglia un minimo di 1,5 milioni di token per ottenere un modello di qualità superiore che apprende i dati personalizzati.

Modelli supportati

Nella tabella seguente sono elencati i modelli supportati. Vedere le licenze del modello per informazioni sulla licenza del modello applicabile e sui criteri di utilizzo accettabili.

Per continuare a supportare i modelli più all'avanguardia, Databricks potrebbe aggiornare i modelli supportati o ritirare i modelli meno recenti. Vedi i modelli destinati al ritiro.

Modello Lunghezza di contesto massima Note
databricks/dbrx-base 32768
databricks/dbrx-instruct 32768
meta-llama/Llama-3.2-1B 131072
meta-llama/Llama-3.2-1B-Instruct 131072
meta-llama/Llama-3.2-3B 131072
meta-llama/Llama-3.2-3B-Instruct 131072
meta-llama/Meta-Llama-3.1-405B 131072
meta-llama/Meta-Llama-3.1-405B-Instruct 131072
meta-llama/Meta-Llama-3.1-70B 131072
meta-llama/Meta-Llama-3.1-70B-Instruct 131072
meta-llama/Meta-Llama-3.1-8B 131072
meta-llama/Meta-Llama-3.1-8B-Instruct 131072
mistralai/Mistral-7B-v0.1 32768
mistralai/Mistral-7B-Instruct-v0.2 32768
mistralai/Mixtral-8x7B-v0.1 32768

Modelli ritirati

Nella tabella seguente sono elencati i modelli supportati pianificati per il ritiro. Consulta Modelli pensionati per le date di ritiro pianificate e i modelli sostitutivi consigliati.

Modello Lunghezza di contesto massima Note
meta-llama/Meta-Llama-3-70B 8192 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Meta-Llama-3-70B-Instruct 8192 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Meta-Llama-3-8B 8192 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Meta-Llama-3-8B-Instruct 8192 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Llama-2-7b-hf 4096 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Llama-2-13b-hf 4096 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Llama-2-70b-hf 4096 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Llama-2-7b-chat-hf 4096 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Llama-2-13b-chat-hf 4096 Questo modello non è più supportato dopo il 7 gennaio 2025.
meta-llama/Llama-2-70b-chat-hf 4096 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-7b-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-13b-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-34b-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-7b-Instruct-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-13b-Instruct-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-34b-Instruct-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-7b-Python-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-13b-Python-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.
codellama/CodeLlama-34b-Python-hf 16384 Questo modello non è più supportato dopo il 7 gennaio 2025.

licenze del modello

La tabella seguente fornisce la licenza del modello applicabile e le informazioni sui criteri di utilizzo accettabili per le famiglie di modelli supportate.

Famiglia di modelli Criteri di licenza e utilizzo accettabili
Meta Llama 3.2 Meta Llama 3.2 viene concesso in licenza con la licenza community LLAMA 3.2, Copyright © Meta Platforms, Inc. Tutti i diritti riservati.

I clienti sono responsabili dell'osservanza dei termini di questa licenza e dei criteri d'uso accettabili di Llama 3.2.
Meta Llama 3.1 Meta Llama 3.1 viene concesso in licenza con la licenza community LLAMA 3.1, Copyright © Meta Platforms, Inc. Tutti i diritti riservati.

I clienti sono tenuti a garantire la conformità con i modelli di licenza applicabili.
Llama 3 Llama 3 viene concesso in licenza con la licenza community LLAMA 3, Copyright © Meta Platforms, Inc. Tutti i diritti riservati.

I clienti sono tenuti a garantire la conformità con i modelli di licenza applicabili.
Llama 2 Llama 2 è concesso in licenza con la licenza community LLAMA 2, Copyright © Meta Platforms, Inc. Tutti i diritti riservati.

I clienti sono tenuti a garantire la conformità con i modelli di licenza applicabili.
CodeLlama I modelli CodeLlama sono concessi in licenza con la licenza community LLAMA 2, Copyright © Meta Platforms, Inc. Tutti i diritti riservati.

I clienti sono tenuti a garantire la conformità con i modelli di licenza applicabili.
DBRX DBRX viene fornito in e soggetto alla licenza open model di Databricks, Copyright © Databricks, Inc. Tutti i diritti riservati.

I clienti sono tenuti a garantire la conformità con i modelli di licenza applicabili, nonché con i criteri di utilizzo accettabili di Databricks.

Usare l'ottimizzazione del modello foundation

L'ottimizzazione del modello foundation è accessibile tramite l'SDK databricks_genai . L'esempio seguente crea e avvia un'esecuzione di training che usa i dati dei volumi di Unity Catalog. Per informazioni dettagliate sulla configurazione, vedere Creare un'esecuzione di training usando l'API di ottimizzazione del modello foundation.

from databricks.model_training import foundation_model as fm

model = 'meta-llama/Meta-Llama-3.1-8B-Instruct'
# UC Volume with JSONL formatted data
train_data_path = 'dbfs:/Volumes/main/mydirectory/ift/train.jsonl'
register_to = 'main.mydirectory'
run = fm.create(
  model=model,
  train_data_path=train_data_path,
  register_to=register_to,
)

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.

Limiti

  • I set di dati grandi (oltre 10 miliardi di token) non sono supportati per via della disponibilità di calcolo.

  • Per il pre-training continuo, i carichi di lavoro sono limitati a 60-256 MB. I file di dimensioni superiori a 1 GB possono causare tempi di elaborazione più lunghi.

  • Databricks si impegna a rendere disponibili i modelli all'avanguardia più recenti per la personalizzazione tramite l'ottimizzazione del modello foundation. Man mano che i nuovi modelli diventano disponibili, l'accesso ai modelli meno recenti dall'API o dall'interfaccia utente potrebbe essere rimosso, i modelli meno recenti potrebbero essere deprecati o aggiornati modelli supportati. Vedere Criteri di manutenzione dei modelli di IA generativa.

  • L'ottimizzazione dei modelli di base supporta solo il training dei modelli per le aree di lavoro di Azure usando l'archiviazione dietro collegamento privato.

    • Attualmente è supportata solo la lettura dei dati dall'archiviazione dietro collegamento privato in eastus2.
  • Se sono abilitati firewall nell'account azure Data Lake Storage che archivia i dati in Unity Catalog, è necessario consentire il traffico dall'elenco dei cluster del piano dati serverless di Databricks per usare l'ottimizzazione del modello foundation. Contattare il team dell'account di Databricks per altre informazioni e le possibili soluzioni personalizzate.