Ottimizzare i modelli con Azure AI Foundry
Importante
Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente disponibili in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.
L'ottimizzazione si riferisce alla personalizzazione di un modello di intelligenza artificiale con training preliminare con training aggiuntivo su un'attività specifica o un nuovo set di dati per migliorare le prestazioni, le nuove competenze o migliorare l'accuratezza. Il risultato è un nuovo modello GenAI personalizzato ottimizzato in base agli esempi forniti.
Prendere in considerazione l'ottimizzazione dei modelli GenAI per:
- Ridimensionare e adattarsi a esigenze aziendali specifiche
- Ridurre i falsi positivi in quanto i modelli personalizzati hanno meno probabilità di produrre risposte imprecise o irrilevanti
- Migliorare l'accuratezza del modello per le attività specifiche del dominio
- Risparmiare tempo e risorse con risultati più rapidi e precisi
- Ottenere risultati più rilevanti e consapevoli del contesto man mano che i modelli sono ottimizzati per casi d'uso specifici
Azure AI Foundry offre diversi modelli tra provider di modelli che consentono di ottenere l'accesso alla versione più recente e più grande del mercato. È possibile individuare i modelli supportati per l'ottimizzazione tramite il catalogo dei modelli usando il filtro Attività di ottimizzazione e selezionando la scheda del modello per ottenere informazioni dettagliate su ogni modello. I modelli specifici possono essere soggetti a vincoli a livello di area, visualizzare questo elenco per altri dettagli.
Questo articolo illustra i casi d'uso per ottimizzare e come può essere utile nel percorso GenAI.
Guida introduttiva all'ottimizzazione
Quando si inizia con il percorso di intelligenza artificiale generativa, è consigliabile iniziare con la progettazione di richieste e rag per acquisire familiarità con i modelli di base e le relative funzionalità.
- La progettazione dei prompt è una tecnica che implica la progettazione di richieste usando dettagli di tono e stile, risposte di esempio e mapping delle finalità per i modelli di elaborazione del linguaggio naturale. Questo processo migliora l'accuratezza e la pertinenza nelle risposte, in modo da ottimizzare le prestazioni del modello.
- Generazione aumentata dal recupero (RAG), in grado di migliorare le prestazioni del modello LLM recuperando i dati da origini esterne e incorporandoli in un prompt. RAG consente alle aziende di ottenere soluzioni personalizzate mantenendo al contempo la pertinenza dei dati e l’ottimizzazione dei costi.
Man mano che si ottiene familiarità e si inizia a creare la soluzione, è importante capire dove la progettazione di prompt fallirà e ciò ti aiuterà a capire se dovresti provare a ottimizzare.
- Il modello di base ha esito negativo per i casi limite o le eccezioni?
- Il modello di base non fornisce in modo coerente l'output nel formato corretto?
- È difficile adattarsi a esempi sufficienti nella finestra di contesto per guidare il modello?
- Esiste una latenza elevata?
Esempi di errore con il modello di base e la progettazione prompt consentono di identificare i dati da raccogliere per ottimizzare e stabilire una baseline di prestazioni che è possibile valutare e confrontare il modello ottimizzato. La presenza di una baseline delle prestazioni senza l’applicazione del fine-tuning è fondamentale per sapere se il fine-tuning è in grado di migliorare o meno le prestazioni del modello.
Ecco un esempio:
Un cliente vuole usare GPT-3.5 Turbo per trasformare le domande in linguaggio naturale in query in un linguaggio di query specifico e non standard. Il cliente fornisce indicazioni nel prompt, ad esempio "Restituire sempre GQL", e usa RAG per recuperare lo schema del database. Tuttavia, la sintassi non risulta sempre corretta e spesso restituisce errori per i casi limite. Il cliente raccoglie migliaia di esempi di domande in linguaggio naturale e query equivalenti per il database, inclusi i casi in cui il modello ha avuto esito negativo in precedenza. Il cliente usa quindi tali dati per eseguire il fine-tuning al modello. La combinazione del nuovo modello a cui è stato eseguito il fine-tuning con il prompt progettato e il recupero contribuisce all'accuratezza dei risultati del modello fino a raggiungere standard accettabili per l'uso.
Casi d'uso
I modelli di base sono già sottoposti a training preliminare su grandi quantità di dati e nella maggior parte dei casi si aggiungeranno istruzioni ed esempi alla richiesta di ottenere le risposte di qualità che si sta cercando. Questo processo è denominato "apprendimento con pochi scatti". L'ottimizzazione consente di eseguire il training di un modello con molti altri esempi che è possibile personalizzare per soddisfare il caso d'uso specifico, migliorando così l'apprendimento con pochi scatti. In questo modo è possibile ridurre il numero di token nel prompt, con potenziali risparmi sui costi e richieste con una latenza inferiore.
Trasformare il linguaggio naturale in un linguaggio di query è solo un caso d'uso in cui non è possibile indicare al modello come comportarsi. Ecco alcuni casi d'uso aggiuntivi:
- Migliorare la gestione dei dati recuperati del modello
- Modello steer per restituire il contenuto in uno stile, un tono o un formato specifico
- Migliorare l'accuratezza quando si cercano informazioni
- Ridurre la lunghezza della richiesta
- Insegnare nuove competenze (ad esempio linguaggio naturale al codice)
Se si identificano i costi come motivazione principale, procedere con prudenza. Il fine-tuning può ridurre i costi per determinati casi d'uso, abbreviando i prompt o consentendo di utilizzare un modello più piccolo. Tuttavia, potrebbe esserci un costo iniziale più elevato per il training ed è necessario pagare per ospitare il proprio modello personalizzato.
Passaggi per ottimizzare un modello
Ecco i passaggi generali per ottimizzare un modello:
- In base al caso d'uso, scegliere un modello che supporti l'attività
- Preparare e caricare i dati di training
- (Facoltativo) Preparare e caricare i dati di convalida
- (Facoltativo) Configurare i parametri delle attività
- Eseguire il training del modello.
- Al termine, esaminare le metriche e valutare il modello. Se i risultati non soddisfano il benchmark, tornare al passaggio 2.
- Usare il modello ottimizzato
È importante sottolineare che l'ottimizzazione è fortemente dipendente dalla qualità dei dati che è possibile fornire. È consigliabile fornire centinaia, se non migliaia, di esempi di training per avere successo e ottenere i risultati desiderati.
Modelli supportati per l'ottimizzazione
Dopo aver appreso quando usare l'ottimizzazione per il caso d'uso, è possibile passare ad Azure AI Foundry per trovare i modelli disponibili per ottimizzare. Per alcuni modelli nel catalogo dei modelli, l'ottimizzazione è disponibile usando un'API serverless o un calcolo gestito (anteprima) o entrambi.
L'ottimizzazione è disponibile in aree di Azure specifiche per alcuni modelli distribuiti tramite API serverless. Per ottimizzare tali modelli, un utente deve avere un hub o un progetto nell'area in cui il modello è disponibile per l'ottimizzazione. Per informazioni dettagliate, vedere Disponibilità dell'area per i modelli negli endpoint API serverless.
Per altre informazioni sull'ottimizzazione tramite un ambiente di calcolo gestito (anteprima), vedere Ottimizzare i modelli usando il calcolo gestito (anteprima).
Per informazioni dettagliate sui modelli OpenAI di Azure disponibili per l'ottimizzazione, vedere la documentazione dei modelli di servizio OpenAI di Azure o la tabella dei modelli OpenAI di Azure più avanti in questa guida.
Per i modelli di servizio OpenAI di Azure che è possibile ottimizzare, le aree supportate per l'ottimizzazione includono Stati Uniti centro-settentrionali, Svezia centrale e altro ancora.
Ottimizzazione dei modelli OpenAI di Azure
Nota
gpt-35-turbo
- L'ottimizzazione di questo modello è limitata a un subset di aree e non è disponibile in ogni area in cui è disponibile il modello di base.
Le aree supportate per l'ottimizzazione possono variare se si usano modelli OpenAI di Azure in un progetto di Azure AI Foundry rispetto all'esterno di un progetto.
Model ID | Fine-tuning delle aree | Richiesta max (token) | Dati di training (fino a) |
---|---|---|---|
babbage-002 |
Stati Uniti centro-settentrionali Svezia centrale Svizzera occidentale |
16,384 | Settembre 2021 |
davinci-002 |
Stati Uniti centro-settentrionali Svezia centrale Svizzera occidentale |
16,384 | Settembre 2021 |
gpt-35-turbo (0613) |
Stati Uniti Orientali 2 Stati Uniti centro-settentrionali Svezia centrale Svizzera occidentale |
4.096 | Settembre 2021 |
gpt-35-turbo (1106) |
Stati Uniti Orientali 2 Stati Uniti centro-settentrionali Svezia centrale Svizzera occidentale |
Input: 16.385 Output: 4.096 |
Settembre 2021 |
gpt-35-turbo (0125) |
Stati Uniti Orientali 2 Stati Uniti centro-settentrionali Svezia centrale Svizzera occidentale |
16.385 | Settembre 2021 |
gpt-4 (0613) 1 |
Stati Uniti centro-settentrionali Svezia centrale |
8192 | Settembre 2021 |
gpt-4o-mini (2024-07-18) |
Stati Uniti centro-settentrionali Svezia centrale |
Input: 128.000 Output: 16,384 Lunghezza del contesto di esempio di training: 64.536 |
Ott. 2023 |
gpt-4o (2024-08-06) |
Stati Uniti Orientali 2 Stati Uniti centro-settentrionali Svezia centrale |
Input: 128.000 Output: 16,384 Lunghezza del contesto di esempio di training: 64.536 |
Ott. 2023 |
1 GPT-4 è attualmente disponibile in anteprima pubblica.
Contenuto correlato
- Ottimizzare i modelli usando il calcolo gestito (anteprima)
- Ottimizzare un modello OpenAI di Azure nel portale di Azure AI Foundry
- Ottimizzare un modello Llama 2 nel portale di Azure AI Foundry
- Ottimizzare un modello Phi-3 nel portale di Azure AI Foundry
- Distribuire la famiglia Phi-3 di modelli linguistici di piccole dimensioni con Azure AI Foundry