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_qay 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_judgeymm_llm_judgecon su propio conjunto de datos comparativo, devuelve las siguientes métricas:-
a_scores: número de aciertos pararesponse_Aen pasadas de evaluación hacia delante y hacia atrás. -
a_scores_stderr: error estándar deresponse_A scoresen juicios por pares. -
b_scores: número de aciertos pararesponse_Ben pasadas de evaluación hacia delante y hacia atrás. -
b_scores_stderr: error estándar deresponse_B scoresen juicios por pares. -
ties: número de juicios en los que se evalúaresponse_Ayresponse_Bcomo 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 pararesponse_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. Establezcareasoning_effortsolo cuandomodel_typeespecifique un modelo con capacidad de razonamiento (actualmente,amazon.nova-2-lite-v1:0:256k). Las opciones disponibles sonnull(valor predeterminado si no se establece ninguno; desactiva el razonamiento),lowohigh.
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