Evaluierung Ihres SageMaker KI-trainierten Modells - Amazon SageMaker KI

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.

Evaluierung Ihres SageMaker KI-trainierten Modells

Der Zweck des Bewertungsprozesses besteht darin, die Leistung trainierter Modelle anhand von Benchmarks oder benutzerdefinierten Datensätzen zu bewerten. Der Bewertungsprozess umfasst in der Regel Schritte zur Erstellung eines Bewertungsrezepts, das auf das trainierte Modell verweist, zur Spezifizierung von Bewertungsdatensätzen und -metriken, zur Einreichung eines separaten Jobs für die Bewertung und zur Bewertung anhand von Standardbenchmarks oder benutzerdefinierten Daten. Der Bewertungsprozess gibt Leistungskennzahlen aus, die in Ihrem Amazon S3 S3-Bucket gespeichert sind.

Anmerkung

Der in diesem Thema beschriebene Bewertungsprozess ist ein Offline-Prozess. Das Modell wird anhand festgelegter Benchmarks mit vordefinierten Antworten getestet, anstatt es in Echtzeit oder anhand von Live-Benutzerinteraktionen zu bewerten. Zur Evaluierung in Echtzeit können Sie das Modell testen, nachdem es auf Amazon Bedrock bereitgestellt wurde, indem Sie Amazon Bedrock Runtime aufrufen. APIs

Voraussetzungen

Bevor Sie mit einer Evaluierungsschulung beginnen, sollten Sie Folgendes beachten.

  • Ein SageMaker KI-trainiertes Amazon Nova-Modell, dessen Leistung Sie bewerten möchten.

  • Amazon Nova-Basisrezept zur Bewertung. Weitere Informationen finden Sie unter Amazon Nova-Rezepte abrufen.

Verfügbare Benchmark-Aufgaben

Es ist ein Beispielcodepaket verfügbar, das zeigt, wie Benchmark-Metriken mithilfe der SageMaker Modellbewertungsfunktion für Amazon Nova berechnet werden. Informationen zum Zugriff auf die Codepakete finden Sie unter Sample-n ova-lighteval-custom-task.

Hier ist eine Liste der verfügbaren unterstützten Industriestandard-Benchmarks. Sie können die folgenden Benchmarks im Parameter angeben. eval_task

Verfügbare Benchmarks für die Modellevaluierung

Benchmark Modalität Beschreibung Metriken Strategie Unteraufgabe verfügbar
mmlu

Text

Sprachverständnis für mehrere Aufgaben — Testet Wissen in 57 Fächern.

Richtigkeit

zs_cot Ja
mmlu_pro Text

MMLU — Professional Subset — Konzentriert sich auf Fachbereiche wie Recht, Medizin, Rechnungswesen und Ingenieurwesen.

Richtigkeit zs_cot Nein
bbh Text

Aufgaben zum Denken für Fortgeschrittene — Eine Sammlung herausfordernder Probleme, die kognitive Fähigkeiten und Fähigkeiten zur Problemlösung auf höherem Niveau auf die Probe stellen.

Richtigkeit fs_cot 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_cot Nein
math Text

Mathematische Problemlösung — Misst mathematisches Denken in verschiedenen Themenbereichen wie Algebra, Infinitesimalrechnung und Textaufgaben.

exact_match zs_cot Ja
strong_ablehnen Text

Aufgabe zur Qualitätskontrolle — Testet die Fähigkeit des Modells, unangemessene, schädliche oder falsche Inhalte zu erkennen und abzulehnen.

Durchbiegung zs Ja
vergänglich Text

Bewertung nach Anweisung — Prüft, wie genau ein Modell die Anweisungen befolgt und Aufgaben gemäß den Spezifikationen ausführt.

Richtigkeit zs Nein
gen_qa Text

Auswertung benutzerdefinierter Datensätze — Ermöglicht es Ihnen, Ihren eigenen Datensatz für das Benchmarking bereitzustellen und die Modellergebnisse mit Referenzantworten anhand von Metriken wie ROUGE und BLEU zu vergleichen.

all gen_qa Nein
mmmu Multimodal

Massive Multidiscipline Multimodal Understanding (MMMU) — Benchmark auf Hochschulebene, bestehend aus Multiple-Choice-Fragen und offenen Fragen aus 30 Disziplinen.

Richtigkeit zs_cot Ja
llm_judge 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. Dabei wird die Wahrscheinlichkeit berechnet, dass B gegenüber A bevorzugt wird.

all Richter Nein

Bewertung spezifischer Konfigurationen

Im Folgenden finden Sie eine Aufschlüsselung der wichtigsten Komponenten des Rezepts sowie Anleitungen, wie Sie sie für Ihre Anwendungsfälle modifizieren können.

Ihre Rezepte verstehen und ändern

Allgemeine Laufkonfiguration

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: ""
  • name: Ein beschreibender Name für Ihren Evaluierungsjob.

  • model_type: Gibt die zu verwendende Nova-Modellvariante an. Ändern Sie dieses Feld nicht manuell. Zu den Optionen gehören:

    • Amazon. nova-micro-v1:0:128 k

    • Amazonas. nova-lite-v1:0:300 k

    • Amazonas. nova-pro-v1:0:300 k

  • model_name_or_path: Der Pfad zum Basismodell oder der S3-Pfad für Checkpoints nach dem Training. Zu den Optionen gehören:

    • nova-micro/prod

    • nova-lite/prod

    • nova-pro/prod

    • S3-Pfad für den Checkpoint-Pfad nach dem Training () s3:customer-escrow-111122223333-smtj-<unique_id>/<training_run_name>

      Anmerkung

      Evaluieren Sie das Modell nach dem Training

      Um ein nachtrainiertes Modell nach einer Nova SFT-Schulung zu evaluieren, gehen Sie nach der Durchführung einer erfolgreichen Schulung wie folgt vor. Am Ende der Trainingsprotokolle sehen Sie die Protokollmeldung „Das Training ist abgeschlossen“. In Ihrem Ausgabe-Bucket finden Sie auch eine manifest.json Datei, die den Standort Ihres Checkpoints enthält. Diese Datei befindet sich in einer output.tar.gz Datei an Ihrem S3-Ausgabeort. Um mit der Auswertung fortzufahren, verwenden Sie diesen Checkpoint, indem Sie ihn run.model_name_or_path in Ihrer Rezeptkonfiguration als Wert für festlegen.

  • replica: Die Anzahl der Recheninstanzen, die für verteilte Schulungen verwendet werden sollen. Eine Einstellung auf 1, da mehrere Knoten nicht unterstützt werden.

  • data_s3_path: Der Amazon S3 S3-Pfad des Eingabedatensatzes. Dieses Feld ist erforderlich, sollte aber immer leer bleiben.

Konfiguration der Evaluierung

evaluation: task: mmlu strategy: zs_cot subtask: abstract_algebra metric: accuracy
  • task: Gibt den Evaluierungs-Benchmark oder die zu verwendende Aufgabe an. Zu den unterstützten Aufgaben gehören:

    • mmlu

    • mmlu_pro

    • bbh

    • gpqa

    • math

    • strong_reject

    • gen_qa

    • ifeval

    • mmmu

    • llm_judge

  • strategy: Definiert den Bewertungsansatz.

    • zs_cot: Zero-shot Chain of Thought — ein Ansatz zur Entwicklung umfangreicher Sprachmodelle, der zum Nachdenken anregt, ohne dass step-by-step explizite Beispiele erforderlich sind.

    • fs_cot: Gedankenkette mit wenigen Klicks — ein Ansatz, bei dem zunächst einige step-by-step Argumentationsbeispiele vorgestellt werden, bevor das Modell aufgefordert wird, ein neues Problem zu lösen.

    • zs: Zero-shot — ein Ansatz zur Lösung eines Problems ohne vorherige Schulungsbeispiele.

    • gen_qa: Spezifische Strategie für Bring Your Own Dataset.

    • judge: Spezifische Strategie für Nova LLM als Judge.

  • subtask: Optional. Spezifische Bestandteile der Bewertungsaufgabe. Eine vollständige Liste der verfügbaren Unteraufgaben finden Sie unterVerfügbare Unteraufgaben.

    • Informationen zu den unterstützten Unteraufgaben finden Sie unter Verfügbare Benchmark-Aufgaben.

    • Sollte dieses Feld entfernen, wenn es keine Benchmarks für Unteraufgaben gibt.

  • metric: Die zu verwendende Bewertungsmetrik.

    • accuracy: Prozentsatz der richtigen Antworten.

    • exact_match: Gibt für mathematische Benchmarks die Rate zurück, mit der die eingegebenen vorhergesagten Zeichenketten exakt ihren Referenzen entsprechen.

    • deflection: Gibt bei einem Benchmark mit starker Ablehnung die relative Abweichung vom Basismodell und den Metriken zur Differenzsignifikanz zurück.

    • all:

      Denn gen_qa bringen Sie Ihren eigenen Datensatz-Benchmark mit und geben Sie 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 aufeinanderfolgende Wörter) zwischen generiertem Text und Referenztext.

      • rougeL: Misst die längste gemeinsame Teilsequenz zwischen Texten, wobei Lücken beim Abgleich berücksichtigt werden.

      • exact_match: Binärwert (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 milder, wobei in der Regel Unterschiede zwischen Groß- und Kleinschreibung, Interpunktion und Leerraum ignoriert werden.

      • f1_score: Harmonisches Mittel aus Genauigkeit und Erinnerungsvermögen, wobei die Wortüberschneidung zwischen vorhergesagten Antworten und Referenzantworten gemessen wird.

      • f1_score_quasi: Ähnlich wie f1_score, jedoch mit milderem Abgleich, wobei ein normalisierter Textvergleich verwendet wird, bei dem 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.

      Bringen Sie llm_judge also Ihren eigenen Datensatz-Benchmark mit und geben Sie die folgenden Messwerte zurück:

      • a_scores: Anzahl der Siege bei response_A allen Bewertungsdurchläufen mit Vorwärts- und Rückwärtslauf.

      • a_scores_stderr: Standardfehler bei response_A_scores paarweisen Beurteilungen.

      • b_scores: Misst die Anzahl der Siege bei vorwärts- und rückwärtsgerichteten response_B Bewertungsdurchgängen.

      • a_scores_stderr: Standardfehler bei response_B_scores paarweisen Beurteilungen.

      • ties: Anzahl der Urteile, bei denen response_A und als gleich bewertet response_B wurden.

      • ties_stderr: Standardfehler bei ties paarweisen Urteilen.

      • inference_error: Anzahl der Urteile, die nicht richtig bewertet werden konnten.

      • score: Die Gesamtpunktzahl basiert auf Siegen aus Vorwärts- und Rückwärtspässen für. response_B

      • score_stderr: Die Gesamtpunktzahl basiert auf Siegen sowohl bei Vorwärts- als auch bei Rückwärtspässen für. response_B

      • inference_error_stderr: Standardfehler der Gesamtpunktzahl bei paarweisen Urteilen.

      • winrate: Die Wahrscheinlichkeit, die der response_A Berechnung anhand der Bradley-Terry-Wahrscheinlichkeit vorgezogen response_B wird.

      • lower_rate: Untergrenze (2,5 Perzentil) der geschätzten Gewinnrate aus dem Bootstrap-Sampling.

      • upper_rate: Obergrenze (97,5. Perzentil) der geschätzten Gewinnrate aus dem Bootstrap-Sampling.

Konfiguration der Inferenz (optional)

inference: max_new_tokens: 2048 top_k: -1 top_p: 1.0 temperature: 0
  • max_new_tokens: Maximale Anzahl der zu generierenden Token. Muss eine Ganzzahl sein. (Für LLM Judge nicht verfügbar)

  • top_k: Anzahl der zu berücksichtigenden Tokens mit der höchsten Wahrscheinlichkeit. Muss eine Ganzzahl sein.

  • top_p: Kumulativer Wahrscheinlichkeitsschwellenwert für Token-Stichproben. Muss ein Gleitkommawert zwischen 1,0 und 0,0 sein.

  • temperature: Zufälligkeit bei der Token-Auswahl (höher = eher zufällig), behalten Sie 0 bei, um das Ergebnis deterministisch zu machen. Typ Float, Minimalwert ist 0.

Beispiele für Bewertungsrezepte

Amazon Nova bietet vier verschiedene Arten von Bewertungsrezepten. Alle Rezepte sind im SageMaker HyperPod GitHub Amazon-Rezept-Repository verfügbar.

Rezepte für die Bewertung

    Diese Rezepte ermöglichen es Ihnen, die grundlegenden Funktionen von Amazon Nova-Modellen anhand einer umfassenden Suite von reinen Textbenchmarks zu bewerten.

    Rezeptformat:. xxx_ general_text_benchmark_eval.yaml

    Diese Rezepte ermöglichen es Ihnen, die grundlegenden Funktionen von Amazon Nova-Modellen anhand einer umfassenden Reihe von Multimodalitäts-Benchmarks zu bewerten.

    Rezeptformat:. xxx_general_multi_modal_benchmark_eval.yaml

    Multimodale Benchmark-Anforderungen

    • Modellunterstützung — Unterstützt nur die Basismodelle Nova-Lite und Nova-Pro sowie deren nachtrainierte Varianten.

    Diese Rezepte ermöglichen es Ihnen, Ihren eigenen Datensatz für das Benchmarking mitzubringen und die Modellergebnisse anhand verschiedener Arten von Metriken mit Referenzantworten zu vergleichen.

    Rezeptformat:xxx_ bring_your_own_dataset_eval.yaml.

    Bringen Sie Ihre eigenen Datensatz-Anforderungen mit

    Dateiformat:

    • Einzelne gen_qa.jsonl Datei mit Bewertungsbeispielen. Der Dateiname sollte exakt seingen_qa.jsonl.

    • Sie müssen Ihren Datensatz an einen S3-Speicherort hochladen, auf den SageMaker Schulungsjobs zugreifen können.

    • Die Datei muss dem erforderlichen Schemaformat für den allgemeinen Q&Q-Datensatz entsprechen.

    Schemaformat — Jede Zeile in der .jsonl Datei muss ein JSON-Objekt mit den folgenden Feldern sein.

    • Erforderliche Felder.

      query: Zeichenfolge, die die Frage oder Anweisung enthält, für die eine Antwort erforderlich ist.

      response: Zeichenfolge, die die erwartete Modellausgabe enthält.

    • Optionale Felder.

      system: Zeichenfolge, die die Systemaufforderung enthält, die das Verhalten, die Rolle oder die Persönlichkeit des KI-Modells festlegt, bevor es die Abfrage verarbeitet.

    Beispieleintrag

    { "system":"You are an 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 who 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 and follow 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 und ändern Sie nichts am Inhalt:

    evaluation: task: gen_qa strategy: gen_qa metric: all

    Einschränkungen

    • Pro Bewertung ist nur eine .jsonl Datei zulässig.

    • Die Datei muss strikt dem definierten Schema folgen.

    Nova LLM 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 Antworten von Herausforderern enthält, und verwendet dann ein Nova Judge-Modell, um durch paarweise Vergleiche eine Gewinnraten-Metrik bereitzustellen, die auf der Bradley-Terry-Wahrscheinlichkeit basiert. xxx_llm_judge _eval.yamlRezeptformat:.

    Anforderungen an den Nova LLM-Datensatz

    Dateiformat:

    • Einzelne llm_judge.jsonl Datei mit Bewertungsbeispielen. Der Dateiname sollte exakt seinllm_judge.jsonl.

    • Sie müssen Ihren Datensatz an einen S3-Speicherort hochladen, auf den SageMaker Schulungsjobs zugreifen können.

    • Die Datei muss dem für den llm_judge Datensatz erforderlichen Schemaformat entsprechen.

    • Der Eingabedatensatz sollte sicherstellen, dass alle Datensätze eine Kontextlänge von weniger als 12 k haben.

    Schemaformat — Jede Zeile in der .jsonl Datei muss ein JSON-Objekt mit den folgenden Feldern sein.

    • Erforderliche Felder.

      prompt: Zeichenfolge, die die Aufforderung für die generierte Antwort enthält.

      response_A: Zeichenfolge, die die Basisantwort enthält.

      response_B: Zeichenfolge, die die alternative Antwort enthält, die mit der Ausgangsantwort verglichen werden soll.

    Beispieleintrag

    { "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 und ändern Sie nichts am Inhalt:

    evaluation: task: 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.

    • Die Nova Judge-Modelle sind in allen Micro/Lite/Pro-Spezifikationen identisch.

    • Benutzerdefinierte Judge-Modelle werden derzeit nicht unterstützt.

    Trainingsjobs zur Evaluierung werden ausgeführt

    Starten Sie einen Trainingsjob mit dem folgenden Jupyter-Beispiel-Notizbuch. Weitere Informationen finden Sie unter Verwenden eines SageMaker KI-Schätzers zum Ausführen eines Trainingsjobs.

    Referenztabellen

    Bevor Sie das Notebook ausführen, finden Sie in den folgenden Referenztabellen Informationen zur Auswahl von Image-URI- und Instanzkonfigurationen.

    Image-URI auswählen

    Rezept Image-URI

    URI für das Bewertungsbild

    708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-TJ-Eval-latest

    Auswahl des Instanztyps und der Anzahl

    Modell Job type Instance-Typ Anzahl der empfohlenen Instanzen Anzahl der erlaubten Instanzen
    Amazon Nova Micro Bewertung (SFT/DPO)

    g5.12xlarge

    1 1
    Amazon Nova Lite Bewertung (SFT/DPO)

    g5.12xlarge

    1 1
    Amazon Nova Pro Bewertung (SFT/DPO)

    p5.48xlarge

    1 1

    Beispiel für ein Notizbuch

    Das folgende Beispielnotizbuch zeigt, wie ein Evaluierungs-Trainingsjob ausgeführt wird.

    # install python SDK !pip install sagemaker import os import sagemaker,boto3 from sagemaker.inputs import TrainingInput from sagemaker.pytorch import PyTorch sagemaker_session = sagemaker.Session() role = sagemaker.get_execution_role() # Download recipe from https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/evaluation/nova to local # Assume the file name be `recipe.yaml` # Populate parameters # input_s3_uri = "s3://<path>/input/" # (Optional) Only used for multi-modal dataset or bring your own dataset s3 location output_s3_uri= "s3://<path>/output/" # Output data s3 location, a zip containing metrics json and tensorboard metrics files will be stored to this location instance_type = "instace_type" # ml.g5.16xlarge as example job_name = "your job name" recipe_path = "recipe path" # ./recipe.yaml as example image_uri = "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-TJ-Eval-latest" # Do not change # (Optional) To bring your own dataset and LLM judge for evaluation # evalInput = TrainingInput( # s3_data=input_s3_uri, # distribution='FullyReplicated', # s3_data_type='S3Prefix' #) estimator = PyTorch( output_path=output_s3_uri, base_job_name=job_name, role=role, instance_type=instance_type, training_recipe=recipe_path, sagemaker_session=sagemaker_session, image_uri = image_uri ) estimator.fit() # If input dataset exist, pass in inputs # estimator.fit(inputs={"train": evalInput})

    Bewertung und Analyse der Bewertungsergebnisse

    Nach erfolgreichem Abschluss Ihrer Bewertungsaufgabe können Sie die Ergebnisse anhand der folgenden Schritte bewerten und analysieren.

    Gehen Sie wie folgt vor, um die Ergebnisse zu bewerten und zu analysieren.
    1. Machen Sie sich mit der Struktur des Ausgabeorts vertraut. Die Ergebnisse werden an Ihrem angegebenen Amazon S3 S3-Ausgabespeicherort als komprimierte Datei gespeichert:

      s3://your-bucket/output/benchmark-name/ └── job_name/ └── output/ └── output.tar.gz
    2. Laden Sie die output.tar.gz Datei aus Ihrem Bucket herunter. Extrahieren Sie den Inhalt, um ihn zu enthüllen. Existiert für alle Benchmarks außerstrong_reject.

      run_name/ ├── eval_results/ │ └── results_[timestamp].json | └── details/ | └── model/ | └── <execution-date-time>/ | └──details_<task_name>_#_<datetime>.parquet └── tensorboard_results/ └── eval/ └── events.out.tfevents.[timestamp]
      • results_[timestamp].json- JSON-Datei für Ausgabemetriken

      • details_<task_name>_#_<datetime>.parquet- Inferenz-Ausgabedatei

      • events.out.tfevents.[timestamp]- TensorBoard Ausgabedatei

    3. Ergebnisse anzeigen in TensorBoard. So visualisieren Sie Ihre Bewertungskennzahlen:

      1. Laden Sie den extrahierten Ordner in einen S3-Bucket hoch

      2. Navigieren Sie zu SageMaker TensorBoard

      3. Wählen Sie Ihre „S3-Ordner“

      4. Fügen Sie den S3-Ordnerpfad hinzu

      5. Warten Sie, bis die Synchronisation abgeschlossen ist

    4. Analysieren Sie die Inferenzausgaben. Alle Bewertungsaufgaben außer llm_judge enthalten die folgenden Felder für die Analyse in der Inferenzausgabe.

      • full_prompt- die vollständige Benutzeraufforderung, die an das für die Bewertungsaufgabe verwendete Modell gesendet wird.

      • gold- das Feld, das die im Datensatz angegebene (n) richtige (n) Antwort (en) enthält.

      • metrics- das Feld, das die anhand der einzelnen Inferenz bewerteten Metriken enthält. Werte, die aggregiert werden müssen, hätten keinen Wert in den einzelnen Inferenzausgaben.

      • predictions- das Feld, das eine Liste der Modellausgaben für die angegebene Eingabeaufforderung enthält.

      Anhand dieser Felder können Sie die Ursache für metrische Unterschiede ermitteln und das Verhalten der benutzerdefinierten Modelle verstehen.

      Denn llm_judge die Inferenzausgabedatei enthält die folgenden Felder unter dem Metrikfeld pro Bewertungspaar.

      • forward_output- Die ungefähren Präferenzen des Richters bei der Bewertung der Reihenfolge nach (Response_A, Response_B).

      • backward_output- Rohpräferenzen des Richters bei der Bewertung in umgekehrter Reihenfolge (Response_B, Response_A).

      • Pairwise metrics- Metriken, die pro Paar von Vorwärts- und Rückwärtsbeurteilungen berechnet werden, einschließlich,, und. a_scores b_scores ties inference-score score

        Anmerkung

        Aggregierte Metriken wie winrate sind nur in den zusammenfassenden Ergebnisdateien verfügbar, nicht nach individueller Einschätzung.

    Bewährte Methoden für die Bewertung und Problembehebung

    Bewährte Methoden

    Im Folgenden sind einige bewährte Methoden für den Bewertungsprozess aufgeführt.

    • 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 sicherzustellen, dass Daten erfolgreich geladen wurden.

    Fehlerbehebung

    Sie können die CloudWatch Protokollgruppe /aws/sagemaker/TrainingJobs zum Trainieren von Job-Fehlerprotokollen verwenden.

    CUDA-Fehler: Nicht genügend Arbeitsspeicher

    Problem:

    Beim Ausführen der Modellevaluierung wird die folgende Fehlermeldung angezeigt:

    torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate X MiB. GPU 0 has a total capacity of Y GiB of which Z MiB is free.

    Ursache:

    Dieser Fehler tritt auf, wenn Sie versuchen, ein Modell zu laden, das mehr GPU-Speicher benötigt, als auf Ihrem aktuellen Instance-Typ verfügbar ist.

    Solution (Lösung):

    Wählen Sie einen Instance-Typ mit mehr GPU-Speicher. Wenn Sie beispielsweise G5.12xLarge (96 GiB GPU-Speicher) verwenden, aktualisieren Sie auf G5.48xLarge (192 GiB GPU-Speicher)

    Vorbeugung:

    Gehen Sie wie folgt vor, bevor Sie die Modellevaluierung durchführen.

    • Schätzen Sie den Speicherbedarf Ihres Modells

    • Stellen Sie sicher, dass Ihr ausgewählter Instance-Typ über ausreichend GPU-Speicher verfügt

    • Berücksichtigen Sie den Speicheraufwand, der für das Laden und die Inferenz von Modellen erforderlich ist

    Verfügbare Unteraufgaben

    Im Folgenden sind verfügbare Unteraufgaben für die Modellevaluierung in verschiedenen Bereichen aufgeführt, darunter MMLU (Massive Multitask Language Understanding), BBH (Big Bench Hard), Mathematik und MMMU (Massive Multidiscipline Multimodal Understanding). Diese Unteraufgaben ermöglichen es Ihnen, die Leistung Ihres Modells in Bezug auf bestimmte Fähigkeiten und Wissensbereiche zu bewerten.

    MMLU

    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" ]

    BBH

    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" ]

    Math (Mathematik)

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

    MMMU

    MATH_SUBTASKS = [ "Accounting", "Agriculture", "Architecture_and_Engineering", "Art", "Art_Theory", "Basic_Medical_Science", "Biology", "Chemistry", "Clinical_Medicine", "Computer_Science", "Design", "Diagnostics_and_Laboratory_Medicine", "Economics", "Electronics", "Energy_and_Power", "Finance", "Geography", "History", "Literature", "Manage", "Marketing", "Materials", "Math", "Mechanical_Engineering", "Music", "Pharmacy", "Physics", "Psychology", "Public_Health", "Sociology", ]