Comprensión de los parámetros de fórmula - Amazon Nova

Comprensión de los parámetros de fórmula

Configuración de una ejecución

A continuación se ofrece una configuración de ejecución general y una explicación de los parámetros que intervienen.

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: "" output_s3_path: s3://output_path mlflow_tracking_uri: "" mlflow_experiment_name : "" mlflow_run_name : ""
  • name: (obligatorio) nombre descriptivo del trabajo de evaluación. Ayuda a identificar el trabajo en la consola de AWS.

  • model_type: (obligatorio) especifica la variante del modelo de Amazon Nova que se va a utilizar. No modifique manualmente este campo. Las opciones son:

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

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

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

    • amazon.nova-2-lite-v1:0:256k

  • model_name_or_path: (obligatorio) ruta al modelo base o ruta de S3 para el punto de comprobación entrenado posteriormente. Las opciones son:

    • nova-micro/prod

    • nova-lite/prod

    • nova-pro/prod

    • nova-lite-2/prod

    • (Ruta de S3 para el punto de comprobación entrenado posteriormente) s3://<escrow bucket>/<job id>/outputs/checkpoints

  • replicas: (obligatorio) número de instancias de computación que desea utilizar para entrenamiento distribuido. Debe establecer este valor en 1 porque no se admite el uso de varios nodos.

  • data_s3_path: (obligatorio) ruta de S3 al conjunto de datos de entrada. Deje este parámetro en blanco a menos que esté utilizando la fórmula uso del conjunto de datos propio o LLM como juez.

  • output_s3_path: (obligatorio) ruta de S3 para almacenar artefactos de evaluación de salida. Tenga en cuenta que el bucket de S3 de salida debe crearlo la misma cuenta que está creando el trabajo.

  • mlflow_tracking_uri: (opcional) ARN del servidor de seguimiento de MLflow para rastrear las puestas en marcha o experimentos de MLflow. Asegúrese de tener permiso para acceder al servidor de seguimiento desde el rol de puesta en marcha de SageMaker AI

Configuración de evaluación

A continuación se ofrece una configuración de evaluación de modelos y una explicación de los parámetros que intervienen.

evaluation: task: mmlu strategy: zs_cot subtask: mathematics metric: accuracy
  • task: (obligatorio) Especifica la referencia o la tarea de evaluación que se va a utilizar.

    Lista de tareas admitidas:

    • mmlu

    • mmlu_pro

    • bbh

    • gpqa

    • math

    • strong_reject

    • gen_qa

    • ifeval

    • llm_judge

    • humaneval

    • mm_llm_judge

    • rubric_llm_judge

    • aime_2024

    • calendar_scheduling

    • humaneval

  • strategy: (obligatorio) define el enfoque de evaluación:

    • zs_cot: cadena de pensamientos de cero intentos: enfoque para realizar peticiones a modelos de lenguaje de gran tamaño que fomenta el razonamiento paso a paso sin necesidad de ejemplos explícitos.

    • zs: cero intentos: enfoque para resolver un problema sin ejemplos de entrenamiento anteriores.

    • gen_qa: estrategia específica para crear fórmulas de conjuntos de datos propias.

    • judge: estrategia específica para el LLM como juez de Amazon Nova y mm_llm_judge.

  • subtask: (opcional y eliminable) especifica una subtarea específica para determinadas tareas de evaluación. Elimine esta opción de la fórmula si la tarea no tiene ninguna subtarea.

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

    • accuracy: porcentaje de respuestas correctas

    • exact_match: (para referencia math), devuelve la velocidad a la que las cadenas de entrada previstas coinciden exactamente con sus referencias.

    • deflection: (para referencia strong reject), devuelve la deflexión relativa al modelo base y la diferencia en las métricas de importancia.

    • pass@1: (para referencia humaneval) es una métrica que se utiliza para medir el porcentaje de casos en los que la predicción de mayor confianza del modelo coincide con la respuesta correcta.

    • all: devuelve las siguientes métricas:

      • Para gen_qa y uso de su propia referencia de conjunto de datos, devuelve las siguientes métricas:

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

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

        • rougeL: mide la subsecuencia común más larga entre textos, por lo que puede haber lagunas 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: similar a la coincidencia exacta, pero más flexible, pues suele ignorar el uso de mayúsculas y minúsculas, los signos de puntuación y los espacios en blanco.

        • f1_score: media armónica de precisión y recuperación que mide la superposición de palabras entre respuestas previstas y de referencia.

        • f1_score_quasi: similar a f1_score, pero con una coincidencia más flexible, utiliza una comparación de texto normalizada que no tiene en cuenta pequeñas diferencias.

        • bleu: mide la precisión de las coincidencias de n-gramas entre texto generado y de referencia, suele utilizarse en la evaluación de traducciones.

      • En el caso de llm_judge y mm_llm_judge con su propio conjunto de datos comparativo, devuelve las siguientes métricas:

        • a_scores: número de aciertos para response_A en pasadas de evaluación hacia delante y hacia atrás.

        • a_scores_stderr: error estándar de response_A scores en juicios por pares.

        • b_scores: número de aciertos para response_B en pasadas de evaluación hacia delante y hacia atrás.

        • b_scores_stderr: error estándar de response_B scores en juicios por pares.

        • ties: número de juicios en los que se evalúa response_A y response_B como iguales.

        • ties_stderr: error estándar de ties en juicios por pares.

        • inference_error: número de juicios que no se han podido evaluar adecuadamente.

        • inference_error_stderr: error estándar de errores de inferencia en todos los juicios.

        • score: puntuación global basada en aciertos de pasadas hacia adelante y hacia atrás para response_B.

        • score_stderr: error estándar de puntuación global en juicios por pares.

        • winrate: probabilidad de que se prefiera response_B a response_A calculada utilizando probabilidad de Bradley-Terry.

        • lower_rate: límite inferior (percentil 2,5) de la tasa de aciertos estimada a partir del muestreo de inicio.

Configuración de inferencias

A continuación se ofrece una configuración de inferencia y una explicación de los parámetros que intervienen. Todos los parámetros son opcionales.

inference: max_new_tokens: 200 top_k: -1 top_p: 1.0 temperature: 0 top_logprobs: 10 reasoning_effort: null # options: low/high to enable reasoning or null to disable reasoning
  • max_new_tokens: número máximo de tokens que se generarán. Debe ser un número entero.

  • top_k: número de tokens de mayor probabilidad que se deben tener en cuenta. Debe ser un número entero.

  • top_p: umbral de probabilidad acumulada para el muestreo de tokens. Debe ser un valor flotante entre 0,0 and 1,0, ambos inclusive.

  • temperature: asignación al azar en selección de tokens. Los valores más altos introducen más asignación al azar. Use 0 para hacer que los resultados sean deterministas. Este valor debe ser flotante con un mínimo de 0.

  • top_logprobs: el número de probabilidades logarítmicas principales que se devolverán en la respuesta de inferencia. El valor debe ser un número entero entre 0 y 20. Las probabilidades logarítmicas contienen los tokens resultantes considerados y las probabilidades de registro de cada token resultante devuelto en el contenido del mensaje.

  • reasoning_effort: controla el comportamiento de razonamiento de los modelos capaces de razonar. Establezca reasoning_effort solo cuando model_type especifique un modelo con capacidad de razonamiento (actualmente, amazon.nova-2-lite-v1:0:256k). Las opciones disponibles son null (valor predeterminado si no se establece ninguno; desactiva el razonamiento), low o high.

Tenga en cuenta que para humaneval recomendamos la siguiente configuración de inferencia:

inference: top_k: 1 max_new_tokens: 1600 temperature: 0.0
Configuración de MLflow

A continuación se ofrece una configuración de MLFlow y una explicación de los parámetros que intervienen. Todos los parámetros son opcionales.

run: mlflow_tracking_uri: "" mlflow_experiment_name: "" mlflow_run_name: ""
  • mlflow_tracking_uri: (opcional) La ubicación del servidor de seguimiento de MLflow (solo se necesita en SMHP)

  • mlflow_experiment_name: (opcional) Nombre del experimento para agrupar los procesamientos de ML relacionados

  • mlflow_run_name: (opcional) nombre personalizado para un entrenamiento específico realizado dentro de un experimento