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.
Ejemplos de fórmula de evaluación
Amazon Nova ofrece cuatro tipos de recetas de evaluación, que están disponibles en el GitHub repositorio de HyperPod recetas.
Estas fórmulas le permiten evaluar las capacidades fundamentales de los modelos de Amazon Nova a través de un amplio conjunto de referencias solo de texto. Se proporcionan en formato xxx_general_text_benchmark_eval.yaml.
Estas fórmulas le permiten utilizar su propio conjunto de datos como referencia y comparar las salidas del modelo con las respuestas de referencia utilizando diferentes tipos de métricas. Se proporcionan en formato xxx_bring_your_own_dataset_eval.yaml.
Estos son los requisitos para utilizar un conjunto de datos propio:
-
Requisitos de formato de archivo
-
Debe incluir un único archivo
gen_qa.jsonlque contenga ejemplos de evaluación. -
El conjunto de datos debe cargarse en una ubicación de S3 a la que el trabajo de formación en SageMaker IA pueda acceder a él.
-
El archivo debe seguir el formato de esquema requerido para un conjunto de datos general de preguntas y respuestas.
-
-
Requisitos de formato de esquema: cada línea del archivo JSONL debe ser un objeto JSON con los siguientes campos:
-
query: (obligatorio) cadena que contiene la pregunta o la instrucción que necesita una respuesta -
response: (obligatorio) cadena que contiene la salida esperada del modelo -
system: (opcional) cadena que contiene la petición del sistema que establece el comportamiento, el rol o la personalidad del modelo de IA antes de que procese la consulta -
metadata: (Opcional) Cadena que contiene los metadatos asociados a la entrada con fines de etiquetado.
-
Esta es una entrada de ejemplo de uso del conjunto de datos propio
{ "system":"You are a 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 that 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 that follows 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 un conjunto de datos personalizado, modifique la fórmula de evaluación con los siguientes campos obligatorios, sin cambiar ningún contenido:
evaluation: task: gen_qa strategy: gen_qa metric: all
Se aplican las siguientes restricciones:
-
Solo se permite un archivo JSONL por evaluación.
-
El archivo debe seguir estrictamente el esquema definido.
-
Límite de longitud del contexto: para cada muestra del conjunto de datos, la longitud del contexto (incluidas las solicitudes de consulta y del sistema) debe ser inferior a 3,5 k.
LLM como juez de Amazon Nova es una característica de evaluación de modelos que permite a los clientes comparar la calidad de las respuestas de un modelo con la respuesta de un modelo de referencia en un conjunto de datos personalizado. Incluye un conjunto de datos con peticiones, respuestas de referencia y respuestas de desafío, y utiliza un modelo de Nova Judge para proporcionar una métrica de tasa de aciertos basada en probabilidad de Bradley-Terry
Las fórmulas se proporcionan en formato xxx_llm_judge_eval.yaml.
Estos son los requisitos del LLM como juez:
-
Requisitos de formato de archivo
-
Incluya un solo archivo
llm_judge.jsonlque contenga ejemplos de evaluación. El nombre de archivo debe serllm_judge.jsonl. -
El conjunto de datos debe cargarse en una ubicación de S3 a la que SageMaker AI HyperPod RIG pueda acceder.
-
El archivo debe seguir el formato de esquema requerido para el conjunto de datos
llm_judge.jsonl. -
El conjunto de datos de entrada debe garantizar que todos los registros tengan una longitud de contexto inferior a 12 000.
-
-
Requisitos de formato de esquema: cada línea del archivo JSONL debe ser un objeto JSON con los siguientes campos:
-
prompt: (obligatorio) cadena que contiene la petición de la respuesta generada. -
response_A: cadena que contiene la respuesta de referencia. -
response_B: cadena que contiene la respuesta alternativa que se comparará con la respuesta de referencia.
-
Esta es una entrada de ejemplo de LLM como juez
{ "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 un conjunto de datos personalizado, modifique la fórmula de evaluación con los siguientes campos obligatorios, sin cambiar ningún contenido:
evaluation: task: llm_judge strategy: judge metric: all
Se aplican las siguientes restricciones:
-
Solo se permite un archivo JSONL por evaluación.
-
El archivo debe seguir estrictamente el esquema definido.
-
Los modelos de Juez de Amazon Nova son iguales en todas las especificaciones de familias de modelos (es decir, Lite, Micro y Pro).
-
No se admiten modelos de juez personalizados en este momento.
-
Límite de longitud del contexto: para cada muestra del conjunto de datos, la longitud del contexto (incluidas las solicitudes de consulta y el sistema) debe ser inferior a 7 000.
Nova LLM Judge para multimodal (imagen), abreviatura de Nova MM_LLM Judge, es una función de evaluación de modelos que 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 retadores, e imágenes en forma de cadena codificada en Base64. A continuación, utiliza un modelo Nova Judge para proporcionar una métrica de la tasa de victorias basada en la probabilidad de Bradley-Terryxxx_mm_llm_judge _eval.yaml.
Requisitos del conjunto de datos de Nova LLM
Formato de archivo:
-
Archivo
mm_llm_judge.jsonlúnico que contiene ejemplos de evaluación. El nombre del archivo debe ser exacto.llm_judge.jsonl -
Debe cargar su conjunto de datos en una ubicación de S3 donde los trabajos de SageMaker formación puedan acceder a él.
-
El archivo debe seguir el formato de esquema requerido para el conjunto de datos
mm_llm_judge. -
El conjunto de datos de entrada debe garantizar que todos los registros tengan una longitud de contexto inferior a 12 k, excluyendo el atributo de la imagen.
Formato de esquema: cada línea del archivo .jsonl debe ser un objeto JSON con los siguientes campos.
-
Campos obligatorios.
prompt: cadena que contiene la petición de la respuesta generada.images: Matriz que contiene una lista de objetos con atributos de datos (los valores son cadenas de imágenes codificadas en Base64).response_A: cadena que contiene la respuesta de referencia.response_B: cadena que contiene la respuesta alternativa que se comparará con la respuesta de referencia.
Ejemplo de entrada
Para facilitar la lectura, el siguiente ejemplo incluye nuevas líneas e indentaciones, pero en el conjunto de datos real, cada registro debe estar en una sola línea.
{ "prompt": "what is in the image?", "images": [ { "data": "data:image/jpeg;Base64,/9j/2wBDAAQDAwQDAwQEAwQFBAQFBgo..." } ], "response_A": "a dog.", "response_B": "a cat.", } { "prompt": "how many animals in echo of the images?", "images": [ { "data": "data:image/jpeg;Base64,/9j/2wBDAAQDAwQDAwQEAwQFBAQFBgo..." }, { "data": "data:image/jpeg;Base64,/DKEafe3gihn..." } ], "response_A": "The first image contains one cat and the second image contains one dog", "response_B": "The first image has one aminal and the second has one animal", }
Para usar un conjunto de datos personalizado, modifique la fórmula de evaluación con los siguientes campos obligatorios, sin cambiar ningún contenido:
evaluation: task: mm_llm_judge strategy: judge metric: all
Limitaciones
-
Solo se permite un archivo
.jsonlpor evaluación. -
El archivo debe seguir estrictamente el esquema definido.
-
Los modelos Nova MM Judge solo admiten referencias a imágenes.
-
Los modelos Nova MM Judge son los mismos en todas las especificaciones de Amazon Nova Lite.
-
Actualmente no se admiten modelos de juez personalizados.
-
No se admite el URI de imagen de Amazon S3.
-
El conjunto de datos de entrada debe garantizar que todos los registros tengan una longitud de contexto inferior a 12 k, excluyendo el atributo images.
Rubric Judge es un modelo de LLM-as-a-judge evaluación mejorado basado en Nova 2.0 Lite. A diferencia del modelo de juez original
Capacidades clave:
-
Generación dinámica de criterios: crea automáticamente las dimensiones de evaluación relevantes en función de la solicitud de entrada
-
Puntuación ponderada: asigna ponderaciones de importancia a cada criterio para reflejar su importancia relativa
-
Evaluación granular: proporciona puntuaciones detalladas para cada criterio en formato binario (verdadero/falso) o en escala (del 1 al 5)
-
Métricas de calidad: calcula las puntuaciones de calidad continuas (escala 0-1) que cuantifican la magnitud de las diferencias entre las respuestas
Ejemplo de criterio generado por el modelo:
price_validation: description: "The response includes validation to ensure price is a positive value." type: "scale" weight: 0.3
El modelo evalúa ambas respuestas en función de todos los criterios generados y, a continuación, utiliza estas puntuaciones a nivel de criterio para fundamentar su decisión final de preferencia.
Temas
Configuración de recetas
Receta de Rubric Judge
Activa Rubric Judge task: rubric_llm_judge configurando tu receta:
run: name: nova-eval-job-name # [MODIFIABLE] Unique identifier for your evaluation job model_type: amazon.nova-2-lite-v1:0:256k # [FIXED] Rubric Judge model type model_name_or_path: "nova-lite-2/prod" # [FIXED] Path to model checkpoint or identifier replicas: 1 # [MODIFIABLE] Number of replicas for SageMaker Training job data_s3_path: "" # [FIXED] Leave empty for SageMaker Training job output_s3_path: "" # [FIXED] Leave empty for SageMaker Training job evaluation: task: rubric_llm_judge # [FIXED] Evaluation task - enables Rubric Judge strategy: judge # [FIXED] Evaluation strategy metric: all # [FIXED] Metric calculation method inference: max_new_tokens: 12000 # [MODIFIABLE] Maximum tokens to generate top_k: -1 # [MODIFIABLE] Top-k sampling parameter top_p: 1.0 # [MODIFIABLE] Nucleus sampling parameter temperature: 0 # [MODIFIABLE] Sampling temperature (0 = deterministic)
Receta original de LLM as a Judge (a modo de comparación)
El modelo de juez original utilizatask: llm_judge:
run: name: eval-job-name # [MODIFIABLE] Unique identifier for your evaluation job model_type: amazon.nova-micro-v1:0:128k # [FIXED] Model type model_name_or_path: "nova-micro/prod" # [FIXED] Path to model checkpoint or identifier replicas: 1 # [MODIFIABLE] Number of replicas for SageMaker Training job data_s3_path: "" # [FIXED] Leave empty for SageMaker Training job output_s3_path: "" # [FIXED] Leave empty for SageMaker Training job evaluation: task: llm_judge # [FIXED] Original judge task strategy: judge # [FIXED] Evaluation strategy metric: all # [FIXED] Metric calculation method inference: max_new_tokens: 12000 # [MODIFIABLE] Maximum tokens to generate top_k: -1 # [MODIFIABLE] Top-k sampling parameter top_p: 1.0 # [MODIFIABLE] Nucleus sampling parameter temperature: 0 # [MODIFIABLE] Sampling temperature (0 = deterministic)
Formato de conjunto de datos de entrada
El formato del conjunto de datos de entrada es idéntico al modelo de juez original
Campos obligatorios:
-
prompt: Cadena que contiene el mensaje de entrada y las instrucciones -
response_A: Cadena que contiene el resultado del modelo de referencia -
response_B: Cadena que contiene la salida del modelo personalizado
Ejemplo de conjunto de datos (formato JSONL):
{"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."}
Requisitos de formato:
-
Cada entrada debe ser un objeto JSON de una sola línea
-
Separe las entradas con líneas nuevas
-
Siga la denominación exacta de los campos como se muestra en los ejemplos
Resultado de la evaluación
Estructura de salida
Rubric Judge produce métricas de evaluación mejoradas en comparación con el modelo de juez original:
{ "config_general": { "lighteval_sha": "string", "num_fewshot_seeds": "int", "max_samples": "int | null", "job_id": "int", "start_time": "float", "end_time": "float", "total_evaluation_time_secondes": "string", "model_name": "string", "model_sha": "string", "model_dtype": "string | null", "model_size": "string" }, "results": { "custom|rubric_llm_judge_judge|0": { "a_scores": "float", "a_scores_stderr": "float", "b_scores": "float", "b_scores_stderr": "float", "ties": "float", "ties_stderr": "float", "inference_error": "float", "inference_error_stderr": "float", "score": "float", "score_stderr": "float", "weighted_score_A": "float", "weighted_score_A_stderr": "float", "weighted_score_B": "float", "weighted_score_B_stderr": "float", "score_margin": "float", "score_margin_stderr": "float", "winrate": "float", "lower_rate": "float", "upper_rate": "float" } }, "versions": { "custom|rubric_llm_judge_judge|0": "int" } }
Nuevas métricas en Rubric Judge
Las siguientes seis métricas son exclusivas de Rubric Judge y proporcionan una evaluación de calidad pormenorizada:
Métrica |
Description (Descripción) |
|---|---|
Puntuación_ponderada_A |
Puntuación media de calidad normalizada para Response_A en todos los criterios de evaluación generados por el modelo. Los puntajes se ponderan según la importancia del criterio y se normalizan en una escala de 0 a 1 (cuanto más alto = mejor calidad) |
Weighted_Score_a_stderr |
Error estándar de la media de Weighted_Score_A, que indica incertidumbre estadística |
Puntuación_B ponderada |
Puntuación media de calidad normalizada para la respuesta_B en todos los criterios de evaluación generados por el modelo. Los puntajes se ponderan según la importancia del criterio y se normalizan en una escala de 0 a 1 (cuanto más alto = mejor calidad) |
Weighted_Score_B_STDERR |
Error estándar de la media de Weighted_Score_B, que indica incertidumbre estadística |
score_margin |
Diferencia entre las puntuaciones ponderadas (calculadas como Weighted_score_A - Weighted_score_B). Rango: de -1,0 a 1,0. Positivo = respuesta_A es mejor; negativo = respuesta_B es mejor; próximo a cero = calidad similar |
score_margin_stderr |
Error estándar de la media de score_margin, que indica incertidumbre en la medición de la diferencia de calidad |
Comprensión de las métricas de puntuación ponderada
Objetivo: Las puntuaciones ponderadas proporcionan mediciones de calidad continuas que complementan los veredictos sobre preferencias binarias, lo que permite obtener una visión más profunda del rendimiento del modelo.
Diferencias clave con respecto al juez original:
-
Juez original: solo genera preferencias discretas (A>B, B>A, A=B)
-
Rúbric Judge: genera tanto las preferencias como las puntuaciones de calidad continuas (escala 0-1) en función de criterios personalizados
Interpretando score_margin:
-
score_margin = -0.128: Response_B obtuvo 12,8 puntos porcentuales más que Response_A -
|score_margin| < 0.1: Estrecha diferencia de calidad (decisión cercana) -
|score_margin| > 0.2: Diferencia de calidad clara (decisión segura)
Casos de uso:
-
Mejora del modelo: identifique las áreas específicas en las que su modelo tiene un rendimiento inferior
-
Cuantificación de la calidad: mida la magnitud de las brechas de rendimiento, no solo las proporciones win/loss
-
Evaluación de la confianza: distinga entre decisiones cercanas y claras diferencias de calidad
importante
Los veredictos finales siguen basándose en las etiquetas de preferencia explícitas del modelo de juez para preservar el razonamiento holístico y garantizar una adecuada mitigación de los sesgos de posición mediante forward/backward la evaluación. Los puntajes ponderados sirven como herramientas de observabilidad, no como sustitutos del veredicto primario.
Metodología de cálculo
Las puntuaciones ponderadas se calculan mediante el siguiente proceso:
-
Extraiga los datos de los criterios: analice el resultado del YAML del juez para extraer las puntuaciones y las ponderaciones de los criterios
-
Normalice las puntuaciones:
-
Criterios de tipo escala (1-5): normalice a 0-1 calculando
(score - 1) / 4 -
Criterios binarios (verdadero/falso): convertir a 1,0/0,0
-
-
Aplicar ponderaciones: multiplique cada puntuación normalizada por su ponderación de criterio
-
Agregado: sume todos los puntajes ponderados de cada respuesta
-
Calcular el margen: Calcular
score_margin = weighted_score_A - weighted_score_B
Ejemplo: si la respuesta_A tiene una suma ponderada de 0,65 y la respuesta_B tiene 0,78, score_margin sería -0,13, lo que indica que la respuesta_B tiene una calidad 13 puntos porcentuales superior en todos los criterios ponderados.
Soporte del modelo de razonamiento
El soporte del modelo de razonamiento permite la evaluación con modelos Nova capaces de razonar que realizan un razonamiento interno explícito antes de generar las respuestas finales. Esta función utiliza el control a nivel de API mediante el reasoning_effort parámetro para activar o desactivar de forma dinámica la funcionalidad de razonamiento, lo que podría mejorar la calidad de la respuesta en tareas analíticas complejas.
Modelos compatibles:
-
amazon.nova-2-lite-v 1:0:256 k
Configuración de recetas
Habilita el razonamiento añadiendo el reasoning_effort parámetro a la inference sección de tu receta:
run: name: eval-job-name # [MODIFIABLE] Unique identifier for your evaluation job model_type: amazon.nova-2-lite-v1:0:256k # [FIXED] Must be a reasoning-supported model model_name_or_path: nova-lite-2/prod # [FIXED] Path to model checkpoint or identifier replicas: 1 # [MODIFIABLE] Number of replicas for SageMaker Training job data_s3_path: "" # [MODIFIABLE] Leave empty for SageMaker Training job; optional for SageMaker HyperPod job output_s3_path: "" # [MODIFIABLE] Output path for SageMaker HyperPod job (not compatible with SageMaker Training jobs) evaluation: task: mmlu # [MODIFIABLE] Evaluation task strategy: generate # [MODIFIABLE] Evaluation strategy metric: all # [MODIFIABLE] Metric calculation method inference: reasoning_effort: high # [MODIFIABLE] Enables reasoning mode; options: low/medium/high or null to disable max_new_tokens: 200 # [MODIFIABLE] Maximum tokens to generate top_k: 50 # [MODIFIABLE] Top-k sampling parameter top_p: 1.0 # [MODIFIABLE] Nucleus sampling parameter temperature: 0 # [MODIFIABLE] Sampling temperature (0 = deterministic)
Usando el parámetro reasoning_effort
El reasoning_effort parámetro controla el comportamiento de razonamiento de los modelos con capacidad de razonamiento.
Requisitos previos:
-
Compatibilidad del modelo: se establece
reasoning_effortsolo cuando semodel_typeespecifica un modelo con capacidad de razonamiento (actualmente)amazon.nova-2-lite-v1:0:256k -
Gestión de errores: si se utiliza
reasoning_effortcon modelos no compatibles, se producirá un error conConfigValidationError: "Reasoning mode is enabled but model '{model_type}' does not support reasoning. Please use a reasoning-capable model or disable reasoning mode."
Opciones disponibles:
Opción |
Comportamiento |
Límite de fichas |
Caso de uso |
|---|---|---|---|
nulo (predeterminado) |
Desactiva el modo de razonamiento |
N/A |
Evaluación estándar sin sobrecarga de razonamiento |
low |
Permite razonar con restricciones |
4.000 fichas para el razonamiento interno |
Escenarios que requieren un razonamiento conciso; optimiza la velocidad y el coste |
high |
Permite razonar sin restricciones |
El razonamiento interno no tiene un límite simbólico |
Problemas complejos que requieren un análisis y un step-by-step razonamiento exhaustivos |
¿Cuándo habilitar el razonamiento
Utilice el modo de razonamiento (lowmedium,, ohigh) para:
-
Tareas complejas de resolución de problemas (matemáticas, acertijos de lógica, codificación)
-
Preguntas analíticas de varios pasos que requieren un razonamiento intermedio
-
Tareas en las que las explicaciones o el step-by-step pensamiento detallados mejoran la precisión
-
Escenarios en los que se da prioridad a la calidad de la respuesta por encima de la velocidad
Utilice el modo sin razonamiento (omita el parámetro) para:
-
Preguntas y respuestas sencillas o consultas basadas en hechos
-
Tareas de escritura creativa
-
Cuando los tiempos de respuesta más rápidos son fundamentales
-
Evaluación comparativa del rendimiento, en la que debe excluirse la sobrecarga de razonamiento
-
Optimización de costes cuando el razonamiento no mejora el rendimiento de la tarea
Resolución de problemas
Error: «El modo de razonamiento está activado pero el modelo no admite el razonamiento»
Causa: el reasoning_effort parámetro está establecido en un valor no nulo, pero el especificado model_type no admite el razonamiento.
Solución:
-
Compruebe que el tipo de modelo es
amazon.nova-2-lite-v1:0:256k -
Si utilizas un modelo diferente, cámbialo a un modelo apto para razonar o elimina el
reasoning_effortparámetro de la receta