Evaluación de su modelo SageMaker entrenado por IA - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Evaluación de su modelo SageMaker entrenado por IA

El objetivo del proceso de evaluación es evaluar el rendimiento del modelo entrenado comparándolo con puntos de referencia o conjuntos de datos personalizados. El proceso de evaluación suele incluir pasos para crear una receta de evaluación basada en el modelo entrenado, especificar los conjuntos de datos y las métricas de la evaluación, enviar un trabajo independiente para la evaluación y realizar la evaluación en función de puntos de referencia estándar o datos personalizados. El proceso de evaluación generará métricas de rendimiento almacenadas en su bucket de Amazon S3.

nota

El proceso de evaluación descrito en este tema es un proceso fuera de línea. El modelo se prueba con puntos de referencia fijos con respuestas predefinidas, en lugar de evaluarse en tiempo real o mediante interacciones con los usuarios en vivo. Para realizar una evaluación en tiempo real, puede probar el modelo después de haberlo implementado en Amazon Bedrock llamando a Amazon Bedrock Runtime. APIs

Requisitos previos

Antes de comenzar un trabajo de formación en evaluación, tenga en cuenta lo siguiente.

  • Un modelo SageMaker de Amazon Nova entrenado por IA del que desee evaluar su rendimiento.

  • Receta básica de Amazon Nova para su evaluación. Para obtener más información, consulte Obtener recetas de Amazon Nova.

Tareas de referencia disponibles

Hay disponible un paquete de códigos de muestra que muestra cómo calcular las métricas de referencia mediante la función de evaluación de SageMaker modelos de Amazon Nova. Para acceder a los paquetes de códigos, consulte el ejemplo N. ova-lighteval-custom-task

Esta es una lista de los puntos de referencia estándares de la industria disponibles compatibles. Puede especificar los siguientes puntos de referencia en el eval_task parámetro.

Puntos de referencia disponibles para la evaluación del modelo

Referencia Modalidad Descripción Métricas Strategy (Estrategia) Subtarea disponible
mmlu

Texto

Comprensión lingüística multitarea: evalúa los conocimientos en 57 materias.

precisión

zs_cot
mmlu_pro Texto

MMLU (subconjunto profesional): se centra en dominios profesionales como el derecho, la medicina, la contabilidad y la ingeniería.

precisión zs_cot No
bbh Texto

Tareas de razonamiento avanzado: conjunto de problemas desafiantes que ponen a prueba las habilidades cognitivas y de resolución de problemas de nivel superior.

precisión fs_cot
gpqa Texto

Respuesta a preguntas de física general: evalúa la comprensión de los conceptos de física y las habilidades relacionadas con la resolución de problemas.

precisión zs_cot No
math Texto

Resolución de problemas matemáticos: mide el razonamiento matemático en temas como álgebra, cálculo y problemas verbales.

exact_match zs_cot
strong_reject Texto

Tarea de control de calidad: prueba la capacidad del modelo para detectar y rechazar contenido inapropiado, dañino o incorrecto.

desviación as
Nifeval Texto

Evaluación siguiendo las instrucciones: mide la precisión con la que un modelo sigue las instrucciones dadas y completa las tareas según las especificaciones.

precisión as No
gen_qa Texto

Evaluación personalizada de conjuntos de datos: le permite proporcionar su propio conjunto de datos para realizar evaluaciones comparativas y comparar los resultados del modelo con las respuestas de referencia con métricas como ROUGE y BLEU.

all gen_qa No
mmmu Multimodal

Comprensión multidisciplinaria masiva y multimodal (MMMU): punto de referencia a nivel universitario que comprende preguntas de opción múltiple y preguntas abiertas de 30 disciplinas.

precisión zs_cot
llm_judge Texto

LLM-as-a-Judge Comparación de preferencias: utiliza un modelo Nova Judge para determinar la preferencia entre las respuestas emparejadas (B en comparación con A) para sus indicaciones, calculando la probabilidad de que se prefiera B a A.

all juez No

Configuraciones específicas de evaluación

A continuación, se incluye un desglose de los componentes clave de la receta y una guía sobre cómo modificarlos para sus casos de uso.

Comprenda y modifique sus recetas

Configuración general de ejecución

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 nombre descriptivo para su trabajo de evaluación.

  • model_type: Especifica la variante del modelo Nova que se va a utilizar. No modifique este campo manualmente. Las opciones son:

    • amazon. nova-micro-v1:20:128 k

    • amazona. nova-lite-v1:30:300 km

    • amazona. nova-pro-v1:30:300 km

  • model_name_or_path: La ruta hacia el modelo base o la ruta s3 para el punto de control posterior al entrenamiento. Las opciones son:

    • nova-micro/prod

    • nova-lite/prod

    • nova-pro/prod

    • Ruta S3 para la ruta de punto de control posterior al entrenamiento () s3:customer-escrow-111122223333-smtj-<unique_id>/<training_run_name>

      nota

      Evalúe el modelo posentrenado

      Para evaluar un modelo posformado después de un trabajo de formación en Nova SFT, siga estos pasos después de realizar un trabajo de formación exitoso. Al final de los registros de formación, verá el mensaje de registro «La formación ha finalizado». También encontrarás un manifest.json archivo en el depósito de salida que contiene la ubicación de tu punto de control. Este archivo se ubicará dentro de un output.tar.gz archivo en la ubicación S3 de salida. Para continuar con la evaluación, utilice este punto de control configurándolo como el valor de la configuración run.model_name_or_path de la receta.

  • replica: El número de instancias informáticas que se van a utilizar para el entrenamiento distribuido. No se admite la configuración en 1 ya que tiene varios nodos.

  • data_s3_path: La ruta Amazon S3 del conjunto de datos de entrada. Este campo es obligatorio, pero siempre debe dejarse vacío.

Configuración de evaluación

evaluation: task: mmlu strategy: zs_cot subtask: abstract_algebra metric: accuracy
  • task: Especifica el punto de referencia o la tarea de evaluación que se va a utilizar. La tarea compatible incluye:

    • mmlu

    • mmlu_pro

    • bbh

    • gpqa

    • math

    • strong_reject

    • gen_qa

    • ifeval

    • mmmu

    • llm_judge

  • strategy: Define el enfoque de evaluación.

    • zs_cot: Cadena de pensamiento sin trabas: un enfoque para impulsar modelos lingüísticos extensos que fomentan el step-by-step razonamiento sin requerir ejemplos explícitos.

    • fs_cot: Cadena de pensamiento de pocos pasos: un enfoque que proporciona algunos ejemplos de step-by-step razonamiento antes de pedirle al modelo que resuelva un problema nuevo.

    • zs: Zero-shot: un enfoque para resolver un problema sin ningún ejemplo de formación previa.

    • gen_qa: Estrategia específica para traer tu propio conjunto de datos.

    • judge: Estrategia específica para Nova LLM como juez.

  • subtask: opcional. Componentes específicos de la tarea de evaluación. Para obtener una lista completa de las subtareas disponibles, consulteSubtareas disponibles.

    • Compruebe las subtareas compatibles en las tareas comparativas disponibles.

    • Debería eliminar este campo si no hay puntos de referencia de subtareas.

  • metric: La métrica de evaluación que se va a utilizar.

    • accuracy: Porcentaje de respuestas correctas.

    • exact_match: Para el punto de referencia matemático, devuelve la velocidad a la que las cadenas pronosticadas de entrada coinciden exactamente con sus referencias.

    • deflection: En el caso de un índice de rechazo fuerte, devuelve la desviación relativa respecto al modelo base y las métricas de significancia de la diferencia.

    • all:

      Si utiliza su propio punto de referencia para gen_qa el conjunto de datos, devuelva las siguientes métricas:

      • rouge1: Mide la superposición de unigramas (palabras individuales) entre el texto generado y el de referencia.

      • rouge2: Mide la superposición de bigramas (dos palabras consecutivas) entre el texto generado y el de referencia.

      • rougeL: Mide la subsecuencia común más larga entre textos, lo que permite eliminar brechas en la coincidencia.

      • exact_match: puntuación binaria (0 o 1) que indica si el texto generado coincide exactamente con el texto de referencia, carácter por carácter.

      • quasi_exact_match: Se parece a la coincidencia exacta, pero es más flexible, ya que normalmente ignora las diferencias entre mayúsculas y minúsculas, los signos de puntuación y los espacios en blanco.

      • f1_score: Media armónica de precisión y memoria, que mide la superposición de palabras entre las respuestas pronosticadas y las de referencia.

      • f1_score_quasi: Similar a f1_score pero con una coincidencia más flexible, utilizando una comparación de texto normalizada que ignora las diferencias menores.

      • bleu: Mide la precisión de las coincidencias de n gramos entre el texto generado y el de referencia, lo que se utiliza habitualmente en la evaluación de traducciones.

      Si utiliza su propio punto de referencia para llm_judge el conjunto de datos, devuelva las siguientes métricas:

      • a_scores: Número de victorias obtenidas response_A en pases de evaluación anteriores y posteriores.

      • a_scores_stderr: Error estándar de los juicios response_A_scores entre pares.

      • b_scores: Mide el número de victorias obtenidas response_B en pases de evaluación anteriores y posteriores.

      • a_scores_stderr: Error estándar de los juicios response_B_scores entre pares.

      • ties: Número de sentencias en las que se evalúa response_A y se response_B evalúan como iguales.

      • ties_stderr: Error estándar de las ties sentencias entre pares.

      • inference_error: Recuento de sentencias que no se pudieron evaluar adecuadamente.

      • score: La puntuación global se basa en los pases ganados tanto para adelante como para response_B atrás.

      • score_stderr: La puntuación global se basa en las ganancias de los pases para adelante y para atrásresponse_B.

      • inference_error_stderr: Error estándar de la puntuación global en los juicios por parejas.

      • winrate: La probabilidad que se response_B preferirá a la response_A calculada utilizando la probabilidad de Bradley-Terry.

      • lower_rate: Límite inferior (percentil 2,5) de la tasa de ganancias estimada a partir del muestreo inicial.

      • upper_rate: Límite superior (percentil 97,5) de la tasa de ganancias estimada a partir del muestreo bootstrap.

Configuración de inferencia (opcional)

inference: max_new_tokens: 2048 top_k: -1 top_p: 1.0 temperature: 0
  • max_new_tokens: Número máximo de fichas que se pueden generar. Debe ser un número entero. (No disponible para LLM Judge)

  • top_k: Número de fichas de mayor probabilidad a tener en cuenta. Debe ser un número entero.

  • top_p: Umbral de probabilidad acumulada para el muestreo simbólico. Debe ser un valor flotante entre 1,0 y 0,0.

  • temperature: Aleatoriedad en la selección de fichas (más alta = más aleatoria), mantenga 0 para que el resultado sea determinista. De tipo flotante, el valor mínimo es 0.

Ejemplos de recetas de evaluación

Amazon Nova ofrece cuatro tipos diferentes de recetas de evaluación. Todas las recetas están disponibles en el GitHub repositorio de SageMaker HyperPod recetas de Amazon.

Recetas de evaluación

    Estas recetas le permiten evaluar las capacidades fundamentales de los modelos de Amazon Nova a través de un conjunto integral de puntos de referencia de solo texto.

    Formato de receta:. xxx_ general_text_benchmark_eval.yaml

    Estas recetas le permiten evaluar las capacidades fundamentales de los modelos de Amazon Nova en un conjunto integral de puntos de referencia multimodales.

    Formato de receta:. xxx_general_multi_modal_benchmark_eval.yaml

    Requisitos de referencia multimodales

    • Soporte de modelos: solo es compatible con los modelos base nova-lite y nova-pro y sus variantes entrenadas posteriormente.

    Estas recetas le permiten crear su propio conjunto de datos para realizar evaluaciones comparativas y comparar los resultados del modelo con las respuestas de referencia utilizando diferentes tipos de métricas.

    Formato de receta:xxx_ bring_your_own_dataset_eval.yaml.

    Traiga sus propios requisitos de conjunto de datos

    Formato de archivo:

    • gen_qa.jsonlArchivo único que contiene ejemplos de evaluación. El nombre del archivo debe ser exactogen_qa.jsonl.

    • Debe cargar su conjunto de datos en una ubicación de S3 a la que puedan acceder los trabajos de SageMaker formación.

    • El archivo debe seguir el formato de esquema requerido para el conjunto de datos de preguntas y preguntas generales.

    Formato de esquema: cada línea del .jsonl archivo debe ser un objeto JSON con los siguientes campos.

    • Campos obligatorios.

      query: cadena que contiene la pregunta o instrucción que necesita una respuesta.

      response: Cadena que contiene el resultado esperado del modelo.

    • Campos opcionales.

      system: cadena que contiene el mensaje del sistema que establece el comportamiento, la función o la personalidad del modelo de IA antes de que procese la consulta.

    Ejemplo de entrada

    { "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 tu conjunto de datos personalizado, modifica tu receta de evaluación con los siguientes campos obligatorios, sin cambiar ningún contenido:

    evaluation: task: gen_qa strategy: gen_qa metric: all

    Limitaciones

    • Solo se permite un .jsonl archivo por evaluación.

    • El archivo debe seguir estrictamente el esquema definido.

    Nova LLM Judge es una función de evaluación de modelos que le permite comparar la calidad de las respuestas de un modelo con las respuestas de un modelo de referencia mediante un conjunto de datos personalizado. Acepta un conjunto de datos que contiene indicaciones, respuestas de referencia y respuestas de los aspirantes y, a continuación, utiliza un modelo Nova Judge para proporcionar una métrica de la tasa de victorias basada en la probabilidad de Bradley-Terry mediante comparaciones por pares. Formato de receta:. xxx_llm_judge _eval.yaml

    Requisitos del conjunto de datos Nova LLM

    Formato de archivo:

    • llm_judge.jsonlArchivo único que contiene ejemplos de evaluación. El nombre del archivo debe ser exactollm_judge.jsonl.

    • Debe cargar su conjunto de datos en una ubicación de S3 a la que puedan acceder los trabajos de SageMaker formación.

    • El archivo debe seguir el formato de esquema requerido para el llm_judge conjunto de datos.

    • El conjunto de datos de entrada debe garantizar que todos los registros tengan una longitud de contexto inferior a 12 k.

    Formato de esquema: cada línea del .jsonl archivo debe ser un objeto JSON con los siguientes campos.

    • Campos obligatorios.

      prompt: cadena que contiene la solicitud de la respuesta generada.

      response_A: Cadena que contiene la respuesta de referencia.

      response_B: La cadena que contiene la respuesta alternativa se comparará con la respuesta de referencia.

    Ejemplo de entrada

    { "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 tu conjunto de datos personalizado, modifica tu receta de evaluación con los siguientes campos obligatorios, sin cambiar ningún contenido:

    evaluation: task: llm_judge strategy: judge metric: all

    Limitaciones

    • Solo se permite un .jsonl archivo por evaluación.

    • El archivo debe seguir estrictamente el esquema definido.

    • Los modelos Nova Judge son los mismos en todas las especificaciones micro, lite y pro.

    • Los modelos de jueces personalizados no son compatibles actualmente.

    Realización de trabajos de formación en evaluación

    Comience un trabajo de formación con el siguiente ejemplo de cuaderno Jupyter. Para obtener más información, consulte Utilizar un estimador de SageMaker IA para realizar un trabajo de formación.

    Tablas de referencia

    Antes de ejecutar el bloc de notas, consulta las siguientes tablas de referencia para seleccionar el URI de la imagen y las configuraciones de instancia.

    Seleccionar el URI de la imagen

    Receta URI de imagen

    URI de la imagen de evaluación

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

    Seleccionar el tipo y el recuento de instancias

    Modelo Tipo de trabajo Tipo de instancia Recuento de instancias recomendado Recuento de instancias permitido
    Amazon Nova Micro Evaluación (SFT/DPO)

    g5.12xlarge

    1 1
    Amazon Nova Lite Evaluación (SFT/DPO)

    g5.12xlarge

    1 1
    Amazon Nova Pro Evaluación (SFT/DPO)

    p5.48xlarge

    1 1

    Cuaderno de ejemplo

    El siguiente ejemplo de cuaderno muestra cómo llevar a cabo un trabajo de formación en evaluación.

    # 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})

    Evaluar y analizar los resultados de la evaluación

    Una vez que su trabajo de evaluación haya finalizado satisfactoriamente, podrá evaluar y analizar los resultados mediante los siguientes pasos.

    Para evaluar y analizar los resultados, siga los siguientes pasos.
    1. Comprenda la estructura de ubicación de salida. Los resultados se almacenan en la ubicación de salida de Amazon S3 especificada como un archivo comprimido:

      s3://your-bucket/output/benchmark-name/ └── job_name/ └── output/ └── output.tar.gz
    2. Descarga el output.tar.gz archivo de tu bucket. Extrae el contenido para revelarlo. Existen para todos los puntos de referencia exceptostrong_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- Archivo JSON de métricas de salida

      • details_<task_name>_#_<datetime>.parquet- Archivo de salida de inferencias

      • events.out.tfevents.[timestamp]- archivo TensorBoard de salida

    3. Ver los resultados en TensorBoard. Para visualizar tus métricas de evaluación:

      1. Cargue la carpeta extraída en un bucket de S3

      2. Navegue hasta SageMaker TensorBoard

      3. Seleccione sus «carpetas S3"

      4. Añada la ruta de la carpeta S3

      5. Espere a que se complete la sincronización

    4. Analice los resultados de las inferencias. Todas las tareas de evaluación, excepto llm_judge, tendrán los siguientes campos de análisis en el resultado de la inferencia.

      • full_prompt- el mensaje de usuario completo enviado al modelo utilizado para la tarea de evaluación.

      • gold- el campo que contiene las respuestas correctas especificadas en el conjunto de datos.

      • metrics- el campo que contiene las métricas evaluadas en la inferencia individual. Los valores que requieren agregación no tendrían ningún valor en los resultados de la inferencia individuales.

      • predictions- el campo que contiene una lista de los resultados del modelo para la solicitud dada.

      Al observar estos campos, puede determinar la causa de las diferencias métricas y comprender el comportamiento de los modelos personalizados.

      llm_judgeEn efecto, el archivo de resultados de inferencias contiene los siguientes campos en el campo de métricas por par de evaluaciones.

      • forward_output- Evalúe las preferencias brutas del usuario al evaluar en orden (respuesta_A, respuesta_B).

      • backward_output- Juzgue las preferencias sin procesar al evaluar en orden inverso (respuesta_B, response_A).

      • Pairwise metrics- Métricas que se calculan por pares de evaluaciones hacia adelante y hacia atrás, incluidas,, y. a_scores b_scores ties inference-score score

        nota

        Las métricas agregadas, como esta, solo winrate están disponibles en los archivos de resultados resumidos, no por valoración individual.

    Mejores prácticas de evaluación y solución de problemas

    Prácticas recomendadas

    A continuación se enumeran algunas de las mejores prácticas para el proceso de evaluación.

    • Mantenga sus rutas de salida organizadas por modelo y tipo de referencia.

    • Mantenga convenciones de nomenclatura consistentes para facilitar el seguimiento.

    • Guarde los resultados extraídos en un lugar seguro.

    • Supervise el estado de TensorBoard sincronización para comprobar que los datos se cargan correctamente.

    Solución de problemas

    Puede usar el grupo de CloudWatch registros /aws/sagemaker/TrainingJobs para entrenar los registros de errores de los trabajos.

    Error de falta de memoria en CUDA

    Problema:

    Al ejecutar la evaluación del modelo, aparece el siguiente error:

    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:

    Este error se produce cuando intentas cargar un modelo que requiere más memoria de GPU de la que está disponible en tu tipo de instancia actual.

    Solución:

    Elige un tipo de instancia con más memoria de GPU. Por ejemplo, si utilizas G5.12xLarge (96 GiB de memoria GPU), actualízalo a G5.48xLarge (192 GiB de memoria GPU)

    Prevención:

    Antes de ejecutar la evaluación del modelo, haga lo siguiente.

    • Calcule los requisitos de memoria de su modelo

    • Asegúrese de que el tipo de instancia seleccionado tenga suficiente memoria de GPU

    • Ten en cuenta la sobrecarga de memoria necesaria para cargar e inferir modelos

    Subtareas disponibles

    A continuación, se enumeran las subtareas disponibles para la evaluación de modelos en varios dominios, como la MMLU (comprensión masiva del lenguaje con múltiples tareas), la BBH (Big Bench Hard), las matemáticas y la MMMU (comprensión multidisciplinaria y multimodal masiva). Estas subtareas le permiten evaluar el rendimiento del modelo en función de capacidades y áreas de conocimiento 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", ]