Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Valutazione del tuo modello basato sull'intelligenza artificiale SageMaker
Lo scopo del processo di valutazione è valutare le prestazioni dei modelli addestrati rispetto a benchmark o set di dati personalizzati. Il processo di valutazione prevede in genere passaggi per creare una ricetta di valutazione che faccia riferimento al modello addestrato, specificare set di dati e metriche di valutazione, inviare un lavoro separato per la valutazione e valutare rispetto a benchmark standard o dati personalizzati. Il processo di valutazione genererà i parametri prestazionali archiviati nel bucket Amazon S3.
Nota
Il processo di valutazione descritto in questo argomento è un processo offline. Il modello viene testato rispetto a benchmark fissi con risposte predefinite, anziché essere valutato in tempo reale o tramite interazioni utente dal vivo. Per una valutazione in tempo reale, puoi testare il modello dopo averlo distribuito su Amazon Bedrock chiamando Amazon Bedrock Runtime. APIs
Argomenti
Prerequisiti
Prima di iniziare un corso di formazione per la valutazione, tieni presente quanto segue.
-
Un modello SageMaker Amazon Nova addestrato all'intelligenza artificiale di cui desideri valutarne le prestazioni.
-
Ricetta base di Amazon Nova per la valutazione. Per ulteriori informazioni, consulta Ottenere ricette Amazon Nova.
Attività di benchmark disponibili
È disponibile un pacchetto di codice di esempio che dimostra come calcolare le metriche di benchmark utilizzando la funzionalità di valutazione del SageMaker modello per Amazon Nova. Per accedere ai pacchetti di codice, consulta Sample-n. ova-lighteval-custom-task
Di seguito è riportato un elenco dei benchmark standard di settore disponibili supportati. È possibile specificare i seguenti benchmark nel eval_task
parametro.
Benchmark disponibili per la valutazione del modello
Benchmark | Modalità | Descrizione | Metriche | Strategia | Sottoattività disponibile |
---|---|---|---|---|---|
mmlu |
Testo |
Comprensione linguistica in più attività: verifica le conoscenze in 57 materie. |
accuratezza |
zs_cot | Sì |
mmlu_pro | Testo |
MMLU — Professional Subset — Si concentra su domini professionali come legge, medicina, contabilità e ingegneria. |
accuratezza | zs_cot | No |
bbh | Testo |
Attività di ragionamento avanzato: una raccolta di problemi impegnativi che mettono alla prova le capacità cognitive e di risoluzione dei problemi di livello superiore. |
accuratezza | fs_cot | Sì |
gpa | Testo |
Risposta a domande di fisica generale - Valuta la comprensione dei concetti di fisica e le relative capacità di risoluzione dei problemi. |
accuratezza | zs_cot | No |
matematica | Testo |
Risoluzione di problemi matematici: misura il ragionamento matematico su argomenti quali algebra, calcolo e problemi di parole. |
match_exact_match | zs_cot | Sì |
strong_reject | Testo |
Attività di controllo della qualità: verifica la capacità del modello di rilevare e rifiutare contenuti inappropriati, dannosi o errati. |
deviazione | zs | Sì |
ifeval | Testo |
Valutazione che segue le istruzioni: misura la precisione con cui un modello segue le istruzioni fornite e completa le attività secondo le specifiche. |
accuratezza | zs | No |
gen_qa | Testo |
Valutazione personalizzata del set di dati: consente di fornire il proprio set di dati per il benchmarking, confrontando gli output del modello con le risposte di riferimento con metriche come ROUGE e BLEU. |
tutto | gen_qa | No |
mmmu | Multimodale |
Massive Multidiscipline Multimodal Understanding (MMMU): benchmark a livello universitario che comprende domande a scelta multipla e a risposta aperta relative a 30 discipline. |
accuratezza | zs_cot | Sì |
llm_judge | Testo |
LLM-as-a-Judge Confronto delle preferenze: utilizza un modello Nova Judge per determinare la preferenza tra le risposte accoppiate (B rispetto a A) per i prompt, calcolando la probabilità che B sia preferito ad A. |
tutto | giudice | No |
Configurazioni specifiche per la valutazione
Di seguito sono riportati i componenti chiave della ricetta e le indicazioni su come modificarli in base ai casi d'uso.
Comprendere e modificare le ricette
Configurazione generale di esecuzione
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
: un nome descrittivo per il lavoro di valutazione. -
model_type
: specifica la variante del modello Nova da utilizzare. Non modificate manualmente questo campo. Le opzioni includono:-
Amazon. nova-micro-v1:01:28 K
-
amazzone. nova-lite-v1:00:300 k
-
amazzone. nova-pro-v1:00:300 k
-
-
model_name_or_path
: Il percorso verso il modello base o il percorso s3 per il checkpoint post-addestrato. Le opzioni includono:-
nova-micro/prod
-
nova-lite/prodotto
-
nova-pro/prod
-
Percorso S3 per il percorso di checkpoint post-addestrato ()
s3:customer-escrow-111122223333-smtj-<unique_id>/<training_run_name>
Nota
Valuta il modello post-addestrato
Per valutare un modello post-formato dopo un lavoro di formazione Nova SFT, seguite questi passaggi dopo aver svolto con successo un lavoro di formazione. Alla fine dei registri di allenamento, verrà visualizzato il messaggio di registro «La formazione è completa». Nel bucket di output troverete anche un
manifest.json
file contenente la posizione del checkpoint. Questo file si troverà all'interno di unoutput.tar.gz
file nella posizione di output S3. Per procedere con la valutazione, utilizzate questo checkpoint impostandolo come valore per la configurazionerun.model_name_or_path
della ricetta.
-
-
replica
: Il numero di istanze di calcolo da utilizzare per l'addestramento distribuito. Impostato su 1 in quanto multinodo non è supportato. -
data_s3_path
: percorso Amazon S3 del set di dati di input. Questo campo è obbligatorio ma deve essere sempre lasciato vuoto.
Configurazione di valutazione
evaluation: task: mmlu strategy: zs_cot subtask: abstract_algebra metric: accuracy
-
task
: specifica il benchmark o l'attività di valutazione da utilizzare. Le attività supportate includono:-
mmlu
-
mmlu_pro
-
bbh
-
gpqa
-
math
-
strong_reject
-
gen_qa
-
ifeval
-
mmmu
-
llm_judge
-
-
strategy
: definisce l'approccio di valutazione.-
zs_cot
: Zero-shot Chain of Thought: un approccio per suggerire modelli linguistici di grandi dimensioni che incoraggia il step-by-step ragionamento senza richiedere esempi espliciti. -
fs_cot
: Few-shot Chain of Thought: un approccio che fornisce alcuni esempi di step-by-step ragionamento prima di chiedere al modello di risolvere un nuovo problema. -
zs
: Zero-shot: un approccio per risolvere un problema senza esempi di formazione precedenti. -
gen_qa
: Strategia specifica per portare il proprio set di dati. -
judge
: Strategia specifica per Nova LLM in qualità di giudice.
-
-
subtask
: facoltativo. Componenti specifici dell'attività di valutazione. Per un elenco completo delle sottoattività disponibili, vedereAttività secondarie disponibili.-
Controlla le sottoattività supportate in Attività di benchmark disponibili.
-
Dovrebbe rimuovere questo campo se non ci sono benchmark per le sottoattività.
-
-
metric
: La metrica di valutazione da utilizzare.-
accuracy
: Percentuale di risposte corrette. -
exact_match
: per il benchmark matematico, restituisce la velocità con cui le stringhe previste in input corrispondono esattamente ai relativi riferimenti. -
deflection
: per il benchmark Strong Reject, restituisce la deflessione relativa rispetto al modello base e le metriche di significatività delle differenze. -
all
:Per esempio
gen_qa
, porta il tuo benchmark per il set di dati, restituisci le seguenti metriche:-
rouge1
: Misura la sovrapposizione di unigrammi (parole singole) tra il testo generato e quello di riferimento. -
rouge2
: misura la sovrapposizione di bigrammi (due parole consecutive) tra il testo generato e quello di riferimento. -
rougeL
: misura la sottosequenza comune più lunga tra i testi, tenendo conto delle lacune nella corrispondenza. -
exact_match
: Punteggio binario (0 o 1) che indica se il testo generato corrisponde esattamente al testo di riferimento, carattere per carattere. -
quasi_exact_match
: Simile alla corrispondenza esatta ma più indulgente, in genere ignora le differenze tra maiuscole e minuscole, punteggiatura e spazi bianchi. -
f1_score
: Media armonica di precisione e richiamo, che misura la sovrapposizione di parole tra le risposte previste e quelle di riferimento. -
f1_score_quasi
: Simile a f1_score ma con una corrispondenza più mite, utilizza un confronto di testo normalizzato che ignora le differenze minori. -
bleu
: misura la precisione delle corrispondenze in n-grammi tra il testo generato e quello di riferimento, comunemente utilizzate nella valutazione della traduzione.
Per esempio
llm_judge
, porta il tuo benchmark personale per il set di dati e restituisci le seguenti metriche:-
a_scores
: Numero di vittorie per i passaggiresponse_A
di valutazione successivi e precedenti. -
a_scores_stderr
: Errore standardresponse_A_scores
tra giudizi a coppie. -
b_scores
: Misura il numero di vittorie ottenuteresponse_B
tra passaggi di valutazione successivi e precedenti. -
a_scores_stderr
: Errore standardresponse_B_scores
tra giudizi a coppie. -
ties
: Numero di giudizi in cuiresponse_A
e 2response_B
sono valutati in modo uguale. -
ties_stderr
: Errore standardties
tra giudizi a coppie. -
inference_error
: Numero di giudizi che non è stato possibile valutare correttamente. -
score
: Punteggio complessivo basato sulle vittorie ottenute dai passaggi in avanti e indietro.response_B
-
score_stderr
: Punteggio complessivo basato sulle vittorie ottenute sia nei passaggi in avanti che all'indietro per.response_B
-
inference_error_stderr
: Errore standard del punteggio aggregato tra i giudizi a coppie. -
winrate
: La probabilità cheresponse_B
verrà preferita rispetto a quellaresponse_A
calcolata utilizzando la probabilità di Bradley-Terry. -
lower_rate
: Limite inferiore (2,5° percentile) della percentuale di vittorie stimata derivante dal campionamento tramite bootstrap. -
upper_rate
: Limite superiore (97,5° percentile) della percentuale di vittorie stimata derivante dal campionamento bootstrap.
-
-
Configurazione dell'inferenza (opzionale)
inference: max_new_tokens: 2048 top_k: -1 top_p: 1.0 temperature: 0
-
max_new_tokens
: numero massimo di token da generare. Deve essere un numero intero. (Non disponibile per LLM Judge) -
top_k
: Numero dei token con la più alta probabilità da considerare. Deve essere un numero intero. -
top_p
: soglia di probabilità cumulativa per il campionamento tramite token. Deve essere un valore float compreso tra 1,0 e 0,0. -
temperature
: Casualità nella selezione dei token (più alto = più casuale), mantieni 0 per rendere il risultato deterministico. Tipo float, il valore minimo è 0.
Esempi di ricette di valutazione
Amazon Nova offre quattro diversi tipi di ricette di valutazione. Tutte le ricette sono disponibili nell' GitHub archivio delle SageMaker HyperPod ricette di Amazon
Ricette di valutazione
Queste ricette ti consentono di valutare le funzionalità fondamentali dei modelli Amazon Nova attraverso una suite completa di benchmark di solo testo.
Formato della ricetta:. xxx_
general_text_benchmark_eval.yaml
Queste ricette consentono di valutare le funzionalità fondamentali dei modelli Amazon Nova attraverso una suite completa di benchmark multimodali.
Formato della ricetta:. xxx_general_multi_modal_benchmark_eval.yaml
Requisiti per i benchmark multimodali
-
Supporto del modello: supporta solo il modello base nova-lite e nova-pro e le sue varianti post-addestrate.
Queste ricette ti consentono di utilizzare il tuo set di dati per il benchmarking e confrontare i risultati del modello con risposte di riferimento utilizzando diversi tipi di metriche.
Formato della ricetta:. xxx_
bring_your_own_dataset_eval.yaml
Specificate i requisiti del vostro set di dati
Formato del file:
-
gen_qa.jsonl
File singolo contenente esempi di valutazione. Il nome del file deve essere esattogen_qa.jsonl
. -
È necessario caricare il set di dati in una posizione S3 accessibile ai lavori di SageMaker formazione.
-
Il file deve seguire il formato dello schema richiesto per il set di dati Q&Q generale.
Formato dello schema: ogni riga del .jsonl
file deve essere un oggetto JSON con i seguenti campi.
-
Campi obbligatori.
query
: Stringa contenente la domanda o l'istruzione che richiede una risposta.response
: Stringa contenente l'output del modello previsto. -
Campi opzionali.
system
: Stringa contenente il prompt di sistema che imposta il comportamento, il ruolo o la personalità del modello di intelligenza artificiale prima che elabori la query.
Esempio di inserimento
{ "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" }
Per utilizzare il tuo set di dati personalizzato, modifica la ricetta di valutazione con i seguenti campi obbligatori, non modificare alcun contenuto:
evaluation: task: gen_qa strategy: gen_qa metric: all
Limitazioni
-
È consentito un solo
.jsonl
file per valutazione. -
Il file deve seguire rigorosamente lo schema definito.
Nova LLM Judge è una funzionalità di valutazione del modello che consente di confrontare la qualità delle risposte di un modello con le risposte di un modello di base utilizzando un set di dati personalizzato. Accetta un set di dati contenente richieste, risposte di base e risposte dello sfidante, quindi utilizza un modello Nova Judge per fornire una metrica del tasso di successo basata sulla probabilità di Bradley-Terry attraverso confronti a coppie.xxx_llm_judge _eval.yaml
Requisiti del set di dati Nova LLM
Formato del file:
-
llm_judge.jsonl
File singolo contenente esempi di valutazione. Il nome del file deve essere esattollm_judge.jsonl
. -
È necessario caricare il set di dati in una posizione S3 accessibile ai lavori di SageMaker formazione.
-
Il file deve seguire il formato dello schema richiesto per il
llm_judge
set di dati. -
Il set di dati di input dovrebbe garantire che tutti i record abbiano una lunghezza di contesto inferiore a 12 k.
Formato dello schema: ogni riga del .jsonl
file deve essere un oggetto JSON con i seguenti campi.
-
Campi obbligatori.
prompt
: Stringa contenente il prompt per la risposta generata.response_A
: Stringa contenente la risposta di base.response_B
: La stringa contenente la risposta alternativa deve essere confrontata con la risposta di base.
Esempio di inserimento
{ "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." }
Per utilizzare il tuo set di dati personalizzato, modifica la ricetta di valutazione con i seguenti campi obbligatori, non modificare alcun contenuto:
evaluation: task: llm_judge strategy: judge metric: all
Limitazioni
-
È consentito un solo
.jsonl
file per valutazione. -
Il file deve seguire rigorosamente lo schema definito.
-
I modelli Nova Judge sono gli stessi per quanto riguarda le specifiche micro/lite/pro.
-
I modelli Custom Judge non sono attualmente supportati.
Esecuzione di lavori di formazione valutativa
Avviate un processo di formazione utilizzando il seguente esempio di notebook Jupyter. Per ulteriori informazioni, consulta Utilizzare uno stimatore di SageMaker intelligenza artificiale per eseguire un processo di formazione.
Tabelle di riferimento
Prima di avviare il notebook, fate riferimento alle seguenti tabelle di riferimento per selezionare l'URI dell'immagine e le configurazioni delle istanze.
Selezione dell'URI dell'immagine
Recipe | URI immagine |
---|---|
URI dell'immagine di valutazione |
708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-TJ-Eval-latest |
Selezione del tipo e del numero di istanze
Modello | Tipo di processo | Tipo di istanza | Numero di istanze consigliato | Numero di istanze consentite |
---|---|---|---|---|
Amazon NovaMicro | Valutazione (SFT/DPO) |
g5.12xlarge |
1 | 1 |
Amazon Nova Lite | Valutazione (SFT/DPO) |
g5.12xlarge |
1 | 1 |
Amazon Nova Pro | Valutazione (SFT/DPO) |
p5.48xlarge |
1 | 1 |
Notebook di esempio
Il seguente taccuino di esempio mostra come eseguire un processo di formazione per la valutazione.
# 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})
Valutazione e analisi dei risultati della valutazione
Una volta completato con successo il processo di valutazione, è possibile valutare e analizzare i risultati utilizzando i passaggi seguenti.
Per valutare e analizzare i risultati, segui i passaggi.
-
Comprendi la struttura della posizione di output. I risultati vengono archiviati nella posizione di output specificata di Amazon S3 come file compresso:
s3:
//your-bucket/output/benchmark-name/
└── job_name/ └── output/ └── output.tar.gz -
Scarica il
output.tar.gz
file dal tuo bucket. Estrai il contenuto per rivelarlo. Esiste per tutti i benchmark trannestrong_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
- File JSON delle metriche di output -
details_<task_name>_#_<datetime>.parquet
- File di output di inferenza -
events.out.tfevents.[timestamp]
- file TensorBoard di output
-
-
Visualizza i risultati in TensorBoard. Per visualizzare le metriche di valutazione:
-
Carica la cartella estratta in un bucket S3
-
Passa a SageMaker TensorBoard
-
Seleziona le tue «cartelle S3"
-
Aggiungi il percorso della cartella S3
-
Attendi il completamento della sincronizzazione
-
-
Analizza gli output di inferenza. Tutte le attività di valutazione tranne llm_judge avranno i seguenti campi per l'analisi nell'output dell'inferenza.
-
full_prompt
- il prompt utente completo inviato al modello utilizzato per l'attività di valutazione. -
gold
- il campo che contiene le risposte corrette come specificato dal set di dati. -
metrics
- il campo che contiene le metriche valutate sulla singola inferenza. I valori che richiedono l'aggregazione non avrebbero un valore sui singoli output di inferenza. -
predictions
- il campo che contiene un elenco dell'output del modello per il prompt specificato.
Esaminando questi campi, è possibile determinare la causa delle differenze metriche e comprendere il comportamento dei modelli personalizzati.
Infatti
llm_judge
, il file di output dell'inferenza contiene i seguenti campi nel campo delle metriche per coppia di valutazioni.-
forward_output
- Le preferenze grezze di Judge durante la valutazione in ordine (response_a, response_B). -
backward_output
- Le preferenze grezze del giudice durante la valutazione in ordine inverso (response_B, response_a). -
Pairwise metrics
- Metriche calcolate per coppia di valutazioni in avanti e all'indietro, tra cui,, e.a_scores
b_scores
ties
inference-score
score
Nota
Metriche aggregate come quelle
winrate
disponibili solo nei file dei risultati di riepilogo, non basate su giudizi individuali.
-
Procedure ottimali di valutazione e risoluzione dei problemi
Best practice
Di seguito sono elencate alcune best practice per il processo di valutazione.
-
Mantieni i percorsi di output organizzati per modello e tipo di benchmark.
-
Mantieni convenzioni di denominazione coerenti per un facile tracciamento.
-
Salva i risultati estratti in un luogo sicuro.
-
Monitora lo stato di TensorBoard sincronizzazione per il corretto caricamento dei dati.
Risoluzione dei problemi
È possibile utilizzare CloudWatch il gruppo di log /aws/sagemaker/TrainingJobs
per addestrare i registri degli errori dei processi.
Errore di memoria insufficiente CUDA
Problema:
Quando si esegue la valutazione del modello, viene visualizzato il seguente errore:
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.
Causa:
Questo errore si verifica quando si tenta di caricare un modello che richiede più memoria GPU rispetto a quella disponibile nel tipo di istanza corrente.
Soluzione::
Scegli un tipo di istanza con più memoria GPU. Ad esempio, se utilizzi G5.12xlarge (96 GiB di memoria GPU), esegui l'aggiornamento a G5.48xlarge (192 GiB di memoria GPU)
Prevenzione:
Prima di eseguire la valutazione del modello, effettuate le seguenti operazioni.
-
Stima i requisiti di memoria del tuo modello
-
Assicurati che il tipo di istanza selezionato abbia una memoria GPU sufficiente
-
Considerate il sovraccarico di memoria necessario per il caricamento e l'inferenza del modello
Attività secondarie disponibili
Di seguito sono elencate le sottoattività disponibili per la valutazione del modello in più domini, tra cui MMLU (Massive Multitask Language Understanding), BBH (Big Bench Hard), matematica e MMMU (Massive Multi-discipline Multimodal Understanding). Queste sottoattività consentono di valutare le prestazioni del modello in base a funzionalità e aree di conoscenza specifiche.
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 (Matematica)
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", ]