

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Bewerten Ihres trainierten Modells
<a name="nova-hp-evaluate"></a>

Ein Bewertungsrezept ist eine YAML-Konfigurationsdatei, die definiert, wie Ihr Amazon-Nova-Modellbewertungsjob ausgeführt wird. Mit diesem Rezept können Sie die Leistung eines Basismodells oder eines trainierten Modells anhand gängiger Benchmarks oder Ihrer eigenen benutzerdefinierten Datensätze bewerten. Metriken können in Amazon S3 oder gespeichert werden TensorBoard. Die Bewertung bietet quantitative Metriken, anhand derer Sie die Modellleistung bei verschiedenen Aufgaben beurteilen können, um festzustellen, ob weitere Anpassungen erforderlich sind.

Die Modellbewertung ist ein Offline-Prozess, bei dem Modelle anhand festgelegter Benchmarks mit vordefinierten Antworten getestet werden. Sie werden nicht in Echtzeit oder anhand von Live-Benutzerinteraktionen bewertet. Für Evaluierungen in Echtzeit können Sie das Modell nach der Bereitstellung in Amazon Bedrock auswerten, indem Sie die Amazon Bedrock-Laufzeit aufrufen. APIs

**Wichtig**  
Der Evaluierungscontainer unterstützt nur Checkpoints, die von derselben Trainingsplattform erstellt wurden. Checkpoints, die mit erstellt wurden, SageMaker HyperPod können nur mithilfe des SageMaker HyperPod Evaluierungs-Workflows bewertet werden, und Checkpoints, die mit SageMaker Trainingsjobs erstellt wurden, können nur mithilfe des Workflows zur Bewertung von SageMaker Trainingsjobs bewertet werden. Der Versuch, einen Checkpoint von einer anderen Plattform aus zu bewerten, schlägt fehl.

**Topics**
+ [Verfügbare Benchmark-Aufgaben](customize-fine-tune-evaluate-available-tasks.md)
+ [Verstehen der Rezeptparameter](customize-fine-tune-evaluate-understand-modify.md)
+ [Beispiele für Bewertungsrezepte](customize-fine-tune-evaluate-recipe-examples.md)
+ [Starten eines Bewertungsjobs](customize-fine-tune-evaluate-start-job.md)
+ [Zugriff auf und Analyse der Bewertungsergebnisse](customize-fine-tune-evaluate-access-results.md)

# Verfügbare Benchmark-Aufgaben
<a name="customize-fine-tune-evaluate-available-tasks"></a>

Es ist ein Beispielcodepaket verfügbar, das zeigt, wie Benchmark-Metriken mithilfe der SageMaker KI-Modellbewertungsfunktion für Amazon Nova berechnet werden. Informationen zum Zugriff auf die Codepakete finden Sie unter [Sample-n ova-lighteval-custom-task](https://github.com/aws-samples/sample-Nova-lighteval-custom-task/).

Hier finden Sie eine Liste unterstützter, verfügbarer Industriestandard-Benchmarks. Sie können die folgenden Benchmarks für den Parameter `eval_task` angeben:


| Benchmark | Modalität | Description | Kennzahlen | Strategie | Unteraufgabe verfügbar | 
| --- |--- |--- |--- |--- |--- |
| mmlu | Text | Sprachverständnis für mehrere Aufgaben – testet Wissen in 57 Themen. | Richtigkeit | zs\$1cot | Ja | 
| mmlu\$1pro | Text | MMLU – professioneller Bereich – konzentriert sich auf Fachbereiche wie Recht, Medizin, Rechnungswesen und Ingenieurwesen. | Richtigkeit | zs\$1cot | Nein | 
| bbh | Text | Fortschrittliche Argumentationsaufgaben – eine Sammlung herausfordernder Probleme, die kognitive Fähigkeiten und Fähigkeiten zur Problemlösung auf höherem Niveau auf die Probe stellen. | Richtigkeit | zs\$1cot | Ja | 
| gpqa | Text | Beantwortung allgemeiner Fragen zur Physik – beurteilt das Verständnis physikalischer Konzepte und die damit verbundenen Fähigkeiten zur Problemlösung. | Richtigkeit | zs\$1cot | Nein | 
| math | Text | Mathematische Problemlösung – bewertet mathematische Überlegungen in verschiedenen Themenbereichen wie Algebra, Infinitesimalrechnung und Textaufgaben. | exact\$1match | zs\$1cot | Ja | 
| strong\$1reject | Text | Aufgabe zur Qualitätskontrolle – Testet die Fähigkeit des Modells, unangemessene, schädliche oder falsche Inhalte zu erkennen und abzulehnen. | deflection | zs | Ja | 
| IFEval | Text | Bewertung der Anweisungsbefolgung – Prüft, wie genau ein Modell die Anweisungen befolgt und die Aufgaben gemäß den Spezifikationen ausführt. | Richtigkeit | zs | Nein | 
| gen\$1qa | Text | Benutzerdefinierte Datensatzbewertung – Ermöglicht es Ihnen, Ihren eigenen Datensatz für das Benchmarking zu verwenden und Modellergebnisse mit Referenzantworten anhand von Metriken wie ROUGE und BLEU zu vergleichen. | all | gen\$1qa | Nein | 
| llm\$1judge | Text | LLM-as-a-Judge Präferenzvergleich — Verwendet ein Nova Judge-Modell, um die Präferenz zwischen Antwortpaaren (B im Vergleich zu A) für Ihre Eingabeaufforderungen zu ermitteln und die Wahrscheinlichkeit zu berechnen, dass B gegenüber A bevorzugt wird. | all | judge | Nein | 
| humaneval | Text | HumanEval - Ein Benchmark-Datensatz zur Bewertung der Fähigkeiten zur Codegenerierung großer Sprachmodelle | pass@1 | zs | Nein | 
|  mm\$1llm\$1judge  |  Multimodal (Bild)  |  Dieser neue Benchmark verhält sich genauso wie der obige textbasierte `llm_judge` Benchmark. Der einzige Unterschied besteht darin, dass er Bildinferenz unterstützt.  |  all  |  judge  |  Nein  | 
|  rubric\$1llm\$1judge  | Text |  Rubric Judge ist ein erweitertes LLM-as-a-judge Evaluierungsmodell, das auf Nova 2.0 Lite basiert. Im Gegensatz zum [ursprünglichen Richtermodell](https://aws.amazon.com/blogs/machine-learning/evaluating-generative-ai-models-with-amazon-nova-llm-as-a-judge-on-amazon-sagemaker-ai/), das nur Präferenzurteile vorsieht, generiert Rubric Judge dynamisch benutzerdefinierte Bewertungskriterien, die auf jede Aufforderung zugeschnitten sind, und weist detaillierte Bewertungen für mehrere Dimensionen zu.  |  all  |  judge  |  Nein  | 
|  aime\$12024  | Text |  AIME 2024 — Prüfungsaufgaben auf Einladung der American Invitational Mathematics zur Prüfung von fortgeschrittenem mathematischen Denken und Problemlösen  |  exact\$1match  |  zs\$1cot  | Nein | 
|  Calendar\$1Scheduling  | Text |  Natural Plan — Kalendar Scheduling — Aufgabe zum Testen von Planungsfunktionen für die Planung von Besprechungen für mehrere Tage und Personen  |  exact\$1match  |  fs  | Nein | 

Die folgenden `mmlu`-Unteraufgaben sind verfügbar:

```
MMLU_SUBTASKS = [
    "abstract_algebra",
    "anatomy",
    "astronomy",
    "business_ethics",
    "clinical_knowledge",
    "college_biology",
    "college_chemistry",
    "college_computer_science",
    "college_mathematics",
    "college_medicine",
    "college_physics",
    "computer_security",
    "conceptual_physics",
    "econometrics",
    "electrical_engineering",
    "elementary_mathematics",
    "formal_logic",
    "global_facts",
    "high_school_biology",
    "high_school_chemistry",
    "high_school_computer_science",
    "high_school_european_history",
    "high_school_geography",
    "high_school_government_and_politics",
    "high_school_macroeconomics",
    "high_school_mathematics",
    "high_school_microeconomics",
    "high_school_physics",
    "high_school_psychology",
    "high_school_statistics",
    "high_school_us_history",
    "high_school_world_history",
    "human_aging",
    "human_sexuality",
    "international_law",
    "jurisprudence",
    "logical_fallacies",
    "machine_learning",
    "management",
    "marketing",
    "medical_genetics",
    "miscellaneous",
    "moral_disputes",
    "moral_scenarios",
    "nutrition",
    "philosophy",
    "prehistory",
    "professional_accounting",
    "professional_law",
    "professional_medicine",
    "professional_psychology",
    "public_relations",
    "security_studies",
    "sociology",
    "us_foreign_policy",
    "virology",
    "world_religions"
]
```

Die folgenden `bbh`-Unteraufgaben sind verfügbar:

```
BBH_SUBTASKS = [
    "boolean_expressions",
    "causal_judgement",
    "date_understanding",
    "disambiguation_qa",
    "dyck_languages",
    "formal_fallacies",
    "geometric_shapes",
    "hyperbaton",
    "logical_deduction_five_objects",
    "logical_deduction_seven_objects",
    "logical_deduction_three_objects",
    "movie_recommendation",
    "multistep_arithmetic_two",
    "navigate",
    "object_counting",
    "penguins_in_a_table",
    "reasoning_about_colored_objects",
    "ruin_names",
    "salient_translation_error_detection",
    "snarks",
    "sports_understanding",
    "temporal_sequences",
    "tracking_shuffled_objects_five_objects",
    "tracking_shuffled_objects_seven_objects",
    "tracking_shuffled_objects_three_objects",
    "web_of_lies",
    "word_sorting"
]
```

Die folgenden `math`-Unteraufgaben sind verfügbar:

```
MATH_SUBTASKS = [
    "algebra",
    "counting_and_probability",
    "geometry",
    "intermediate_algebra",
    "number_theory",
    "prealgebra",
    "precalculus",
]
```

# Verstehen der Rezeptparameter
<a name="customize-fine-tune-evaluate-understand-modify"></a>

**Ausführungskonfiguration**  
Im Folgenden finden Sie eine allgemeine Ausführungskonfiguration und eine Erläuterung der jeweiligen Parameter.

```
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`: (erforderlich) ein beschreibender Name für Ihren Bewertungsjob. Dies hilft Ihnen, Ihren Job in der AWS Konsole zu identifizieren.
+ `model_type`: (erforderlich) gibt die zu verwendende Amazon-Nova-Modellvariante an. Ändern Sie dieses Feld nicht manuell. Zu den Optionen gehören:
  + `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`: (erforderlich) der Pfad zum Basismodell oder zum S3-Pfad für den Checkpoint nach dem Training. Zu den Optionen gehören:
  + `nova-micro/prod`
  + `nova-lite/prod`
  + `nova-pro/prod`
  + `nova-lite-2/prod`
  + (S3-Pfad für den Checkpoint nach dem Training) `s3://<escrow bucket>/<job id>/outputs/checkpoints`
+ `replicas`: (erforderlich) die Anzahl der Datenverarbeitungs-Instances, die für das verteilte Training verwendet werden sollen. Sie müssen diesen Wert auf 1 setzen, da mehrere Knoten nicht unterstützt werden.
+ `data_s3_path`: (erforderlich) der S3-Pfad zum Eingabe-Datensatz. Lassen Sie diesen Parameter leer, es sei denn, Sie verwenden das Rezept *Eigenen Datensatz verwenden* oder *LLM-as-a-Judge*.
+ `output_s3_path`: (erforderlich) der S3-Pfad zum Speichern von Artefakten aus der Ausgabebewertung. Beachten Sie, dass der S3-Ausgabe-Bucket von demselben Konto erstellt werden muss, das den Job erstellt.
+ `mlflow_tracking_uri`: (Optional) MLflow Tracking-Server-ARN zum Verfolgen von MLFlow Läufen/Experimenten. Bitte stellen Sie sicher, dass Sie über die AI-Ausführungsrolle berechtigt sind, auf den Tracking-Server zuzugreifen SageMaker 

**Bewertungskonfiguration**  
Im Folgenden finden Sie eine Konfiguration für die Modellbewertung und eine Erläuterung der jeweiligen Parameter.

```
evaluation:
  task: mmlu
  strategy: zs_cot
  subtask: mathematics
  metric: accuracy
```
+ `task`: (erforderlich) gibt den Bewertungs-Benchmark oder die zu verwendende Aufgabe an.

  Liste unterstützter Aufgaben:
  + mmlu
  + mmlu\$1pro
  + bbh
  + gpqa
  + math
  + strong\$1reject
  + gen\$1qa
  + ifeval
  + llm\$1judge
  + humaneval
  + mm\$1llm\$1judge
  + rubric\$1llm\$1judge
  + aime\$12024
  + Kalender\$1Terminplanung
  + humaneval
+ `strategy`: (erforderlich) definiert den Bewertungsansatz:
  + zs\$1cot: Zero-shot Chain-of-Thought — Ein Ansatz zur Entwicklung umfangreicher Sprachmodelle, der zum Nachdenken anregt step-by-step, ohne dass explizite Beispiele erforderlich sind.
  + zs: Zero-shot – ein Ansatz zur Lösung eines Problems ohne vorherige Trainingsbeispiele
  + gen\$1qa: eine Strategie, die speziell für Rezepte mit eigenem Datensatz entwickelt wurde
  + judge: Eine spezifische Strategie für Amazon Nova LLM as Judge und mm\$1llm\$1judge.
+ `subtask`: (optional und entfernbar) legt eine spezifische Unteraufgabe für bestimmte Bewertungsaufgaben fest. Entfernen Sie dies aus Ihrem Rezept, wenn Ihre Aufgabe keine Unteraufgaben hat.
+ `metric`: (erforderlich) die zu verwendende Bewertungsmetrik
  + accuracy: Prozentsatz der richtigen Antworten
  + exact\$1match: (für `math`-Benchmark) gibt die Rate zurück, mit der die eingegebenen vorhergesagten Zeichenketten exakt mit ihren Referenzen übereinstimmen.
  + deflection: (für `strong reject`-Benchmark) gibt die relative Abweichung vom Basismodell und die Differenz der Signifikanzmetriken zurück.
  + pass@1: (für `humaneval`-Benchmark) ist eine Metrik, die verwendet wird, um den Prozentsatz der Fälle zu messen, in denen die Vorhersage des Modells mit der höchsten Konfidenz mit der richtigen Antwort übereinstimmt.
  + `all`: gibt die folgenden Metriken zurück:
    + Gibt für `gen_qa` und das Benchmarking mit eigenem Datensatz die folgenden Metriken zurück:
      + `rouge1`: misst die Überlappung von Unigrammen (einzelnen Wörtern) zwischen generiertem Text und Referenztext.
      + `rouge2`: misst die Überlappung von Bigrammen (zwei aufeinanderfolgenden Wörtern) zwischen generiertem Text und Referenztext.
      + `rougeL`: misst die längste gemeinsame Teilsequenz zwischen Texten und berücksichtigt Lücken beim Abgleich.
      + `exact_match`: binärer Wert (0 oder 1), der angibt, ob der generierte Text Zeichen für Zeichen exakt mit dem Referenztext übereinstimmt.
      + `quasi_exact_match`: ähnlich wie Exact Match, aber weniger strikt, wobei in der Regel Unterschiede zwischen Groß- und Kleinschreibung, Zeichensetzung und Leerzeichen ignoriert werden
      + `f1_score`: harmonisches Mittel zwischen Präzision und Erinnerungswert, das die Wortüberschneidung zwischen vorhergesagten Antworten und Referenzantworten misst
      + `f1_score_quasi`: ähnlich wie f1\$1score, jedoch mit weniger striktem Abgleich, bei dem normalisierter Text verglichen und geringfügige Unterschiede ignoriert werden
      + `bleu`: misst die Genauigkeit von N-Gramm-Übereinstimmungen zwischen generiertem Text und Referenztext, was häufig bei der Bewertung von Übersetzungen verwendet wird.
    + Geben Sie für `llm_judge` und`mm_llm_judge`, bringen Sie Ihren eigenen Datensatz-Benchmark mit, folgende Kennzahlen zurück:
      + `a_scores`: Anzahl der Siege von `response_A` bei Vorwärts- und Rückwärtsdurchläufen zur Bewertung
      + `a_scores_stderr`: Standardfehler von `response_A scores` bei paarweisen Beurteilungen.
      + `b_scores`: Anzahl der Siege von `response_B` bei Vorwärts- und Rückwärtsdurchläufen zur Bewertung.
      + `b_scores_stderr`: Standardfehler von `response_B scores` bei paarweisen Beurteilungen.
      + `ties`: Anzahl der Beurteilungen, bei denen `response_A` und `response_B` als gleichwertig bewertet wurden.
      + `ties_stderr`: Standardfehler von Verbindungen bei paarweisen Beurteilungen.
      + `inference_error`: Anzahl der Beurteilungen, die nicht richtig bewertet werden konnten.
      + `inference_error_stderr`: Standardfehler von Inferenzfehlern bei allen Beurteilungen.
      + `score`: Gesamtpunktzahl basierend auf Siegen aus Vorwärts- und Rückwärtsdurchläufen für `response_B`.
      + `score_stderr`: Standardfehler der Gesamtpunktzahl bei paarweisen Beurteilungen.
      + `winrate`: die Wahrscheinlichkeit, dass response\$1B gegenüber response\$1A vorgezogen wird, berechnet anhand der Bradley-Terry-Wahrscheinlichkeit.
      + `lower_rate`: Untergrenze (2,5. Perzentil) der geschätzten Gewinnrate aus dem Bootstrap-Sampling.

**Inferenzkonfiguration**  
Im Folgenden finden Sie eine Inferenzkonfiguration und eine Erläuterung der jeweiligen Parameter. Alle Parameter sind optional.

```
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`: die maximale Anzahl der zu generierenden Token. Dieser Wert muss eine Ganzzahl sein.
+ `top_k`: die Anzahl der zu berücksichtigenden Tokens mit der höchsten Wahrscheinlichkeit. Dieser Wert muss eine Ganzzahl sein.
+ `top_p`: der kumulative Wahrscheinlichkeitsschwellenwert für das Token-Sampling. Dies muss ein Gleitkommazahl zwischen 0,0 und höchstens 1,0 sein.
+ `temperature`: Zufälligkeit bei der Token-Auswahl. Größere Werte führen zu mehr Zufälligkeit. Verwenden Sie 0, um deterministische Ergebnisse zu erhalten. Dieser Wert muss eine Gleitkommazahl mit einem Mindestwert von 0 sein.
+ `top_logprobs`: Die Anzahl der wichtigsten Logprobs, die in der Inferenzantwort zurückgegeben werden sollen. Dieser Wert muss eine Ganzzahl zwischen 0 und 20 sein. Logprobs enthalten die betrachteten Ausgabetokens und die Protokollwahrscheinlichkeiten jedes im Nachrichteninhalt zurückgegebenen Ausgabetokens.
+ `reasoning_effort`: steuert das Argumentationsverhalten für Modelle, die zum Denken fähig sind. Wird `reasoning_effort` nur gesetzt, wenn (derzeit) ein `model_type` Modell angegeben wird, das zu Argumenten fähig ist. `amazon.nova-2-lite-v1:0:256k` Verfügbare Optionen sind `null` (Standardwert, falls nicht festgelegt; deaktiviert Argumentation), oder. `low` `high`

Beachten Sie, dass wir für `humaneval` die folgende Inferenzkonfiguration empfehlen:

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

**MLFlow Konfiguration**  
Im Folgenden finden Sie eine MLFlow Konfiguration und eine Erläuterung der beteiligten Parameter. Alle Parameter sind optional.

```
run:
  mlflow_tracking_uri: ""
  mlflow_experiment_name: ""
  mlflow_run_name: ""
```
+ `mlflow_tracking_uri`: Optional) Der Standort des MLflow Tracking-Servers (nur auf SMHP erforderlich)
+ `mlflow_experiment_name`: (Optional) Name des Experiments zur Gruppierung verwandter ML-Läufe
+ `mlflow_run_name`: (Optional) Benutzerdefinierter Name für einen bestimmten Trainingslauf innerhalb eines Experiments

# Beispiele für Bewertungsrezepte
<a name="customize-fine-tune-evaluate-recipe-examples"></a>

Amazon Nova bietet vier Arten von Bewertungsrezepten, die im SageMaker HyperPod GitHub Rezepte-Repository verfügbar sind.

## Allgemeine Text-Benchmark-Rezepte
<a name="nova-model-hp-evaluation-config-example-text"></a>

Diese Rezepte ermöglichen es Ihnen, die grundlegenden Funktionen von Amazon-Nova-Modellen anhand einer umfassenden Suite von reinen Text-Benchmarks zu bewerten. Sie werden im Format `xxx_general_text_benchmark_eval.yaml` bereitgestellt.

## Benchmark-Rezepte mit eigenem Datensatz
<a name="nova-model-hp-evaluation-config-byo"></a>

Diese Rezepte ermöglichen es Ihnen, Ihren eigenen Datensatz für das Benchmarking zu verwenden und die Modellergebnisse anhand verschiedener Arten von Metriken mit Referenzantworten zu vergleichen. Sie werden im Format `xxx_bring_your_own_dataset_eval.yaml` bereitgestellt. 

Im Folgenden sind die Anforderungen für die Verwendung Ihres eigenen Datensatzes aufgeführt:
+ Anforderungen an das Dateiformat
  + Sie müssen eine einzige `gen_qa.jsonl`-Datei mit Bewertungsbeispielen beifügen.
  + Ihr Datensatz muss an einen S3-Speicherort hochgeladen werden, an dem der SageMaker Schulungsjob darauf zugreifen kann.
  + Die Datei muss dem erforderlichen Schemaformat für einen allgemeinen Q&A-Datensatz entsprechen.
+ Anforderungen an das Schemaformat – jede Zeile in der JSONL-Datei muss ein JSON-Objekt mit den folgenden Feldern sein:
  + `query`: (erforderlich) Zeichenfolge, die die Frage oder Anweisung enthält, für die eine Antwort erforderlich ist
  + `response`: (erforderlich) Zeichenfolge, die die erwartete Modellausgabe enthält
  + `system`: (optional) Zeichenfolge, die den System-Prompt enthält, der vor der Verarbeitung der Abfrage das Verhalten, die Rolle oder die Persönlichkeit des KI-Modells festlegt
  + `metadata`: (Optional) Zeichenfolge, die Metadaten enthält, die dem Eintrag zu Tagging-Zwecken zugeordnet sind.

Hier ein Beispieleintrag zur Verwendung des eigenen Datensatzes

```
{
   "system":"You are a english major with top marks in class who likes to give minimal word responses: ",
   "query":"What is the symbol that ends the sentence as a question",
   "response":"?"
}
{
   "system":"You are a pattern analysis specialist that provides succinct answers: ",
   "query":"What is the next number in this series? 1, 2, 4, 8, 16, ?",
   "response":"32"
}
{
   "system":"You have great attention to detail that follows instructions accurately: ",
   "query":"Repeat only the last two words of the following: I ate a hamburger today and it was kind of dry",
   "response":"of dry"
}
```

Um Ihren benutzerdefinierten Datensatz zu verwenden, ändern Sie Ihr Bewertungsrezept mit den folgenden Pflichtfeldern, verändern Sie jedoch nicht den Inhalt:

```
evaluation:
  task: gen_qa
  strategy: gen_qa
  metric: all
```

Die folgenden Einschränkungen gelten:
+ Pro Bewertung ist nur eine JSONL-Datei zulässig.
+ Die Datei muss strikt dem definierten Schema folgen.
+ Begrenzung der Kontextlänge: Für jede Stichprobe im Datensatz sollte die Kontextlänge (einschließlich System- und Abfrageaufforderungen) weniger als 3,5 KB betragen.

## Benchmark-Rezepte für Nova LLM-as-a-Judge
<a name="nova-model-evaluation-config-llm-judge"></a>

Amazon Nova LLM-as-a-Judge ist eine Modellbewertungsfunktion, mit der Kunden die Qualität der Antworten eines Modells mit einer Antwort aus einem Basismodell anhand eines benutzerdefinierten Datensatzes vergleichen können. Sie verwendet einen Datensatz mit Prompts, Basisantworten und Herausforderungsantworten und stellt anhand eines Nova-Judge-Modells eine auf der [Bradley-Terry-Wahrscheinlichkeit](https://en.wikipedia.org/wiki/Bradley%E2%80%93Terry_model) basierende Gewinnratenmetrik mit paarweisen Vergleichen bereit.

Die Rezepte werden im Format `xxx_llm_judge_eval.yaml` bereitgestellt. 

Dies sind die Anforderungen für LLM-as-a-Judge:
+ Anforderungen an das Dateiformat
  + Fügen Sie eine einzige `llm_judge.jsonl`-Datei mit Bewertungsbeispielen hinzu. Der Dateiname muss `llm_judge.jsonl` lauten.
  + Ihr Datensatz muss an einen S3-Standort hochgeladen werden, auf den [SageMaker AI SageMaker HyperPod RIG zugreifen](https://docs.aws.amazon.com/sagemaker/latest/dg/nova-hp-cluster.html) kann.
  + Die Datei muss dem für den `llm_judge.jsonl`-Datensatz erforderlichen Schemaformat entsprechen.
  + Der Eingabedatensatz sollte sicherstellen, dass alle Datensätze eine Kontextlänge von weniger als 12 000 haben.
+ Anforderungen an das Schemaformat – jede Zeile in der JSONL-Datei muss ein JSON-Objekt mit den folgenden Feldern sein:
  + `prompt`: (erforderlich) eine Zeichenfolge, die den Prompt für die generierte Antwort enthält
  + `response_A`: eine Zeichenfolge, die die Basisantwort enthält
  + `response_B`: eine Zeichenfolge, die die alternative Antwort enthält, die mit der Basisantwort verglichen wird

Hier ein Beispieleintrag für LLM-as-a-Judge

```
{
"prompt": "What is the most effective way to combat climate change?",
"response_A": "The most effective way to combat climate change is through a combination of transitioning to renewable energy sources and implementing strict carbon pricing policies. This creates economic incentives for businesses to reduce emissions while promoting clean energy adoption.",
"response_B": "We should focus on renewable energy. Solar and wind power are good. People should drive electric cars. Companies need to pollute less."
}
{
"prompt": "Explain how a computer's CPU works",
"response_A": "CPU is like brain of computer. It does math and makes computer work fast. Has lots of tiny parts inside.",
"response_B": "A CPU (Central Processing Unit) functions through a fetch-execute cycle, where instructions are retrieved from memory, decoded, and executed through its arithmetic logic unit (ALU). It coordinates with cache memory and registers to process data efficiently using binary operations."
}
{
"prompt": "How does photosynthesis work?",
"response_A": "Plants do photosynthesis to make food. They use sunlight and water. It happens in leaves.",
"response_B": "Photosynthesis is a complex biochemical process where plants convert light energy into chemical energy. They utilize chlorophyll to absorb sunlight, combining CO2 and water to produce glucose and oxygen through a series of chemical reactions in chloroplasts."
}
```

Um Ihren benutzerdefinierten Datensatz zu verwenden, ändern Sie Ihr Bewertungsrezept mit den folgenden Pflichtfeldern, verändern Sie jedoch nicht den Inhalt:

```
evaluation:
  task: llm_judge
  strategy: judge
  metric: all
```

Die folgenden Einschränkungen gelten:
+ Pro Bewertung ist nur eine JSONL-Datei zulässig.
+ Die Datei muss strikt dem definierten Schema folgen.
+ Die Modelle von Amazon Nova Judge sind für die Spezifikationen aller Modellfamilien (d. h. Lite, Micro und Pro) identisch.
+ Benutzerdefinierte Judge-Modelle werden derzeit nicht unterstützt.
+ Begrenzung der Kontextlänge: Für jede Stichprobe im Datensatz sollte die Kontextlänge (einschließlich System- und Abfrageaufforderungen) weniger als 7 KB betragen.

## Nova LLM als Jurorin für multimodale (Bild-) Benchmark-Rezepte
<a name="nova-model-hp-evaluation-mm-llm-judge"></a>

Nova LLM Judge for multi-modal (Bild), kurz für Nova MM\$1LLM Judge, ist eine Funktion zur Modellbewertung, mit der Sie die Qualität der Antworten eines Modells anhand eines benutzerdefinierten Datensatzes mit den Antworten eines Basismodells vergleichen können. Es akzeptiert einen Datensatz, der Eingabeaufforderungen, Basisantworten und Challenger-Antworten sowie Bilder in Form einer Base64-kodierten Zeichenfolge enthält, und verwendet dann ein Nova Judge-Modell, um durch paarweise Vergleiche eine Gewinnratenmetrik bereitzustellen, die auf der [Bradley-Terry-Wahrscheinlichkeit](https://en.wikipedia.org/wiki/Bradley%E2%80%93Terry_model) basiert. Rezeptformat: `xxx_mm_llm_judge _eval.yaml`.

**Anforderungen an den Nova-LLM-Datensatz**

Dateiformat: 
+ Eine einzige `mm_llm_judge.jsonl`-Datei mit Bewertungsbeispielen. Der Dateiname muss exakt sein. `llm_judge.jsonl`
+ Sie müssen Ihren Datensatz an einen S3-Speicherort hochladen, an dem SageMaker Training Jobs darauf zugreifen kann.
+ Die Datei muss dem für den `mm_llm_judge`-Datensatz erforderlichen Schemaformat entsprechen.
+ Der Eingabedatensatz sollte sicherstellen, dass alle Datensätze eine Kontextlänge von weniger als 12 k haben, mit Ausnahme des Bildattributs.

Schemaformat – Jede Zeile in der `.jsonl`-Datei muss ein JSON-Objekt mit den folgenden Feldern sein.
+ Pflichtfelder 

  `prompt`: Zeichenfolge, die den Prompt für die generierte Antwort enthält

  `images`: Array, das eine Liste von Objekten mit Datenattributen enthält (Werte sind Base64-kodierte Bildzeichenfolgen).

  `response_A`: Zeichenfolge, die die Basisantwort enthält

  `response_B`: Zeichenfolge, die die alternative Antwort enthält, die mit der Basisantwort verglichen wird

Beispieleintrag

Aus Gründen der besseren Lesbarkeit enthält das folgende Beispiel neue Zeilen und Einrückungen, aber im eigentlichen Datensatz sollte sich jeder Datensatz in einer einzigen Zeile befinden.

```
{
  "prompt": "what is in the image?",
  "images": [
    {
      "data": "data:image/jpeg;Base64,/9j/2wBDAAQDAwQDAwQEAwQFBAQFBgo..."
    }
  ],
  "response_A": "a dog.",
  "response_B": "a cat.",
}
{
  "prompt": "how many animals in echo of the images?",
  "images": [
    {
      "data": "data:image/jpeg;Base64,/9j/2wBDAAQDAwQDAwQEAwQFBAQFBgo..."
    },
    {
      "data": "data:image/jpeg;Base64,/DKEafe3gihn..."
    }
  ],
  "response_A": "The first image contains one cat and the second image contains one dog",
  "response_B": "The first image has one aminal and the second has one animal",
}
```

Um Ihren benutzerdefinierten Datensatz zu verwenden, ändern Sie Ihr Bewertungsrezept mit den folgenden Pflichtfeldern, verändern Sie jedoch nicht den Inhalt:

```
evaluation:
  task: mm_llm_judge
  strategy: judge
  metric: all
```

**Einschränkungen**
+ Pro Bewertung ist nur eine `.jsonl`-Datei zulässig.
+ Die Datei muss strikt dem definierten Schema folgen.
+ Nova MM Judge-Modelle unterstützen nur Bildreferenzen.
+ Die Nova MM Judge-Modelle sind in allen Amazon Nova Lite-Spezifikationen identisch.
+ Benutzerdefinierte Judge-Modelle werden derzeit nicht unterstützt.
+ Der Amazon S3 S3-Image-URI wird nicht unterstützt.
+ Der Eingabedatensatz sollte sicherstellen, dass alle Datensätze eine Kontextlänge von weniger als 12 k haben, mit Ausnahme des Bildattributs.

## Auf Rubriken basierender Richter
<a name="nova-hp-evaluate-rubric-judge"></a>

Rubric Judge ist ein erweitertes LLM-as-a-judge Bewertungsmodell, das auf Nova 2.0 Lite basiert. Im Gegensatz zum [ursprünglichen Richtermodell](https://aws.amazon.com/blogs/machine-learning/evaluating-generative-ai-models-with-amazon-nova-llm-as-a-judge-on-amazon-sagemaker-ai/), das nur Präferenzurteile (A>B, B>A oder Unentschieden) vorsieht, generiert Rubric Judge dynamisch benutzerdefinierte Bewertungskriterien, die auf jede Aufforderung zugeschnitten sind, und weist detaillierte Bewertungen für mehrere Dimensionen zu.

Die wichtigsten Funktionen:
+ **Dynamische Kriteriengenerierung**: Erstellt automatisch relevante Bewertungsdimensionen auf der Grundlage der Eingabeaufforderung
+ **Gewichtete Bewertung**: Weist jedem Kriterium Wichtigkeitsgewichte zu, um dessen relative Signifikanz widerzuspiegeln
+ **Granulare Bewertung**: Stellt detaillierte Punktzahlen auf binärer (Wahr/Falsch) oder Skala (1-5) für jedes Kriterium bereit
+ **Qualitätskennzahlen**: Berechnet kontinuierliche Qualitätswerte (Skala 0-1), die das Ausmaß der Unterschiede zwischen den Antworten quantifizieren

Vom Modell generiertes Beispielkriterium:

```
price_validation:
  description: "The response includes validation to ensure price is a positive value."
  type: "scale"
  weight: 0.3
```

Das Modell bewertet beide Antworten anhand aller generierten Kriterien und verwendet dann diese Punktzahlen auf Kriterienebene als Grundlage für die endgültige Präferenzentscheidung.

**Topics**
+ [Konfiguration des Rezepts](#nova-hp-evaluate-rubric-judge-recipe)
+ [Format des Eingabedatensatzes](#nova-hp-evaluate-rubric-judge-input)
+ [Ergebnis der Bewertung](#nova-hp-evaluate-rubric-judge-output)
+ [Unterstützung von Argumentationsmodellen](#nova-hp-evaluate-rubric-judge-reasoning)

### Konfiguration des Rezepts
<a name="nova-hp-evaluate-rubric-judge-recipe"></a>

**Rezept für Rubrik Judge**  
Aktiviere Rubric Judge, indem `task: rubric_llm_judge` du in deinem Rezept Folgendes eingibst:

```
run:
  name: nova-eval-job-name                              # [MODIFIABLE] Unique identifier for your evaluation job
  model_type: amazon.nova-2-lite-v1:0:256k              # [FIXED] Rubric Judge model type
  model_name_or_path: "nova-lite-2/prod"                # [FIXED] Path to model checkpoint or identifier
  replicas: 1                                           # [MODIFIABLE] Number of replicas for SageMaker Training job
  data_s3_path: ""                                      # [FIXED] Leave empty for SageMaker Training job
  output_s3_path: ""                                    # [FIXED] Leave empty for SageMaker Training job

evaluation:
  task: rubric_llm_judge                                # [FIXED] Evaluation task - enables Rubric Judge
  strategy: judge                                       # [FIXED] Evaluation strategy
  metric: all                                           # [FIXED] Metric calculation method

inference:
  max_new_tokens: 12000                                 # [MODIFIABLE] Maximum tokens to generate
  top_k: -1                                             # [MODIFIABLE] Top-k sampling parameter
  top_p: 1.0                                            # [MODIFIABLE] Nucleus sampling parameter
  temperature: 0                                        # [MODIFIABLE] Sampling temperature (0 = deterministic)
```

**Originalrezept für LLM als Judge (zum Vergleich)**  
Das ursprüngliche Richtermodell verwendet`task: llm_judge`:

```
run:
  name: eval-job-name                                   # [MODIFIABLE] Unique identifier for your evaluation job
  model_type: amazon.nova-micro-v1:0:128k               # [FIXED] Model type
  model_name_or_path: "nova-micro/prod"                 # [FIXED] Path to model checkpoint or identifier
  replicas: 1                                           # [MODIFIABLE] Number of replicas for SageMaker Training job
  data_s3_path: ""                                      # [FIXED] Leave empty for SageMaker Training job
  output_s3_path: ""                                    # [FIXED] Leave empty for SageMaker Training job

evaluation:
  task: llm_judge                                       # [FIXED] Original judge task
  strategy: judge                                       # [FIXED] Evaluation strategy
  metric: all                                           # [FIXED] Metric calculation method

inference:
  max_new_tokens: 12000                                 # [MODIFIABLE] Maximum tokens to generate
  top_k: -1                                             # [MODIFIABLE] Top-k sampling parameter
  top_p: 1.0                                            # [MODIFIABLE] Nucleus sampling parameter
  temperature: 0                                        # [MODIFIABLE] Sampling temperature (0 = deterministic)
```

### Format des Eingabedatensatzes
<a name="nova-hp-evaluate-rubric-judge-input"></a>

Das Format des Eingabedatensatzes ist identisch mit dem [ursprünglichen Richtermodell](https://aws.amazon.com/blogs/machine-learning/evaluating-generative-ai-models-with-amazon-nova-llm-as-a-judge-on-amazon-sagemaker-ai/):

**Erforderliche Felder:**
+ `prompt`: Zeichenfolge, die die Eingabeaufforderung und Anweisungen enthält
+ `response_A`: Zeichenfolge, die die Ausgabe des Basismodells enthält
+ `response_B`: Zeichenfolge, die die benutzerdefinierte Modellausgabe enthält

**Beispieldatensatz (JSONL-Format):**

```
{"prompt": "What is the most effective way to combat climate change?", "response_A": "The most effective way to combat climate change is through a combination of transitioning to renewable energy sources and implementing strict carbon pricing policies. This creates economic incentives for businesses to reduce emissions while promoting clean energy adoption.", "response_B": "We should focus on renewable energy. Solar and wind power are good. People should drive electric cars. Companies need to pollute less."}
{"prompt": "Explain how a computer's CPU works", "response_A": "CPU is like brain of computer. It does math and makes computer work fast. Has lots of tiny parts inside.", "response_B": "A CPU (Central Processing Unit) functions through a fetch-execute cycle, where instructions are retrieved from memory, decoded, and executed through its arithmetic logic unit (ALU). It coordinates with cache memory and registers to process data efficiently using binary operations."}
{"prompt": "How does photosynthesis work?", "response_A": "Plants do photosynthesis to make food. They use sunlight and water. It happens in leaves.", "response_B": "Photosynthesis is a complex biochemical process where plants convert light energy into chemical energy. They utilize chlorophyll to absorb sunlight, combining CO2 and water to produce glucose and oxygen through a series of chemical reactions in chloroplasts."}
```

**Anforderungen an das Format:**
+ Jeder Eintrag muss ein einzeiliges JSON-Objekt sein
+ Trennen Sie Einträge durch Zeilenumbrüche
+ Folgen Sie der genauen Feldbenennung, wie in den Beispielen gezeigt

### Ergebnis der Bewertung
<a name="nova-hp-evaluate-rubric-judge-output"></a>

**Struktur der Ausgabe**  
Rubric Judge bietet im Vergleich zum ursprünglichen Richtermodell verbesserte Bewertungskennzahlen:

```
{
  "config_general": {
    "lighteval_sha": "string",
    "num_fewshot_seeds": "int",
    "max_samples": "int | null",
    "job_id": "int",
    "start_time": "float",
    "end_time": "float",
    "total_evaluation_time_secondes": "string",
    "model_name": "string",
    "model_sha": "string",
    "model_dtype": "string | null",
    "model_size": "string"
  },
  "results": {
    "custom|rubric_llm_judge_judge|0": {
      "a_scores": "float",
      "a_scores_stderr": "float",
      "b_scores": "float",
      "b_scores_stderr": "float",
      "ties": "float",
      "ties_stderr": "float",
      "inference_error": "float",
      "inference_error_stderr": "float",
      "score": "float",
      "score_stderr": "float",
      "weighted_score_A": "float",
      "weighted_score_A_stderr": "float",
      "weighted_score_B": "float",
      "weighted_score_B_stderr": "float",
      "score_margin": "float",
      "score_margin_stderr": "float",
      "winrate": "float",
      "lower_rate": "float",
      "upper_rate": "float"
    }
  },
  "versions": {
    "custom|rubric_llm_judge_judge|0": "int"
  }
}
```

**Neue Metriken in Rubrik Judge**  
Die folgenden sechs Kennzahlen sind einzigartig für Rubric Judge und ermöglichen eine detaillierte Qualitätsbeurteilung:


| Metrik | Description | 
| --- |--- |
| Weighted\$1Score\$1A | Durchschnittlicher normalisierter Qualitätsfaktor für Response\$1A für alle modellgenerierten Bewertungskriterien. Die Ergebnisse werden nach der Wichtigkeit der Kriterien gewichtet und auf eine Skala von 0 bis 1 normalisiert (höher = bessere Qualität) | 
| Weighted\$1Score\$1A\$1StdErr | Standardfehler des Mittelwerts für Weighted\$1Score\$1A, was auf statistische Unsicherheit hinweist | 
| Weighted\$1Score\$1B | Durchschnittlicher normalisierter Qualitätsfaktor für Response\$1B für alle modellgenerierten Bewertungskriterien. Die Ergebnisse werden nach der Wichtigkeit der Kriterien gewichtet und auf eine Skala von 0 bis 1 normalisiert (höher = bessere Qualität) | 
| Weighted\$1Score\$1B\$1StdErr | Standardfehler des Mittelwerts für Weighted\$1Score\$1B, was auf statistische Unsicherheit hinweist | 
| score\$1margin | Unterschied zwischen gewichteten Ergebnissen (berechnet als Weighted\$1Score\$1A — Weighted\$1Score\$1B). Bereich: -1,0 bis 1,0. Positiv = Antwort\$1A ist besser; negativ = Antwort\$1B ist besser; nahe Null = ähnliche Qualität | 
| score\$1margin\$1stderr | Standardfehler des Mittelwerts für score\$1margin, was auf eine Unsicherheit bei der Messung von Qualitätsunterschieden hinweist | 

**Kennzahlen zur gewichteten Punktzahl verstehen**  
**Zweck**: Gewichtete Werte ermöglichen kontinuierliche Qualitätsmessungen, die binäre Präferenzurteile ergänzen und so tiefere Einblicke in die Modellleistung ermöglichen.

**Wesentliche Unterschiede zum ursprünglichen Richter**:
+ **Ursprünglicher Richter**: Gibt nur diskrete Präferenzen aus (A>B, B>A, A=B)
+ **Rubrik Judge**: Gibt sowohl Präferenzen als auch kontinuierliche Qualitätswerte (Skala 0-1) auf der Grundlage benutzerdefinierter Kriterien aus

**Interpretation von score\$1margin:**
+ `score_margin = -0.128`: Response\$1B erzielte 12,8 Prozentpunkte mehr als Response\$1A
+ `|score_margin| < 0.1`: Geringer Qualitätsunterschied (knappe Entscheidung)
+ `|score_margin| > 0.2`: Deutlicher Qualitätsunterschied (sichere Entscheidung)

**Anwendungsfälle**:
+ **Modellverbesserung**: Identifizieren Sie bestimmte Bereiche, in denen Ihr Modell unterdurchschnittlich abschneidet
+ **Quantifizierung der Qualität**: Messen Sie das Ausmaß von Leistungslücken, nicht nur Kennzahlen win/loss 
+ **Vertrauensbeurteilung**: Unterscheiden Sie zwischen knappen Entscheidungen und deutlichen Qualitätsunterschieden

**Wichtig**  
Endgültige Urteile basieren immer noch auf den ausdrücklichen Präferenzbezeichnungen des Richtermodells, um eine ganzheitliche Argumentation zu wahren und eine angemessene Minderung von Positionsverzerrungen durch Bewertung sicherzustellen. forward/backward Gewichtete Punktzahlen dienen als Instrumente zur Beobachtung und nicht als Ersatz für das erste Urteil.

**Berechnungsmethodik**  
Die gewichteten Punktzahlen werden nach dem folgenden Verfahren berechnet:
+ **Kriteriendaten extrahieren: Analysieren** Sie die YAML-Ausgabe des Richters, um die Punktzahlen und Gewichtungen der Kriterien zu extrahieren
+ **Ergebnisse normalisieren**:
  + Kriterien vom Typ Skala (1-5): Durch Berechnung auf 0-1 normalisieren `(score - 1) / 4`
  + Binäre Kriterien (wahr/falsch): In 1,0/0,0 umwandeln
+ **Gewichtungen anwenden**: Multiplizieren Sie jedes normalisierte Ergebnis mit der Gewichtung des Kriteriums
+ **Aggregieren**: Summieren Sie alle gewichteten Werte für jede Antwort
+ **Marge berechnen**: Berechne `score_margin = weighted_score_A - weighted_score_B`

**Beispiel**: Wenn Antworte\$1A eine gewichtete Summe von 0,65 und Antworte\$1B eine gewichtete Summe von 0,78 hat, `score_margin` wäre das -0,13, was bedeutet, dass Antworte\$1B bei allen gewichteten Kriterien eine um 13 Prozentpunkte höhere Qualität aufweist.

### Unterstützung von Argumentationsmodellen
<a name="nova-hp-evaluate-rubric-judge-reasoning"></a>

Die Unterstützung von Argumentationsmodellen ermöglicht die Evaluierung mit Hilfe von Nova-Modellen, die eine explizite interne Argumentation durchführen, bevor endgültige Antworten generiert werden. Diese Funktion nutzt die Steuerung auf API-Ebene über den `reasoning_effort` Parameter, um die Argumentationsfunktion dynamisch zu aktivieren oder zu deaktivieren, wodurch möglicherweise die Antwortqualität bei komplexen Analyseaufgaben verbessert wird.

**Unterstützte Modelle:**
+ amazon.nova-2-lite-v 1:0:256 k

**Konfiguration des Rezepts**  
Ermöglichen Sie die Argumentation, indem Sie den `reasoning_effort` Parameter zum `inference` Abschnitt Ihres Rezepts hinzufügen:

```
run:
  name: eval-job-name                                    # [MODIFIABLE] Unique identifier for your evaluation job
  model_type: amazon.nova-2-lite-v1:0:256k               # [FIXED] Must be a reasoning-supported model
  model_name_or_path: nova-lite-2/prod                   # [FIXED] Path to model checkpoint or identifier
  replicas: 1                                            # [MODIFIABLE] Number of replicas for SageMaker Training job
  data_s3_path: ""                                       # [MODIFIABLE] Leave empty for SageMaker Training job; optional for  job
  output_s3_path: ""                                     # [MODIFIABLE] Output path for  job (not compatible with SageMaker Training jobs)

evaluation:
  task: mmlu                                             # [MODIFIABLE] Evaluation task
  strategy: generate                                     # [MODIFIABLE] Evaluation strategy
  metric: all                                            # [MODIFIABLE] Metric calculation method

inference:
  reasoning_effort: high                                 # [MODIFIABLE] Enables reasoning mode; options: low/medium/high or null to disable
  max_new_tokens: 200                                    # [MODIFIABLE] Maximum tokens to generate
  top_k: 50                                              # [MODIFIABLE] Top-k sampling parameter
  top_p: 1.0                                             # [MODIFIABLE] Nucleus sampling parameter
  temperature: 0                                         # [MODIFIABLE] Sampling temperature (0 = deterministic)
```

**Verwenden Sie den Parameter reasoning\$1effort**  
Der `reasoning_effort` Parameter steuert das Argumentationsverhalten für Modelle, die zur Argumentation fähig sind.

**Voraussetzungen:**
+ **Modellkompatibilität**: Wird `reasoning_effort` nur gesetzt, wenn (derzeit) ein Modell `model_type` angegeben wird, das zu Argumenten fähig ist `amazon.nova-2-lite-v1:0:256k`
+ **Fehlerbehandlung**: Die Verwendung `reasoning_effort` mit nicht unterstützten Modellen schlägt fehl mit `ConfigValidationError: "Reasoning mode is enabled but model '{model_type}' does not support reasoning. Please use a reasoning-capable model or disable reasoning mode."`

**Verfügbare Optionen**:


| Option | Behavior | Token-Limit | Anwendungsfall | 
| --- |--- |--- |--- |
| null (Standard) | Deaktiviert den Argumentationsmodus | – | Standardauswertung ohne Mehraufwand bei der Argumentation | 
| low | Ermöglicht Argumentation mit Einschränkungen | 4.000 Tokens für internes Denken | Szenarien, die eine präzise Argumentation erfordern; optimiert im Hinblick auf Geschwindigkeit und Kosten | 
| high | Ermöglicht Argumentation ohne Einschränkungen | Keine Tokenbegrenzung für internes Denken | Komplexe Probleme, die umfangreiche Analysen und step-by-step Überlegungen erfordern | 

**Wann soll das Denken aktiviert werden**  
**Verwenden Sie den Argumentationsmodus (`low`,`medium`, oder`high`)** für:
+ Komplexe Problemlösungsaufgaben (Mathematik, Logikrätsel, Programmieren)
+ Mehrstufige analytische Fragen, die eine gründliche Argumentation erfordern
+ Aufgaben, bei denen detaillierte Erklärungen oder step-by-step Überlegungen die Genauigkeit verbessern
+ Szenarien, in denen die Qualität der Antworten Vorrang vor der Geschwindigkeit hat

**Verwenden Sie den Modus ohne Argumentation (Parameter auslassen)** für:
+ Einfache Fragen und Antworten oder sachliche Fragen
+ Kreative Schreibaufgaben
+ Wenn schnellere Reaktionszeiten entscheidend sind
+ Leistungsbenchmarking, bei dem der Argumentationsaufwand ausgeschlossen werden sollte
+ Kostenoptimierung, wenn Argumentation die Aufgabenleistung nicht verbessert

**Fehlerbehebung**  
**Fehler: „Der Argumentationsmodus ist aktiviert, aber das Modell unterstützt kein Argumentieren“**

**Ursache**: Der `reasoning_effort` Parameter ist auf einen Wert ungleich Null gesetzt, aber der angegebene Wert unterstützt `model_type` keine Argumentation.

**Auflösung**
+ Stellen Sie sicher, dass Ihr Modelltyp `amazon.nova-2-lite-v1:0:256k`
+ Wenn Sie ein anderes Modell verwenden, wechseln Sie entweder zu einem Modell, das vernünftiges Denken ermöglicht, oder entfernen Sie den `reasoning_effort` Parameter aus Ihrem Rezept

# Starten eines Bewertungsjobs
<a name="customize-fine-tune-evaluate-start-job"></a>

Im Folgenden finden Sie einen Vorschlag für die Konfiguration des Bewertungs-Instance-Typs und des Modelltyps:

```
# Install Dependencies (Helm - https://helm.sh/docs/intro/install/)
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
rm -f ./get_helm.sh

# Install the SageMaker HyperPod CLI
git clone --recurse-submodules https://github.com/aws/sagemaker-hyperpod-cli.git
git checkout -b release_v2
cd sagemaker-hyperpod-cli
pip install .

# Verify the installation
hyperpod --help

# Connect to a SageMaker HyperPod Cluster
hyperpod connect-cluster --cluster-name cluster-name


# Submit the Job using the recipe for eval
# Namespace by default should be kubeflow
hyperpod start-job [--namespace namespace] --recipe evaluation/nova/nova_micro_p5_48xl_general_text_benchmark_eval --override-parameters \
'{
    "instance_type":"p5d.48xlarge",
    "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-HP-Eval-V2-latest",
    "recipes.run.name": custom-run-name,
    "recipes.run.model_type": model_type,
    "recipes.run.model_name_or_path" " model name or finetune checkpoint s3uri,
    "recipes.run.data_s3_path": s3 for input data only for genqa and llm_judge, must be full S3 path that include filename,
}'

# List jobs
hyperpod list-jobs [--namespace namespace] [--all-namespaces]

# Getting Job details
hyperpod get-job --job-name job-name [--namespace namespace] [--verbose]

# Listing Pods
hyperpod list-pods --job-name job-name --namespace namespace

# Cancel Job
hyperpod cancel-job --job-name job-name [--namespace namespace]
```

Sie sollten den Jobstatus auch über die Konsole des Amazon-EKS-Clusters einsehen können.

# Zugriff auf und Analyse der Bewertungsergebnisse
<a name="customize-fine-tune-evaluate-access-results"></a>

Nachdem Ihr Bewertungsjob erfolgreich abgeschlossen wurde, können Sie mithilfe der Informationen in diesem Abschnitt auf die Ergebnisse zugreifen und sie analysieren. Basierend auf dem im Rezept definierten `output_s3_path` (wie `s3://output_path/`) sieht die Ausgabestruktur wie folgt aus:

```
job_name/
├── eval-result/
│    └── results_[timestamp].json
│    └── inference_output.jsonl (only present for gen_qa)
│    └── details/
│        └── model/
│            └── execution-date-time/
│                └──details_task_name_#_datetime.parquet
└── tensorboard-results/
    └── eval/
        └── events.out.tfevents.[timestamp]
```

Die Metrikergebnisse werden am angegebenen S3-Ausgabespeicherort `s3://output_path/job_name/eval-result/result-timestamp.json` gespeichert.

Tensorboard-Ergebnisse werden im S3-Pfad `s3://output_path/job_name/eval-tensorboard-result/eval/event.out.tfevents.epoch+ip` gespeichert.

Alle Inferenzausgaben, mit Ausnahme von `llm_judge` und `strong_reject`, werden im S3-Pfad gespeichert: `s3://output_path/job_name/eval-result/details/model/taskname.parquet`.

Für `gen_qa` enthält die Datei `inference_output.jsonl` die folgenden Felder für jedes JSON-Objekt:
+ Prompt – der letzte Prompt, der an das Modell gesendet wurde
+ Inferenz – die unformatierte Inferenzausgabe des Modells
+ gold — Die Zielantwort aus dem Eingabedatensatz
+ metadata — Die Metadatenzeichenfolge aus dem Eingabedatensatz, falls angegeben

Führen Sie die folgenden Schritte aus, um Ihre Bewertungskennzahlen in Tensorboard zu visualisieren:

1. Navigieren Sie zu SageMaker AI Tensorboard.

1. Wählen Sie **S3-Ordner** aus.

1. Fügen Sie Ihren S3-Ordnerpfad hinzu, z. B. `s3://output_path/job-name/eval-tensorboard-result/eval`.

1. Warten Sie, bis die Synchronisation abgeschlossen ist.

Die Zeitreihen, Skalare und Textvisualisierungen sind verfügbar.

Wir empfehlen Ihnen, die folgenden bewährten Methoden:
+ Organisieren Sie Ihre Ausgabepfade nach Modell und Benchmark-Typ.
+ Halten Sie konsistente Namenskonventionen ein, um die Nachverfolgung zu vereinfachen.
+ Speichern Sie die extrahierten Ergebnisse an einem sicheren Ort.
+ Überwachen Sie den TensorBoard Synchronisierungsstatus, um ein erfolgreiches Laden der Daten sicherzustellen.

Sie finden SageMaker HyperPod Auftragsfehlerprotokolle in der CloudWatch Protokollgruppe`/aws/sagemaker/Clusters/cluster-id`.

## Ausgabeformat für Log Probability
<a name="nova-hp-access-results-logprobs"></a>

Wenn `top_logprobs` es in Ihren Inferenzeinstellungen konfiguriert ist, enthält die Evaluationsausgabe Protokollwahrscheinlichkeiten auf Tokenebene in den Parquet-Dateien. Jede Token-Position enthält ein Wörterbuch der wichtigsten Token-Kandidaten mit ihren Log-Wahrscheinlichkeiten in der folgenden Struktur:

```
{
"Ġint": {"logprob_value": -17.8125, "decoded_value": " int"},
"Ġthe": {"logprob_value": -2.345, "decoded_value": " the"}
}
```

Jeder Token-Eintrag enthält:
+ `logprob_value`: Der Log-Wahrscheinlichkeitswert für das Token
+ `decoded_value`: Die menschenlesbare dekodierte Zeichenkettendarstellung des Tokens

Das rohe Tokenizer-Token wird als Wörterbuchschlüssel verwendet, um die Einzigartigkeit zu gewährleisten und bietet gleichzeitig eine lesbare Interpretation. `decoded_value`