Tipi di file del set di dati e formato dei dati di input
Il fine-tuning basato su istruzioni utilizza set di dati etichettati per migliorare le prestazioni degli LLM preaddestrati su specifiche attività di elaborazione del linguaggio naturale (NLP). Gli esempi etichettati sono formattati come coppie prompt-risposta e formulati come istruzioni.
Per ulteriori informazioni sui tipi di file di set di dati supportati, vedere Tipi di file di set di dati supportati.
Per ulteriori informazioni sul formato dei dati di input, vedere Formato dei dati di input per l'ottimizzazione basata sulle istruzioni.
Tipi di file di set di dati supportati
Autopilot supporta set di dati con fine-tuning basato su istruzioni formattati come file CSV (impostazione predefinita) o come file Parquet.
-
CSV (Comma-Separated Values) è un formato di file basato su righe che archivia i dati in testo semplice leggibile dall’utente, una scelta diffusa per lo scambio di dati, poiché supportato da un’ampia gamma di applicazioni.
-
Parquet è un formato di file binario basato su colonne in cui i dati vengono archiviati ed elaborati in modo più efficiente rispetto ai formati di file leggibili dall’utente, ad esempio CSV. Ciò lo rende un’opzione migliore per i problemi relativi ai big data.
Nota
Il set di dati può essere costituito da più file, ognuno dei quali deve aderire a un modello specifico. Per informazioni su come formattare i dati di input, vedi Formato dei dati di input per l'ottimizzazione basata sulle istruzioni.
Formato dei dati di input per l'ottimizzazione basata sulle istruzioni
Ogni file del set di dati deve soddisfare il seguente formato:
-
Il set di dati deve contenere esattamente due colonne separate da virgole e denominate
inputeoutput. Autopilot non consente colonne aggiuntive. -
Le colonne
inputcontengono i prompt e le corrispondentioutputcontengono la risposta prevista . Siainputcheoutputsono in formato stringa.
L'esempio seguente illustra il formato dei dati di input per l'ottimizzazione in Autopilot basata sulle istruzioni.
input,output "<prompt text>","<expected generated text>"
Nota
Si consiglia di utilizzare set di dati con un minimo di 1000 righe per garantire l'apprendimento e le prestazioni ottimali del modello.
Inoltre, Autopilot imposta un limite massimo al numero di righe nel set di dati e alla lunghezza del contesto in base al tipo di modello utilizzato.
-
I limiti al numero di righe in un set di dati si applicano al conteggio cumulativo delle righe su tutti i file all’interno del set di dati, inclusi file multipli. Se sono definiti due tipi di canale (uno per l’addestramento e uno per la convalida), il limite si applica al numero totale di righe su tutti i set di dati in entrambi i canali. Quando il numero di righe supera la soglia, il processo fallisce con un errore di convalida.
-
Quando la lunghezza dell'input o dell'output di una riga nel set di dati supera il limite impostato nel contesto del modello linguistico, viene automaticamente troncata. Se più del 60% delle righe del set di dati vengono troncate, sia di input che di output, Autopilot fallisce il processo con un errore di convalida.
La tabella seguente presenta tali limiti per ogni modello.
| ID di modello JumpStart | BaseModelName in richiesta API |
Limite di righe | Limite di lunghezza del contesto |
|---|---|---|---|
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B |
10.000 righe | 1.024 token |
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B |
10.000 righe | 1.024 token |
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B |
10.000 righe | 1.024 token |
| huggingface-llm-falcon-7b-bf16 | Falcon7B |
1.000 righe | 1.024 token |
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct |
1.000 righe | 1.024 token |
| huggingface-llm-falcon-40b-bf16 | Falcon40B |
10.000 righe | 1.024 token |
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct |
10.000 righe | 1.024 token |
| huggingface-text2text-flan-t5-large | FlanT5L |
10.000 righe | 1.024 token |
| huggingface-text2text-flan-t5-xl | FlanT5XL |
10.000 righe | 1.024 token |
| huggingface-text2text-flan-t5-xxll | FlanT5XXL |
10.000 righe | 1.024 token |
| meta-textgeneration-llama-2-7b | Llama2-7B |
10.000 righe | 2.048 token |
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat |
10.000 righe | 2.048 token |
| meta-textgeneration-llama-2-13b | Llama2-13B |
7.000 righe | 2.048 token |
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat |
7.000 righe | 2.048 token |
| huggingface-llm-mistral-7b | Mistral7B |
10.000 righe | 2.048 token |
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct |
10.000 righe | 2.048 token |
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B |
10.000 righe | 1.024 token |
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct |
10.000 righe | 1.024 token |