

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à.

# Messa a punto supervisionata (SFT) su Nova 2.0 attiva SageMaker HyperPod
<a name="nova-sft-2-smhp"></a>

Amazon Nova Lite 2.0 offre funzionalità avanzate per la messa a punto supervisionata, tra cui la modalità di ragionamento avanzata, una migliore comprensione multimodale e una gestione estesa del contesto. SFT su Nova Lite 2.0 ti consente di adattare queste potenti funzionalità ai tuoi casi d'uso specifici, mantenendo le prestazioni superiori del modello in attività complesse.

Le caratteristiche principali di SFT su Nova Lite 2.0 sono riassunte in. [Funzionalità supportate](nova-data-prep-sft-2.md#nova-2-supported-features)

Per determinare se SFT è adatto al tuo caso d'uso, consulta. [Fine-tuning supervisionato (SFT)](nova-fine-tune.md)

**Topics**
+ [Selezione della modalità di ragionamento (solo Nova 2.0)](#nova-sft-2-reasoning-mode)
+ [Avvio di un lavoro di messa a punto su SageMaker HyperPod](#nova-sft-2-creating-job)
+ [Parametri di ottimizzazione SFT](#nova-sft-2-tuning-parameters)
+ [Guida agli iperparametri](#nova-sft-2-hyperparameters)

## Esempio di ricetta SFT
<a name="nova-sft-2-sample-recipe"></a>

Di seguito è riportato un esempio di ricetta per SFT. Puoi trovare questa ricetta e altre nell'[archivio delle ](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/fine-tuning/nova) SageMaker HyperPod ricette su. GitHub

```
run:
  name: my-full-rank-sft-run
  model_type: amazon.nova-2-lite-v1:0:256k
  model_name_or_path: nova-lite-2/prod
  data_s3_path: s3://my-bucket-name/train.jsonl  # SageMaker HyperPod only and not compatible with SageMaker Training Jobs
  replicas: 4                                     # Number of compute instances for training, allowed values are 4, 8, 16, 32
  output_s3_path: s3://my-bucket-name/outputs/    # Output artifact path (HyperPod job-specific; not compatible with standard SageMaker Training Jobs)
  mlflow_tracking_uri: ""                         # Required for MLFlow
  mlflow_experiment_name: "my-full-rank-sft-experiment"  # Optional for MLFlow. Note: leave this field non-empty
  mlflow_run_name: "my-full-rank-sft-run"         # Optional for MLFlow. Note: leave this field non-empty

training_config:
  max_steps: 100                    # Maximum training steps. Minimal is 4.
  save_steps: ${oc.select:training_config.max_steps}  # How many training steps the checkpoint will be saved
  save_top_k: 5                     # Keep top K best checkpoints. Note supported only for SageMaker HyperPod jobs. Minimal is 1.
  max_length: 32768                 # Sequence length (options: 8192, 16384, 32768 [default], 65536)
  global_batch_size: 32             # Global batch size (options: 32, 64, 128)
  reasoning_enabled: true           # If data has reasoningContent, set to true; otherwise False

  lr_scheduler:
    warmup_steps: 15                # Learning rate warmup steps. Recommend 15% of max_steps
    min_lr: 1e-6                    # Minimum learning rate, must be between 0.0 and 1.0

  optim_config:                     # Optimizer settings
    lr: 1e-5                        # Learning rate, must be between 0.0 and 1.0
    weight_decay: 0.0               # L2 regularization strength, must be between 0.0 and 1.0
    adam_beta1: 0.9                  # Exponential decay rate for first-moment estimates
    adam_beta2: 0.95                 # Exponential decay rate for second-moment estimates

  peft:                             # Parameter-efficient fine-tuning (LoRA)
    peft_scheme: "null"             # Disable LoRA for PEFT
```

## Selezione della modalità di ragionamento (solo Nova 2.0)
<a name="nova-sft-2-reasoning-mode"></a>

Amazon Nova 2.0 supporta la modalità di ragionamento per funzionalità analitiche avanzate:
+ **Modalità di ragionamento (abilitata): **
  + Impostato `reasoning_enabled: true` nella configurazione dell'allenamento
  + Modella i treni per generare tracce di ragionamento prima delle risposte finali
  + Migliora le prestazioni in attività di ragionamento complesse
+ **Non-Reasoning Modalità (disattivata)**:
  + Imposta `reasoning_enabled: false` o ometti il parametro (impostazione predefinita)
  + SFT standard senza ragionamento esplicito
  + Adatto per attività che non traggono beneficio dal ragionamento dettagliato

**Nota**  
Quando il ragionamento è abilitato, opera con uno sforzo di ragionamento elevato. Non esiste un'opzione di ragionamento basso per SFT.
I contenuti di ragionamento multimodale non sono supportati per SFT. La modalità di ragionamento si applica agli input di solo testo.

### Utilizzo della modalità di ragionamento con set di dati non di ragionamento
<a name="nova-sft-2-reasoning-non-reasoning-data"></a>

È consentito addestrare Amazon Nova su un set di dati non razionale con. `reasoning_enabled: true` Tuttavia, ciò potrebbe far perdere al modello le sue capacità di ragionamento, poiché Amazon Nova impara principalmente a generare le risposte presentate nei dati senza applicare il ragionamento.

Se si sta addestrando Amazon Nova su un set di dati non razionale ma si desidera comunque utilizzare il ragionamento durante l'inferenza:

1. Disabilita il ragionamento durante l'allenamento () `reasoning_enabled: false`

1. Abilita il ragionamento in un secondo momento durante l'inferenza

Sebbene questo approccio consenta il ragionamento al momento dell'inferenza, non garantisce prestazioni migliori rispetto all'inferenza senza ragionamento.

**Procedura consigliata: ** abilitare il ragionamento sia per l'addestramento che per l'inferenza quando si utilizzano set di dati di ragionamento e disabilitarlo per entrambi quando si utilizzano set di dati non di ragionamento.

**Nota**  
Per ulteriori informazioni sulle immagini dei contenitori e sulle ricette di esempio, consulta le ricette di Amazon Nova. [Ricette Amazon Nova](nova-model-recipes.md)

## Avvio di un lavoro di messa a punto su SageMaker HyperPod
<a name="nova-sft-2-creating-job"></a>

### Preparazione dei dati
<a name="nova-sft-2-preparing-data"></a>

Per informazioni sul formato dei dati, sulle funzionalità supportate, sui vincoli e sulle best practice per la preparazione dei dati di formazione SFT, vedere. [Preparazione dei dati per SFT su Amazon Nova 2](nova-data-prep-sft-2.md)

### Caricamento dei dati
<a name="nova-sft-2-data-upload"></a>

Carica i set di dati di formazione e convalida in un bucket S3. Specifica queste posizioni nel blocco della ricetta: `run`

```
## Run config
run:
  ...
  data_s3_path: "s3://<bucket-name>/<training-directory>/<training-file>.jsonl"
```

**Nota**  
Sostituisci `<bucket-name>``<training-directory>`, `<validation-directory>``<training-file>`, e `<validation-file>` con i percorsi S3 effettivi.

**Nota**  
I set di dati di convalida non sono attualmente supportati per SFT con Amazon Nova 2.0. Se viene fornito un set di dati di convalida, verrà ignorato.

### Definizione della configurazione
<a name="nova-sft-2-defining-config"></a>

Definisci il modello base utilizzando i `model_name_or_path` campi `model_type` e nel `run` blocco:

```
## Run config
run:
  ...
  model_type: amazon.nova-2-lite-v1:0:256k
  model_name_or_path: nova-lite-2/prod
  ...
```

## Parametri di ottimizzazione SFT
<a name="nova-sft-2-tuning-parameters"></a>

I parametri disponibili per l'ottimizzazione con SFT includono:

**Configurazione run**  

+ **nome**: un nome descrittivo per il tuo lavoro di formazione. Questo aiuta a identificare il lavoro nella console di AWS gestione.
+ **model\_type**: la variante del modello Amazon Nova da utilizzare. Le opzioni disponibili sono. `amazon.nova-2-lite-v1:0:256k`
+ **model\_name\_or\_path**: il percorso del modello base da utilizzare per l'allenamento. Le opzioni disponibili sono`nova-lite-2/prod`, o il percorso S3 per il checkpoint post-allenamento (). `s3://customer-escrow-bucket-unique_id/training_run_name`
+ **repliche**: il numero di istanze di calcolo da utilizzare per l'addestramento distribuito. I valori disponibili variano in base al modello scelto. Amazon Nova Lite 2.0 supporta 4, 8, 16 o 32 repliche.
+ **data\_s3\_path**: la posizione S3 del set di dati di training, che è un file JSONL. Questo file deve risiedere nello stesso account e nella stessa regione del cluster. AWS Tutte le posizioni S3 fornite devono trovarsi nello stesso account e nella stessa Regione.
+ **validation\_data\_s3\_path**: (Facoltativo) La posizione S3 del set di dati di convalida, che è un file JSONL. Questo file deve trovarsi nello stesso account e nella stessa Regione del cluster. Tutte le posizioni S3 fornite devono trovarsi nello stesso account e nella stessa Regione.
+ **output\_s3\_path: la posizione S3 in cui sono archiviati il manifest e i log. ** TensorBoard Tutte le sedi S3 fornite devono trovarsi nello stesso account e nella stessa regione. AWS AWS 
+ **mlflow\_tracking\_uri**: l'ARN dell'app MLFlow da utilizzare per la registrazione MLFlow.
+ **mlflow\_experiment\_name**: nome dell'esperimento MLFlow.
+ **mlflow\_run\_name: nome dell'esecuzione MLFlow. **

**Configurazione di addestramento**  

+ **max\_steps**: il numero di fasi di allenamento da eseguire. Ogni fase addestrerà il modello con un `global_batch_size` numero di elementi.
+ **save\_steps**: La frequenza (in passaggi) con cui salvare i checkpoint del modello durante l'addestramento.
+ **save\_top\_k**: il numero massimo di checkpoint migliori da conservare in base alle metriche di convalida.
+ **max\_length: ** la lunghezza massima della sequenza in token. Determina la dimensione della finestra di contesto per l’addestramento. Il valore massimo supportato è 32768 token per SFT.

  Sequenze più lunghe migliorano l’efficienza di addestramento a scapito di maggiori requisiti di memoria. Ti consigliamo di abbinare il parametro max\_length alla tua distribuzione dei dati.
+ **global\_batch\_size**: il numero totale di campioni di formazione elaborati insieme in un unico passaggio avanti o indietro su tutti i dispositivi e i lavoratori.

  Questo valore moltiplica la dimensione del batch per dispositivo e il numero di dispositivi. Influisce sulla stabilità dell’addestramento e sul throughput. È consigliabile iniziare con un batch di dimensioni idonee per la memoria e quindi aumentare verticalmente. Per i dati specifici del dominio, batch di dimensioni maggiori potrebbero rendere i gradienti eccessivamente uniformi.
+ **reasoning\_enabled**: flag booleano per abilitare le capacità di ragionamento durante l'allenamento.

**Pianificatore del tasso di apprendimento**  

+ **warmup\_steps**: il numero di passaggi per aumentare gradualmente il tasso di apprendimento. Migliora la stabilità dell’addestramento.
+ **min\_lr**: il tasso di apprendimento minimo alla fine del decadimento. I valori validi sono compresi tra 0 e 1, entrambi inclusi, ma devono essere inferiori al tasso di apprendimento.

**Configurazione optimizer**  

+ **lr**: Il tasso di apprendimento, che controlla la dimensione del passo durante l'ottimizzazione. Sono consigliabili valori compresi tra 1e-6 e 1e-4 per ottenere buone prestazioni. I valori validi sono compresi tra 0 e 1, entrambi inclusi.
+ **weight\_decay**: la forza di regolarizzazione L2. Valori maggiori (compresi tra 0,01 e 0,1) aumentano la regolarizzazione.
+ **adam\_beta1**: Il tasso di decadimento esponenziale per il primo momento è stato stimato in Adam Optimizer. L'impostazione predefinita è 0,9.
+ **adam\_beta2**: il tasso di decadimento esponenziale per il secondo momento è stimato in Adam Optimizer. L'impostazione predefinita è 0,95.

**Configurazione PEFT**  

+ **peft\_scheme**: lo schema di regolazione fine efficiente in termini di parametri da utilizzare. Le opzioni sono per la messa a punto completa o per la messa a punto. `'null'` `lora` LoRA-based 

**Ottimizzazione LoRa (quando peft\_scheme è 'lora')**  

+ **alpha**: Il parametro di ridimensionamento LoRa. Controlla l'entità dell'adattamento di basso rango. I valori tipici vanno da 8 a 128.
+ **lora\_plus\_lr\_ratio**: il rapporto del tasso di apprendimento per l'ottimizzazione di LoRA\+. Questo moltiplicatore regola il tasso di apprendimento in modo specifico per i parametri LoRa.

## Guida agli iperparametri
<a name="nova-sft-2-hyperparameters"></a>

Utilizza i seguenti iperparametri consigliati in base all'approccio formativo:

**Allenamento a livello completo **
+ **Epoche: 1 **
+ **Tasso di apprendimento (lr): 1e-5 **
+ **Tasso minimo di apprendimento (min\_lr): 1e-6 **

**Low-Rank LoRa (adattamento) **
+ **Epoche: 2 **
+ **Tasso di apprendimento (lr): 5e-5 **
+ **Tasso minimo di apprendimento (min\_lr): 1e-6 **

**Nota**  
Modifica questi valori in base alle dimensioni del set di dati e alle prestazioni di convalida. Monitora le metriche di formazione per evitare un sovradattamento.