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.
Juez basado en rúbricas
Descripción general de
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.
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 la salida 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)
-
Juez de rúbricas: 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 (puntuación: 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: suma 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.