

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

# Informazioni sui parametri delle ricette
<a name="customize-fine-tune-evaluate-understand-modify"></a>

**Configurazione run**  
Di seguito è riportata una configurazione di tipo run generale con una spiegazione dei parametri coinvolti.

```
run:
  name: eval_job_name
  model_type: amazon.nova-micro-v1:0:128k
  model_name_or_path: nova-micro/prod
  replicas: 1
  data_s3_path: ""
  output_s3_path: s3://output_path
  mlflow_tracking_uri: ""
  mlflow_experiment_name : ""
  mlflow_run_name : ""
```
+ `name`: (obbligatorio) un nome descrittivo per il processo di valutazione. Questo aiuta a identificare il tuo lavoro nella AWS console.
+ `model_type`: (obbligatorio) specifica la variante del modello Amazon Nova da utilizzare. Non modificare manualmente questo campo. Le opzioni includono:
  + `amazon.nova-micro-v1:0:128k`
  + `amazon.nova-lite-v1:0:300k`
  + `amazon.nova-pro-v1:0:300k`
  + `amazon.nova-2-lite-v1:0:256k`
+ `model_name_or_path`: (obbligatorio) il percorso del modello di base o il percorso S3 per il checkpoint post-addestrato. Le opzioni includono:
  + `nova-micro/prod`
  + `nova-lite/prod`
  + `nova-pro/prod`
  + `nova-lite-2/prod`
  + (Percorso S3 per il checkpoint post-addestrato) `s3://<escrow bucket>/<job id>/outputs/checkpoints`
+ `replicas`: (obbligatorio) il numero di istanze di calcolo da utilizzare per l’addestramento distribuito. È necessario impostare questo valore su 1, perché la modalità multinodo non è supportata.
+ `data_s3_path`: (obbligatorio) il percorso S3 del set di dati di input. Lascia vuoto questo parametro, se non in caso di utilizzo di una ricetta *Bring Your Own Dataset* o *LLM-as-a-judge*.
+ `output_s3_path`: (obbligatorio) il percorso S3 per archiviare gli artefatti di valutazione dell’output. Il bucket S3 di output deve essere creato dallo stesso account che crea il processo.
+ `mlflow_tracking_uri`: (Opzionale) ARN del server di MLflow tracciamento per tracciare MLFlow esecuzioni/esperimenti. Assicurati di avere il permesso di accedere al server di tracciamento dal SageMaker ruolo di esecuzione AI

**Configurazione evaluation**  
Di seguito è riportata una configurazione di tipo evaluation del modello con una spiegazione dei parametri coinvolti.

```
evaluation:
  task: mmlu
  strategy: zs_cot
  subtask: mathematics
  metric: accuracy
```
+ `task`: (obbligatorio) specifica il benchmark o l’attività di valutazione da utilizzare.

  Elenco delle attività supportate:
  + mmlu
  + mmlu\$1pro
  + bbh
  + gpqa
  + matematica
  + strong\$1reject
  + gen\$1qa
  + ifeval
  + llm\$1judge
  + humaneval
  + mm\$1llm\$1judge
  + rubric\$1llm\$1judge
  + aime\$12024
  + calendario\$1programmazione
  + humaneval
+ `strategy`: (obbligatorio) definisce l’approccio di valutazione:
  + zs\$1cot: Zero-shot Chain-of-Thought - Un approccio per suggerire modelli linguistici di grandi dimensioni che incoraggia il ragionamento senza richiedere esempi espliciti. step-by-step
  + zs: Zero-shot - Un approccio per risolvere un problema senza esempi di addestramento precedenti.
  + gen\$1qa: una strategia specifica per ricette di tipo Bring Your Own Dataset.
  + judge: una strategia specifica per Amazon Nova LLM come Judge e mm\$1llm\$1judge.
+ `subtask`: (facoltativo e rimovibile) specifica una determinata sottoattività per alcune attività di valutazione. Rimuovila dalla tua ricetta se la tua attività non include sottoattività.
+ `metric`: (obbligatorio) la metrica di valutazione da utilizzare.
  + accuracy: percentuale di risposte corrette
  + exact\$1match: (per il benchmark `math`), restituisce la velocità con cui le stringhe previste nell’input corrispondono esattamente ai loro riferimenti.
  + deflection: (per il benchmark `strong reject`), restituisce la deviazione relativa rispetto al modello di base e la differenza nelle metriche di significatività.
  + pass@1: (per il benchmark `humaneval`) è una metrica utilizzata per misurare la percentuale di casi in cui la previsione con la massima affidabilità del modello corrisponde alla risposta corretta.
  + `all`: restituisce le seguenti metriche:
    + Per un benchmark Bring Your Own Dataset e `gen_qa`, restituisce le seguenti metriche:
      + `rouge1`: misura la sovrapposizione di unigrammi (parole singole) tra il testo generato e quello di riferimento.
      + `rouge2`: misura la sovrapposizione di bigrammi (due parole consecutive) tra il testo generato e quello di riferimento.
      + `rougeL`: misura la sottosequenza comune più lunga tra testi, tenendo conto di lacune nella corrispondenza.
      + `exact_match`: punteggio binario (0 oppure 1) che indica se il testo generato corrisponde esattamente al testo di riferimento, carattere per carattere.
      + `quasi_exact_match`: simile alla corrispondenza esatta, ma meno rigida, in genere ignora le differenze tra maiuscole e minuscole, punteggiatura e spazi.
      + `f1_score`: media armonica di precisione e richiamo, che misura la sovrapposizione di parole tra le risposte previste e quelle di riferimento.
      + `f1_score_quasi`: simile a f1\$1score, ma con una corrispondenza meno rigida, utilizza un confronto di testo normalizzato che ignora differenze minori.
      + `bleu`: misura la precisione delle corrispondenze in n-grammi tra il testo generato e quello di riferimento, comunemente utilizzate nella valutazione delle traduzioni.
    + Inoltre`mm_llm_judge`, porta il tuo `llm_judge` benchmark personale per il set di dati, restituisci le seguenti metriche:
      + `a_scores`: numero di vittorie per `response_A` nei passaggi di valutazione avanti e indietro.
      + `a_scores_stderr`: errore standard di `response_A scores` nei giudizi a coppie.
      + `b_scores`: numero di vittorie per `response_B` nei passaggi di valutazione avanti e indietro.
      + `b_scores_stderr`: errore standard di `response_B scores` nei giudizi a coppie.
      + `ties`: numero di giudizi in cui `response_A` e `response_B` sono valutati in modo uguale.
      + `ties_stderr`: errore standard di ties nei giudizi a coppie.
      + `inference_error`: numero di giudizi che non è stato possibile valutare correttamente.
      + `inference_error_stderr`: errore standard degli errori di inferenza nei i giudizi.
      + `score`: punteggio aggregato basato sulle vittorie nei passaggi avanti e indietro per `response_B`.
      + `score_stderr`: errore standard del punteggio aggregato nei giudizi a coppie.
      + `winrate`: la probabilità che response\$1B venga preferito rispetto a response\$1a calcolato utilizzando la probabilità di Bradley-Terry.
      + `lower_rate`: limite inferiore (percentile 2,5) del tasso di successo stimato derivante dal campionamento bootstrap.

**Configurazione inference**  
Di seguito è riportata una configurazione di tipo inference con una spiegazione dei parametri coinvolti. Tutti i parametri sono opzionali:

```
inference:
  max_new_tokens: 200
  top_k: -1
  top_p: 1.0
  temperature: 0
  top_logprobs: 10
  reasoning_effort: null  # options: low/high to enable reasoning or null to disable reasoning
```
+ `max_new_tokens`: il numero massimo di token da generare. Deve essere un numero intero.
+ `top_k`: il numero di token con la più alta probabilità da considerare. Deve essere un numero intero.
+ `top_p`: la soglia di probabilità cumulativa per il campionamento tramite token. Deve essere un valore decimale compreso tra 0,0 e 1,0, entrambi inclusi.
+ `temperature`: casualità nella selezione dei token. Valori più grandi introducono una maggiore casualità. Usa 0 per rendere deterministici i risultati. Deve essere un valore decimale minimo pari a 0.
+ `top_logprobs`: Il numero di migliori logprobs da restituire nella risposta di inferenza. Questo valore deve essere un numero intero compreso tra 0 e 20. I logprobs contengono i token di output considerati e le probabilità di registro di ogni token di output restituito nel contenuto del messaggio.
+ `reasoning_effort`: controlla il comportamento di ragionamento per modelli in grado di ragionare. Imposta `reasoning_effort` solo quando `model_type` specifica un modello in grado di ragionare (attualmente). `amazon.nova-2-lite-v1:0:256k` Le opzioni disponibili sono `null` (valore predefinito se non impostato; disabilita il ragionamento), o. `low` `high`

Per `humaneval` è consigliabile la configurazione inference seguente:

```
inference:
  top_k: 1
  max_new_tokens: 1600
  temperature: 0.0
```

**MLFlow configurazione**  
Di seguito è riportata una MLFlow configurazione e una spiegazione dei parametri coinvolti. Tutti i parametri sono opzionali:

```
run:
  mlflow_tracking_uri: ""
  mlflow_experiment_name: ""
  mlflow_run_name: ""
```
+ `mlflow_tracking_uri`: Facoltativo) La posizione del server di MLflow tracciamento (necessaria solo su SMHP)
+ `mlflow_experiment_name`: (Facoltativo) Nome dell'esperimento per raggruppare le esecuzioni ML correlate
+ `mlflow_run_name`: (Facoltativo) Nome personalizzato per un corso di formazione specifico all'interno di un esperimento