

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Modelli di fondazione e iperparametri per il fine-tuning
<a name="jumpstart-foundation-models-fine-tuning"></a>

I modelli di fondazione sono costosi dal punto di vista computazionale e vengono addestrati su un ampio corpus senza etichetta. L’ottimizzazione di un modello di fondazione addestrato è un modo conveniente per sfruttare le ampie funzionalità di tali modelli personalizzando al contempo un modello su un piccolo corpus. L’ottimizzazione è un metodo di personalizzazione che prevede un ulteriore addestramento e modifica il peso del modello. 

L’ottimizzazione potrebbe esserti utile se hai bisogno di: 
+ personalizzare il modello in base a esigenze aziendali specifiche
+ il tuo modello per lavorare con successo con un linguaggio specifico del dominio, come gergo di settore, termini tecnici o altri vocaboli specializzati
+ prestazioni migliorate per attività specifiche
+ risposte accurate, relative e sensibili al contesto nelle applicazioni
+ risposte più concrete, meno controverse e meglio allineate ai requisiti specifici

Esistono due approcci principali che è possibile adottare per l’ottimizzazione, a seconda del caso d'uso e del modello di fondazione scelto.

1. Se sei interessato a ottimizzare il tuo modello sulla base di dati specifici del dominio, consulta [Fine-tuning di un modello linguistico di grandi dimensioni (LLM) utilizzando l’adattamento del dominio](jumpstart-foundation-models-fine-tuning-domain-adaptation.md).

1. Se sei interessato alla messa a punto basata su istruzioni utilizzando esempi di prompt e risposta, consulta [Esecuzione del fine-tuning di un modello linguistico di grandi dimensioni (LLM) utilizzando istruzioni del prompt](jumpstart-foundation-models-fine-tuning-instruction-based.md).

## Modelli di fondazione disponibili per il fine-tuning
<a name="jumpstart-foundation-models-fine-tuning-models"></a>

Puoi perfezionare uno qualsiasi dei seguenti modelli di base: JumpStart 
+ Bloom 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ Code Llama 13B
+ Code Llama 13BPython
+ Code Llama 34B
+ Code Llama 34BPython
+ Code Llama 70B
+ Code Llama 70BPython
+ Code Llama 7B
+ Code Llama 7BPython
+ CyberAgentLM2- Chat a 7 B (Chat a 7 B) CALM2
+ Falcon 40 B BF16
+ Falcon 40B Istruzione BF16
+ Falcon 7B BF16
+ Falcon 7B Istruisci BF16
+ Flan-T5 Base
+ Flan-T5 Large
+ Flan-T5 Small
+ Flan-T5 XL
+ Flan-T5 XXL
+ Gemma 2B
+ Gemma 2B Instruct
+ Gemma 7B
+ Gemma 7B Instruct
+ GPT-2 XL
+ GPT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ LightGPT Instruct 6B
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron
+ Mistral 7B
+ Mixtral 8x7B
+ Mixtral 8x7B Instruct
+ RedPajama INCITE Base 3B V1
+ RedPajama INCITE Base 7B V1
+ RedPajama Tabella INCITE 3B V1
+ RedPajama INCITE Chart 7B V1
+ RedPajama INCITE Instruct 3B V1
+ RedPajama INCITE Instruct 7B V1
+ Stable Diffusion 2.1

## iperparametri comunemente supportati per il fine-tuning
<a name="jumpstart-foundation-models-fine-tuning-hyperparameters"></a>

Diversi modelli di fondazione supportano vari iperparametri durante il fine-tuning. Di seguito sono riportati gli iperparametri comunemente supportati che possono personalizzare ulteriormente il modello durante l’addestramento:


| Parametro di inferenza | Description | 
| --- | --- | 
| `epoch` | Il numero di passaggi che il modello esegue nel set di dati di fine-tuning durante l’addestramento. Deve essere un numero intero superiore a 1.  | 
| `learning_rate` | La velocità con cui i pesi del modello vengono aggiornati dopo l’elaborazione di ciascun batch di esempi di addestramento per il fine-tuning. Deve essere un valore a virgola mobile positivo maggiore di 0.  | 
| `instruction_tuned` | Indica se addestrare o meno il modello mediante istruzioni. Deve essere `'True'` o `'False'`.  | 
| `per_device_train_batch_size` | La dimensione del batch per core della GPU o CPU per l’addestramento. Deve essere un numero intero positivo. | 
| `per_device_eval_batch_size` | La dimensione del batch per core della GPU o CPU per la valutazione. Deve essere un numero intero positivo.  | 
| `max_train_samples` | Per scopi di debug o per un addestramento più rapido, riduci il numero di esempi di addestramento a questo valore. Il valore -1 indica che il modello utilizza tutti gli esempi di addestramento. Deve essere un numero intero positivo o -1.  | 
| `max_val_samples` | Per scopi di debug o per un addestramento più rapido, riduci il numero di esempi di convalida a questo valore. Il valore -1 indica che il modello utilizza tutti gli esempi di convalida. Deve essere un numero intero positivo o -1.  | 
| `max_input_length` | Lunghezza massima totale della sequenza di input dopo la tokenizzazione. Le sequenze più lunghe verranno troncate. Se -1, `max_input_length` è impostato su un minimo di 1024 e `model_max_length` è definito dal tokenizzatore. Se impostato su un valore positivo, `max_input_length` viene impostato sul minimo del valore fornito e `model_max_length` è definito dal tokenizzatore. Deve essere un numero intero positivo o -1.  | 
| `validation_split_ratio` | Se non esiste un canale di convalida, indica il rapporto di suddivisione tra convalida-addestramento e dati di addestramento. Deve essere un valore compreso tra 0 e 1.  | 
| `train_data_split_seed` | Se non sono presenti dati di convalida, viene corretta la suddivisione casuale dei dati di addestramento di input rispetto ai dati di addestramento e convalida utilizzati dal modello. Deve essere un numero intero.  | 
| `preprocessing_num_workers` | Il numero di processi da utilizzare per la pre-elaborazione. Se `None`, il processo principale viene utilizzato per la pre-elaborazione.  | 
| `lora_r` | Valore r dell’adattamento di basso rango (LoRA), che funge da fattore di dimensionamento per gli aggiornamenti del peso. Deve essere un numero intero positivo.  | 
| `lora_alpha` | Valore alfa dell’adattamento di basso rango (LoRA), che funge da fattore di dimensionamento per gli aggiornamenti del peso. Generalmente da 2 a 4 volte la dimensione di `lora_r`. Deve essere un numero intero positivo.  | 
| `lora_dropout` | Valore di abbandono per i livelli dell’adattamento di basso rango (LoRA). Deve essere un numero a virgola mobile positivo compreso tra 0 e 1.  | 
| `int8_quantization` | Se `True`, il modello viene caricato con una precisione a 8 bit per l’addestramento.  | 
| `enable_fsdp` | Se `True`, l’addestramento utilizza la tecnica Fully Sharded Data Parallelism.  | 

Quando esegui il fine-tuning del modello in Studio, puoi specificare i valori degli iperparametri. Per ulteriori informazioni, consulta [Fine-tuning di un modello in Studio](jumpstart-foundation-models-use-studio-updated-fine-tune.md). 

È inoltre possibile sovrascrivere i valori predefiniti degli iperparametri durante la messa a punto del modello utilizzando l'SDK. SageMaker Python Per ulteriori informazioni, consulta [Fine-tuning dei modelli di fondazione disponibili al pubblico con la classe `JumpStartEstimator`](jumpstart-foundation-models-use-python-sdk-estimator-class.md).