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
Themen
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 eineroutput.tar.gz
Datei an Ihrem S3-Ausgabeort. Um mit der Auswertung fortzufahren, verwenden Sie diesen Checkpoint, indem Sie ihnrun.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 beiresponse_A
allen Bewertungsdurchläufen mit Vorwärts- und Rückwärtslauf. -
a_scores_stderr
: Standardfehler beiresponse_A_scores
paarweisen Beurteilungen. -
b_scores
: Misst die Anzahl der Siege bei vorwärts- und rückwärtsgerichtetenresponse_B
Bewertungsdurchgängen. -
a_scores_stderr
: Standardfehler beiresponse_B_scores
paarweisen Beurteilungen. -
ties
: Anzahl der Urteile, bei denenresponse_A
und als gleich bewertetresponse_B
wurden. -
ties_stderr
: Standardfehler beities
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 derresponse_A
Berechnung anhand der Bradley-Terry-Wahrscheinlichkeit vorgezogenresponse_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
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-Wahrscheinlichkeitxxx_llm_judge _eval.yaml
Rezeptformat:.
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.
-
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 -
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
-
-
Ergebnisse anzeigen in TensorBoard. So visualisieren Sie Ihre Bewertungskennzahlen:
-
Laden Sie den extrahierten Ordner in einen S3-Bucket hoch
-
Navigieren Sie zu SageMaker TensorBoard
-
Wählen Sie Ihre „S3-Ordner“
-
Fügen Sie den S3-Ordnerpfad hinzu
-
Warten Sie, bis die Synchronisation abgeschlossen ist
-
-
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", ]