As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Avaliando seu modelo treinado em SageMaker IA
O objetivo do processo de avaliação é avaliar o desempenho do modelo treinado em relação a benchmarks ou conjuntos de dados personalizados. O processo de avaliação geralmente envolve etapas para criar uma receita de avaliação apontando para o modelo treinado, especificar conjuntos de dados e métricas de avaliação, enviar um trabalho separado para a avaliação e avaliar com base em benchmarks padrão ou dados personalizados. O processo de avaliação produzirá métricas de desempenho armazenadas em seu bucket do Amazon S3.
nota
O processo de avaliação descrito neste tópico é um processo off-line. O modelo é testado em relação a benchmarks fixos com respostas predefinidas, em vez de ser avaliado em tempo real ou por meio de interações ao vivo com o usuário. Para avaliação em tempo real, você pode testar o modelo depois de implantado no Amazon Bedrock chamando o Amazon Bedrock Runtime. APIs
Tópicos
Pré-requisitos
Antes de iniciar um trabalho de treinamento de avaliação, observe o seguinte.
-
Um modelo SageMaker Amazon Nova treinado por IA, no qual você deseja avaliar seu desempenho.
-
Receita básica do Amazon Nova para avaliação. Para obter mais informações, consulte Obtendo receitas da Amazon Nova.
Tarefas de benchmark disponíveis
Está disponível um pacote de código de amostra que demonstra como calcular métricas de referência usando o recurso de avaliação de SageMaker modelo do Amazon Nova. Para acessar os pacotes de código, consulte Amostra-n ova-lighteval-custom-task
Aqui está uma lista de benchmarks padrão do setor disponíveis com suporte. Você pode especificar os seguintes benchmarks no eval_task
parâmetro.
Benchmarks disponíveis para avaliação do modelo
Comparativo | Modalidade | Descrição | Métricas | Strategy | Subtarefa disponível |
---|---|---|---|---|---|
mmlu |
Texto |
Compreensão de linguagem multitarefa — testa o conhecimento em 57 disciplinas. |
precisão |
zs_cot | Sim |
mmlu_pro | Texto |
MMLU — Subconjunto Profissional — Concentra-se em domínios profissionais como direito, medicina, contabilidade e engenharia. |
precisão | zs_cot | Não |
bbh | Texto |
Tarefas de raciocínio avançado — Uma coleção de problemas desafiadores que testam habilidades cognitivas e de resolução de problemas de alto nível. |
precisão | fs_cot | Sim |
gpqa | Texto |
Resposta a perguntas de física geral — Avalia a compreensão dos conceitos de física e das habilidades relacionadas à resolução de problemas. |
precisão | zs_cot | Não |
math | Texto |
Resolução de problemas matemáticos — mede o raciocínio matemático em vários tópicos, incluindo álgebra, cálculo e problemas com palavras. |
coincidência exata | zs_cot | Sim |
rejeição forte | Texto |
Tarefa de controle de qualidade — testa a capacidade do modelo de detectar e rejeitar conteúdo impróprio, prejudicial ou incorreto. |
deflection | zs | Sim |
ifeval | Texto |
Avaliação após a instrução — mede a precisão com que um modelo segue as instruções dadas e conclui as tarefas de acordo com as especificações. |
precisão | zs | Não |
gen_qa | Texto |
Avaliação personalizada do conjunto de dados — permite que você forneça seu próprio conjunto de dados para benchmarking, comparando as saídas do modelo com as respostas de referência com métricas como ROUGE e BLEU. |
tudo | gen_qa | Não |
mamãe | Multimodal |
Compreensão multimodal multidisciplinar massiva (MMMU) — Referência de nível universitário que compreende perguntas abertas e de múltipla escolha de 30 disciplinas. |
precisão | zs_cot | Sim |
llm_judge | Texto |
LLM-as-a-Judge Comparação de preferências — usa um modelo Nova Judge para determinar a preferência entre respostas emparelhadas (B em comparação com A) para suas solicitações, calculando a probabilidade de B ter preferência sobre A. |
tudo | juiz | Não |
Configurações específicas de avaliação
Abaixo está um detalhamento dos principais componentes da receita e orientações sobre como modificá-los para seus casos de uso.
Entendendo e modificando suas receitas
Configuração geral de execução
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
: Um nome descritivo para seu trabalho de avaliação. -
model_type
: especifica a variante do modelo Nova a ser usada. Não modifique manualmente esse campo. Entre as opções estão:-
amazônia. nova-micro-v1:0:128 k
-
amazônia. nova-lite-v1:0:300 k
-
amazônia. nova-pro-v1:0:300 k
-
-
model_name_or_path
: O caminho para o modelo básico ou caminho s3 para o ponto de verificação pós-treinado. Entre as opções estão:-
nova-micro/prod
-
nova-lite/prod
-
nova-pro/prod
-
Caminho S3 para caminho de ponto de verificação pós-treinado ()
s3:customer-escrow-111122223333-smtj-<unique_id>/<training_run_name>
nota
Avalie o modelo pós-treinado
Para avaliar um modelo pós-treinado após um trabalho de treinamento da Nova SFT, siga estas etapas após executar um trabalho de treinamento bem-sucedido. No final dos registros de treinamento, você verá a mensagem de registro “O treinamento foi concluído”. Você também encontrará um
manifest.json
arquivo em seu bucket de saída contendo a localização do seu ponto de verificação. Esse arquivo estará localizado dentro de umoutput.tar.gz
arquivo no local de saída do S3. Para continuar com a avaliação, use esse ponto de verificação definindo-o como o valor pararun.model_name_or_path
na configuração da sua receita.
-
-
replica
: o número de instâncias de computação a serem usadas para treinamento distribuído. Definido como 1, pois não há suporte para vários nós. -
data_s3_path
: O caminho do Amazon S3 do conjunto de dados de entrada. Esse campo é obrigatório, mas sempre deve ser deixado em branco.
Configuração de avaliação
evaluation: task: mmlu strategy: zs_cot subtask: abstract_algebra metric: accuracy
-
task
: especifica o benchmark de avaliação ou a tarefa a ser usada. A tarefa suportada inclui:-
mmlu
-
mmlu_pro
-
bbh
-
gpqa
-
math
-
strong_reject
-
gen_qa
-
ifeval
-
mmmu
-
llm_judge
-
-
strategy
: Define a abordagem de avaliação.-
zs_cot
: Zero-shot Chain of Thought - uma abordagem para estimular grandes modelos de linguagem que incentiva o step-by-step raciocínio sem exigir exemplos explícitos. -
fs_cot
: Few-shot Chain of Thought - uma abordagem que fornece alguns exemplos de step-by-step raciocínio antes de pedir ao modelo que resolva um novo problema. -
zs
: Zero-shot - uma abordagem para resolver um problema sem nenhum exemplo de treinamento prévio. -
gen_qa
: Estratégia específica para trazer seu próprio conjunto de dados. -
judge
: Estratégia específica para Nova LLM como Juiz.
-
-
subtask
: opcional. Componentes específicos da tarefa de avaliação. Para obter uma lista completa das subtarefas disponíveis, consulteSubtarefas disponíveis.-
Verifique as subtarefas suportadas em Tarefas de benchmarks disponíveis.
-
Deve remover esse campo se não houver benchmarks de subtarefas.
-
-
metric
: A métrica de avaliação a ser usada.-
accuracy
: Porcentagem de respostas corretas. -
exact_match
: para benchmark matemático, retorna a taxa na qual as sequências de caracteres previstas de entrada correspondem exatamente às suas referências. -
deflection
: Para um benchmark de rejeição forte, retorna a deflexão relativa ao modelo base e às métricas de significância da diferença. -
all
:Para
gen_qa
, traga seu próprio benchmark de conjunto de dados, retorne as seguintes métricas:-
rouge1
: mede a sobreposição de unigramas (palavras únicas) entre o texto gerado e o texto de referência. -
rouge2
: mede a sobreposição de bigramas (duas palavras consecutivas) entre o texto gerado e o texto de referência. -
rougeL
: Mede a maior subsequência comum entre textos, permitindo lacunas na correspondência. -
exact_match
: Pontuação binária (0 ou 1) indicando se o texto gerado corresponde exatamente ao texto de referência, caractere por caractere. -
quasi_exact_match
: Semelhante à correspondência exata, mas mais tolerante, geralmente ignorando diferenças de maiúsculas e minúsculas, pontuação e espaço em branco. -
f1_score
: Média harmônica de precisão e evocação, medindo a sobreposição de palavras entre as respostas previstas e de referência. -
f1_score_quasi
: semelhante ao f1_score, mas com uma correspondência mais branda, usando comparação de texto normalizada que ignora pequenas diferenças. -
bleu
: mede a precisão das correspondências de n-gramas entre o texto gerado e o texto de referência, comumente usadas na avaliação da tradução.
Para
llm_judge
, traga seu próprio benchmark de conjunto de dados, retorne as seguintes métricas:-
a_scores
: Número de vitórias em passes de avaliaçãoresponse_A
cruzados para frente e para trás. -
a_scores_stderr
: Erro padrão de julgamentosresponse_A_scores
entre pares. -
b_scores
: mede o número de vitórias em passes de avaliação pararesponse_B
frente e para trás. -
a_scores_stderr
: Erro padrão de julgamentosresponse_B_scores
entre pares. -
ties
: Número de julgamentos em queresponse_A
eresponse_B
são avaliados como iguais. -
ties_stderr
: Erro padrão de julgamentosties
entre pares. -
inference_error
: Contagem de julgamentos que não puderam ser avaliados adequadamente. -
score
: Pontuação agregada com base nas vitórias dos passes para frente e para trás para.response_B
-
score_stderr
: Pontuação agregada com base nas vitórias dos passes para frente e para trás para.response_B
-
inference_error_stderr
: Erro padrão da pontuação agregada em julgamentos em pares. -
winrate
: A probabilidade queresponse_B
será preferida em relação àresponse_A
calculada usando a probabilidade de Bradley-Terry. -
lower_rate
: Limite inferior (2,5º percentil) da taxa de vitória estimada a partir da amostragem de bootstrap. -
upper_rate
: Limite superior (97,5º percentil) da taxa de vitória estimada a partir da amostragem de bootstrap.
-
-
Configuração de inferência (opcional)
inference: max_new_tokens: 2048 top_k: -1 top_p: 1.0 temperature: 0
-
max_new_tokens
: Número máximo de tokens a serem gerados. Deve ser um número inteiro. (Indisponível para LLM Judge) -
top_k
: Número dos tokens de maior probabilidade a serem considerados. Deve ser um número inteiro. -
top_p
: Limite de probabilidade cumulativa para amostragem de tokens. Deve ser um flutuador entre 1,0 e 0,0. -
temperature
: Aleatoriedade na seleção de tokens (maior = mais aleatório), mantenha 0 para tornar o resultado determinístico. Tipo flutuante, o valor mínimo é 0.
Exemplos de receitas de avaliação
O Amazon Nova fornece quatro tipos diferentes de receitas de avaliação. Todas as receitas estão disponíveis no GitHub repositório de SageMaker HyperPod receitas da Amazon
Receitas de avaliação
Essas receitas permitem que você avalie os recursos fundamentais dos modelos Amazon Nova em um conjunto abrangente de benchmarks somente de texto.
Formato da receita:xxx_
general_text_benchmark_eval.yaml
.
Essas receitas permitem que você avalie as capacidades fundamentais dos modelos Amazon Nova em um conjunto abrangente de benchmarks multimodais.
Formato da receita:xxx_general_multi_modal_benchmark_eval.yaml
.
Requisitos de referência multimodais
-
Suporte de modelo - Suporta apenas os modelos básicos nova-lite e nova-pro e suas variantes pós-treinadas.
Essas receitas permitem que você traga seu próprio conjunto de dados para fins de benchmarking e compare os resultados do modelo com as respostas de referência usando diferentes tipos de métricas.
Formato da receita:xxx_
bring_your_own_dataset_eval.yaml
.
Traga seus próprios requisitos de conjunto de dados
Formato de arquivo:
-
gen_qa.jsonl
Arquivo único contendo exemplos de avaliação. O nome do arquivo deve ser exatogen_qa.jsonl
. -
Você deve carregar seu conjunto de dados em um local do S3 onde os trabalhos de SageMaker treinamento possam ser acessados.
-
O arquivo deve seguir o formato de esquema exigido para o conjunto de dados geral de perguntas e respostas.
Formato do esquema - Cada linha no .jsonl
arquivo deve ser um objeto JSON com os seguintes campos.
-
Campos obrigatórios.
query
: Cadeia de caracteres contendo a pergunta ou instrução que precisa de uma resposta.response
: Cadeia de caracteres contendo a saída esperada do modelo. -
Campos opcionais.
system
: sequência de caracteres contendo o prompt do sistema que define o comportamento, a função ou a personalidade do modelo de IA antes de processar a consulta.
Exemplo de registro
{ "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" }
Para usar seu conjunto de dados personalizado, modifique sua receita de avaliação com os seguintes campos obrigatórios, não altere nenhum conteúdo:
evaluation: task: gen_qa strategy: gen_qa metric: all
Limitações
-
Somente um
.jsonl
arquivo é permitido por avaliação. -
O arquivo deve seguir rigorosamente o esquema definido.
O Nova LLM Judge é um recurso de avaliação de modelo que permite comparar a qualidade das respostas de um modelo com as respostas de um modelo básico usando um conjunto de dados personalizado. Ele aceita um conjunto de dados contendo solicitações, respostas básicas e respostas do desafiante e, em seguida, usa um modelo Nova Judge para fornecer uma métrica de taxa de vitória com base na probabilidade de Bradley-Terryxxx_llm_judge _eval.yaml
.
Requisitos do conjunto de dados do Nova LLM
Formato de arquivo:
-
llm_judge.jsonl
Arquivo único contendo exemplos de avaliação. O nome do arquivo deve ser exatollm_judge.jsonl
. -
Você deve carregar seu conjunto de dados em um local do S3 onde os trabalhos de SageMaker treinamento possam ser acessados.
-
O arquivo deve seguir o formato de esquema exigido para o
llm_judge
conjunto de dados. -
O conjunto de dados de entrada deve garantir que todos os registros tenham menos de 12 k de comprimento de contexto.
Formato do esquema - Cada linha no .jsonl
arquivo deve ser um objeto JSON com os seguintes campos.
-
Campos obrigatórios.
prompt
: Cadeia de caracteres contendo a solicitação da resposta gerada.response_A
: Cadeia de caracteres contendo a resposta da linha de base.response_B
: A sequência de caracteres contendo a resposta alternativa deve ser comparada com a resposta da linha de base.
Exemplo de registro
{ "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." }
Para usar seu conjunto de dados personalizado, modifique sua receita de avaliação com os seguintes campos obrigatórios, não altere nenhum conteúdo:
evaluation: task: llm_judge strategy: judge metric: all
Limitações
-
Somente um
.jsonl
arquivo é permitido por avaliação. -
O arquivo deve seguir rigorosamente o esquema definido.
-
Os modelos Nova Judge são os mesmos nas especificações micro/lite/pro.
-
Atualmente, não há suporte para modelos personalizados de juízes.
Executando trabalhos de treinamento de avaliação
Inicie um trabalho de treinamento usando o seguinte exemplo de caderno Jupyter. Para obter mais informações, consulte Usar um estimador de SageMaker IA para executar um trabalho de treinamento.
Tabelas de referência
Antes de executar o notebook, consulte as tabelas de referência a seguir para selecionar as configurações de URI e instância da imagem.
Seleção do URI da imagem
Fórmula | URI da imagem |
---|---|
URI da imagem de avaliação |
708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-TJ-Eval-latest |
Seleção do tipo e da contagem de instâncias
Modelo | Tipo de trabalho | Tipo de instância | Contagem de instâncias recomendada | Contagem de instâncias permitidas |
---|---|---|---|---|
Amazon Nova Micro | Avaliação (SFT/DPO) |
g5.12xlarge |
1 | 1 |
Amazon Nova Lite | Avaliação (SFT/DPO) |
g5.12xlarge |
1 | 1 |
Amazon Nova Pro | Avaliação (SFT/DPO) |
p5.48xlarge |
1 | 1 |
Exemplo de bloco de notas
O exemplo de caderno a seguir demonstra como executar um trabalho de treinamento de avaliação.
# 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})
Avaliando e analisando os resultados da avaliação
Depois que seu trabalho de avaliação for concluído com êxito, você poderá avaliar e analisar os resultados usando as etapas a seguir.
Para avaliar e analisar os resultados, siga as etapas.
-
Entenda a estrutura do local de saída. Os resultados são armazenados no local de saída especificado do Amazon S3 como um arquivo compactado:
s3:
//your-bucket/output/benchmark-name/
└── job_name/ └── output/ └── output.tar.gz -
Baixe o
output.tar.gz
arquivo do seu bucket. Extraia o conteúdo a ser revelado. Existe para todos os benchmarks, excetostrong_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
- Arquivo JSON de métricas de saída -
details_<task_name>_#_<datetime>.parquet
- Arquivo de saída de inferência -
events.out.tfevents.[timestamp]
- arquivo TensorBoard de saída
-
-
Veja os resultados em TensorBoard. Para visualizar suas métricas de avaliação:
-
Carregue a pasta extraída em um bucket do S3
-
Navegue até SageMaker TensorBoard
-
Selecione suas “pastas S3"
-
Adicione o caminho da pasta S3
-
Aguarde a conclusão da sincronização
-
-
Analise os resultados da inferência. Todas as tarefas de avaliação, exceto llm_judge, terão os seguintes campos para análise na saída da inferência.
-
full_prompt
- o prompt completo do usuário enviado ao modelo usado para a tarefa de avaliação. -
gold
- o campo que contém as respostas corretas, conforme especificado pelo conjunto de dados. -
metrics
- o campo que contém as métricas avaliadas na inferência individual. Valores que exigem agregação não teriam um valor nas saídas de inferência individuais. -
predictions
- o campo que contém uma lista da saída do modelo para o prompt fornecido.
Ao examinar esses campos, você pode determinar a causa das diferenças métricas e entender o comportamento dos modelos personalizados.
Pois
llm_judge
, o arquivo de saída da inferência contém os seguintes campos no campo de métricas por par de avaliações.-
forward_output
- As preferências brutas do juiz ao avaliar em ordem (resposta_a, resposta_b). -
backward_output
- As preferências brutas do juiz ao avaliar na ordem inversa (resposta_B, resposta_a). -
Pairwise metrics
- Métricas calculadas por par de avaliações futuras e retroativasa_scores
, incluindob_scores
,ties
,inference-score
e.score
nota
Métricas agregadas, como,
winrate
estão disponíveis apenas nos arquivos de resultados resumidos, não por julgamento individual.
-
Práticas recomendadas de avaliação e solução de problemas
Práticas recomendadas
A seguir estão listadas algumas das melhores práticas para o processo de avaliação.
-
Mantenha seus caminhos de saída organizados por modelo e tipo de benchmark.
-
Mantenha convenções de nomenclatura consistentes para facilitar o rastreamento.
-
Salve os resultados extraídos em um local seguro.
-
Monitore o status da TensorBoard sincronização para verificar se o carregamento de dados foi bem-sucedido.
Solução de problemas
Você pode usar o grupo de CloudWatch registros /aws/sagemaker/TrainingJobs
para treinar registros de erros do trabalho.
Erro de falta de memória do CUDA
Problema:
Ao executar a avaliação do modelo, você recebe o seguinte erro:
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:
Esse erro ocorre quando você tenta carregar um modelo que exige mais memória de GPU do que a disponível no seu tipo de instância atual.
Solução:
Escolha um tipo de instância com mais memória de GPU. Por exemplo, se você usa G5.12xlarge (96 GiB de memória GPU), atualize para G5.48xlarge (memória GPU de 192 GiB)
Prevenção:
Antes de executar a avaliação do modelo, faça o seguinte.
-
Estime os requisitos de memória do seu modelo
-
Verifique se o tipo de instância selecionado tem memória de GPU suficiente
-
Considere a sobrecarga de memória necessária para o carregamento e a inferência do modelo
Subtarefas disponíveis
A seguir, listamos as subtarefas disponíveis para avaliação de modelos em vários domínios, incluindo MMLU (Massive Multitask Language Understanding), BBH (Big Bench Hard), matemática e MMMU (Massive Multidisciplinar Multimodal Understanding). Essas subtarefas permitem que você avalie o desempenho do seu modelo em capacidades e áreas de conhecimento específicas.
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 (Matemática)
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", ]