Azure OpenAI è un servizio che offre agli sviluppatori la possibilità di creare e utilizzare modelli di intelligenza artificiale personalizzati, basati su dati individuali. Questo processo, chiamato ottimizzazione, permette di migliorare la capacità di apprendimento del modello e di ridurre i costi e la latenza delle richieste.
In questo articolo, esploreremo come eseguire il fine tuning dei modelli OpenAI utilizzando il servizio Azure OpenAI Studio.
Indice dei contenuti
Prerequisiti
Per iniziare, è necessario soddisfare alcuni prerequisiti:
- Avere una sottoscrizione di Azure
- Avere accesso al servizio Azure OpenAI
- Creare una risorsa OpenAI di Azure
Una volta soddisfatti questi requisiti, è possibile procedere con il flusso di lavoro per l’ottimizzazione del modello in Azure OpenAI Studio.
Flusso di Lavoro di Ottimizzazione
Il processo di ottimizzazione può essere suddiviso in diverse fasi:
- Preparazione dei dati di training e convalida
- Creazione e configurazione del set di dati
- Definizione del fine tuning
- Avvio e monitoraggio del processo di ottimizzazione
- Valutazione e test del modello ottimizzato
1. Preparazione dei dati di training e convalida
Il primo passo consiste nella preparazione dei dati che verranno utilizzati per l’addestramento e la convalida del modello. I dati devono essere strutturati nel formato JSON Lines (JSONL), con ogni riga che rappresenta un singolo esempio di training o convalida.
Ecco un esempio di struttura di un file JSONL:
{"prompt": "<prompt text>", "completion": "<ideal generated text>"} {"prompt": "<prompt text>", "completion": "<ideal generated text>"} {"prompt": "<prompt text>", "completion": "<ideal generated text>"}
I file devono avere le seguenti caratteristiche:
- Codificati in UTF-8
- Dimensioni inferiori a 200 MB
È consigliabile proporre esempi chiari e una breve descrizione di ciò che si desidera che il modello impari a fare.
Leggi anche: Azure OpenAI: una soluzione cloud per potenziare le applicazioni con intelligenza artificiale
2. Creazione e configurazione del set di dati
Dopo aver preparato i file JSONL, è necessario creare un set di dati di training e uno di convalida. Per farlo, seguire questi passaggi:
- Accedere a Azure OpenAI Studio
- Aprire la sezione Datasets sul pannello di navigazione a sinistra
- Fare clic su Create Dataset
- Inserire un nome per il set di dati, ad esempio, “FineTuningExample_dataset_training”
- Selezionare il tipo di set di dati: Training o Validation, a seconda del file che si sta caricando
- Caricare il file dei dati: è possibile utilizzare il pulsante Upload file oppure il Blob Storage
- Fare clic su Create per creare il set di dati
- Ripetere questi passaggi per creare un set di dati di convalida, utilizzando un nome diverso e selezionando il tipo di set di dati di validazione
3. Definizione del fine tuning
Ora che i set di dati sono stati creati, è necessario definire il processo di fine tuning:
- Aprire la sezione Experiments nel pannello di navigazione a sinistra dello Azure OpenAI Studio
- Fare clic su Create Experiment
- Compilare il modulo del nuovo esperimento fornendo le seguenti informazioni:
- Nome: un nome univoco e descrittivo per l’esperimento, ad esempio “FineTuningExample_experiment”
- Risorsa OpenAI: selezionare la risorsa creata nei prerequisiti
- Modello di base: scegliere il modello di base su cui si desidera eseguire il fine tuning, ad esempio, “text-davinci-002”
- Dataset di training: selezionare il set di dati di training creato in precedenza
- Dataset di convalida: selezionare il set di dati di convalida creato in precedenza
- Batch size di training: specificare la dimensione del batch di training, ad esempio, 8
- Epochs: specificare il numero di epoche di training, ad esempio, 3
4. Avvio e monitoraggio del processo di ottimizzazione
Dopo aver configurato l’esperimento, è possibile avviarlo e monitorarne il progresso:
- Fare clic su Create and Run per avviare l’esperimento di fine tuning
- Passare alla scheda Runs nella pagina dell’esperimento per monitorare il progresso
- Attendere che il processo di ottimizzazione si concluda
5. Valutazione e test del modello ottimizzato
Una volta completata l’ottimizzazione, è possibile valutare le prestazioni del modello e testarlo su nuovi input:
- Aprire la pagina dell’esperimento completato in Experiments
- Passare alla scheda Validation
- Esaminare le metriche di convalida per valutare le prestazioni del modello dopo l’ottimizzazione
- Nella sezione Test your model, è possibile inserire nuovi input e ricevere risposte dal modello ottimizzato per verificare la sua capacità di rispondere correttamente agli input
Leggi anche: OpenAI: ChatGPT, Playground e le API. Guida per sfruttare al meglio GPT-3
Considerazioni sul Fine Tuning
Il fine tuning è un processo molto utile per migliorare le prestazioni di un modello e renderlo più adatto alle specifiche esigenze di un’applicazione. Tuttavia, è importante considerare che il fine tuning richiede risorse computazionali e può portare ad un aumento dei costi associati all’utilizzo del servizio Azure OpenAI.
Per ridurre al minimo i costi, è possibile sperimentare con batch size e numero di epoche inferiori durante il fine tuning e monitorare attentamente le metriche di convalida per valutare l’impatto delle modifiche sulle prestazioni del modello. È anche essenziale validare il modello su un set di dati di convalida robusto, che rifletta con precisione le esigenze dell’applicazione e includa esempi diversi e complessi.
Conclusione
In questo articolo, abbiamo esaminato come eseguire il fine tuning dei modelli OpenAI utilizzando Azure OpenAI Studio. Attraverso il processo di ottimizzazione, è possibile personalizzare i modelli di intelligenza artificiale per adattarli meglio alle specifiche esigenze di un’applicazione. Tenendo a mente i prerequisiti e seguendo il flusso di lavoro presentato, è possibile ottenere un modello efficace, efficiente e adattato alle proprie esigenze.