Preparación de datos para el RFT en Amazon Nova 2
Actualmente, RFT en Amazon Nova 2 admite datos de entrenamiento basados en texto. En esta página, se describen el formato de los datos, las características compatibles, las restricciones y las prácticas recomendadas para preparar los datos de entrenamiento de RFT para los modelos de comprensión de Amazon Nova 2.
sugerencia
Para validar el formato de su conjunto de datos antes de iniciar un trabajo de entrenamiento, consulte Herramientas de validación.
Temas
Formato de los datos
Los datos de entrenamiento de RFT deben seguir el formato
Obligatorio. Una matriz de turnos conversacionales con los roles system, user y, opcionalmente, assistant.
-
rol: obligatorio. Valores comunes:
system(instrucciones para el modelo) yuser(la tarea o entrada). -
contenido: obligatorio. Contenido del texto del mensaje Para los turnos del sistema, se trata de instrucciones; para los turnos del usuario, se trata de la tarea o entrada.
"messages": [ { "role": "system", "content": "instructions" }, { "role": "user", "content": "prompt" } ]
Obligatorio. El resultado esperado o los criterios de evaluación que la función de recompensa utiliza para puntuar la respuesta del modelo. Este campo no se limita a resultados estructurados, sino que puede contener cualquier formato que ayude a la función de recompensa a evaluar la calidad.
"reference_answer": { "field": "value" }
Opcional. Una matriz de especificaciones de herramientas disponibles para el modelo en este ejemplo. Cada elemento define la interfaz y los metadatos de una herramienta. Para ver un ejemplo completo, consulte Llamada a herramientas.
"tools": [ { "type": "function", "function": { "name": "tool-name", "description": "tool-description", "parameters": {...} } } ]
El formato de datos RFT admite campos personalizados más allá de messages y reference_answer. Incluya cualquier dato adicional que su función de recompensas necesite para una evaluación adecuada. No necesita configurarlos en su fórmula: se transfieren a su función de recompensa en el campo metadata durante el tiempo de ejecución.
Los ejemplos comunes incluyen:
Metadatos
id: identificador único de seguimientotask_id: identificador a nivel de tareadifficulty_level: indicador de la complejidad del problemadomain: categoría o área del asuntoexpected_reasoning_steps: número de pasos de la solución
Requisitos de evaluación
evaluation_criteria: rúbricas de calificación específicascustom_scoring_weights: importancia relativa de los diferentes aspectoscontext_data: información básica del problemaexternal_references: enlaces a documentación o recursos relevantes
Validación de los datos
Antes de enviar su trabajo de entrenamiento, valide su conjunto de datos para detectar pronto los problemas de formato. Para ver las herramientas de validación disponibles, consulte Herramientas de validación.
Ejemplo de entradas
A continuación, se muestran ejemplos completos de objetos JSON que ilustran cómo combinar los campos para diferentes casos de uso de RFT.
Características admitidas
En la siguiente tabla se resume la compatibilidad de características para RFT en Amazon Nova 2.
| Característica | RFT en Amazon Nova 2 |
|---|---|
| Comprensión de textos | Compatible con Nova 2.0 Lite. Consulte Comprensión general/de textos. |
| Comprensión de imágenes | No admitido |
| Comprensión de videos | No admitido |
| Comprensión de documentos | No admitido |
| Llamada a herramientas | Compatible con Nova 2.0 Lite. Consulte Llamada a herramientas. |
| Razonamiento | Compatible con Nova 2.0 Lite. Consulte Razonamiento. |
Comprensión general/de textos
En esta sección se resumen las restricciones generales y las prácticas recomendadas para preparar los datos de entrenamiento de RFT en Amazon Nova 2.
Restricciones
| Restricción | Details |
|---|---|
| Formato de conjuntos de datos | JSONL (un objeto JSON por línea). |
| Mínimo de ejemplos de entrenamiento | 100 |
| Mínimo de ejemplos de evaluación | 100 |
| Modalidades admitidas | Solo texto |
Prácticas recomendadas
Le recomendamos empezar con los tamaños mínimos de los conjuntos de datos (100 ejemplos de entrenamiento y 100 ejemplos de evaluación) y ampliarlos una vez que haya validado la función de recompensa y haya confirmado que RFT es adecuado para su caso de uso.
Recomendamos un enfoque que priorice la evaluación. Antes de invertir en un entrenamiento RFT a gran escala, evalúe el rendimiento de línea de base del modelo:
Alto rendimiento (>95 % de recompensa) – Es posible que el RFT no sea necesario porque el modelo ya funciona bien.
Rendimiento muy bajo (recompensa del 0 %): cambie primero al SFT para establecer las capacidades básicas.
Rendimiento moderado: es probable que el RFT sea adecuado.
Empezar con un conjunto de datos pequeño le ayuda a comprobar que su función de recompensa está libre de errores, a confirmar que el RFT es el enfoque correcto, a identificar y solucionar los problemas de forma temprana y a probar el flujo de trabajo antes de ampliarlo.
Priorice los datos de entrada de alta calidad y una función de recompensa fiable que se ejecute de manera coherente en las respuestas del modelo.
Ejemplo de entrada
{ "id": "math-001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] } }
Llamada a herramientas
El RFT admite modelos de entrenamiento en patrones de uso de herramientas, lo que permite al modelo aprender cuándo y cómo debe invocar herramientas o funciones externas.
Restricciones
| Restricción | Details |
|---|---|
| Ubicación de definición de herramienta | Las herramientas se declaran en la matriz tools de nivel superior del ejemplo de entrenamiento. |
| Formato de definición de herramienta | Cada herramienta debe incluir type, function.name, function.description y un esquema JSON válido en function.parameters. |
| Respuesta de referencia | Se utiliza reference_answer para especificar la invocación prevista de la herramienta (por ejemplo, tool_called, tool_parameters) para que la función de recompensa pueda evaluar la corrección. |
Prácticas recomendadas
Asegúrese de que las definiciones de las herramientas sean coherentes en todos los ejemplos de entrenamiento.
El modelo aprende los patrones de invocación de las herramientas a partir de las demostraciones que usted proporciona.
Incluya varios ejemplos de cuándo se debe usar cada herramienta y cuándo no se deben usar herramientas.
Ejemplo de entrada
{ "id": "tool-001", "messages": [ { "role": "system", "content": "You are a helpful game master assistant" }, { "role": "user", "content": "Generate a strength stat for a warrior character. Apply a +2 racial bonus modifier." } ], "tools": [ { "type": "function", "function": { "name": "StatRollAPI", "description": "Generates character stats by rolling 4d6, dropping the lowest die result, and applying a modifier.", "parameters": { "type": "object", "properties": { "modifier": { "description": "An integer representing the modifier to apply to the total of the stat roll.", "type": "integer" } }, "required": ["modifier"] } } } ], "reference_answer": { "tool_called": "StatRollAPI", "tool_parameters": { "modifier": 2 }, "expected_behavior": "Call StatRollAPI with modifier=2 and return the calculated stat value" } }
Razonamiento
El RFT de Amazon Nova 2 admite el modo de razonamiento, en el cual el modelo genera tokens de pensamiento explícito antes de producir una respuesta final. El comportamiento de razonamiento se controla durante el entrenamiento con el campo de configuración de entrenamiento reasoning_effort.
Restricciones
| Restricción | Details |
|---|---|
| Modos disponibles | none (omita el campo reasoning_effort), low y high. No hay una opción medium para el RFT. |
| Comportamiento predeterminado | Si el campo reasoning_effort no está en la configuración, el razonamiento está desactivado. |
| Límite de tokens | Cuando el razonamiento está habilitado, debe configurar max_new_tokens en 32 768 para dar cabida a las salidas de razonamiento extendido. |
Cuándo se debe usar cada modo
Use el razonamiento de high para lo siguiente:
Tareas analíticas complejas
Resolución de problemas matemáticos
Deducción lógica de varios pasos
Tareas en las que pensar paso a paso agrega valor
Utilice el razonamiento de none (omita reasoning_effort) o de low para lo siguiente:
Consultas de hechos sencillas
Clasificaciones directas
Optimización de velocidad y costo
Preguntas y respuestas directas
Compensaciones de costo y rendimiento
Los modos de razonamiento alto aumentan lo siguiente:
Tiempo y costo del entrenamiento
Latencia y costo de la inferencia
Capacidad del modelo para tareas de razonamiento complejas
Características de los datos de entrenamiento eficaces
Claridad y coherencia
Los buenos ejemplos del RFT requieren datos de entrada claros e inequívocos que permitan un cálculo preciso de las recompensas en las diferentes salidas del modelo. Evite el ruido en los datos, lo que incluye lo siguiente:
Formato incoherente
Etiquetas o instrucciones contradictorias
Peticiones ambiguas
Conflictos en las respuestas de referencia
Cualquier ambigüedad inducirá a error durante el proceso de entrenamiento y provocará que el modelo aprenda comportamientos no deseados.
Diversidad
El conjunto de datos debe capturar toda la diversidad de casos de uso de producción para garantizar un rendimiento real sólido. Incluya:
Diferentes formatos de entrada y casos extremos
Asignación de patrones reales de uso de producción a partir de registros y análisis de usuarios
Muestras de distintos tipos de usuarios, regiones geográficas y variaciones estacionales
Inclusión de niveles de dificultad, desde problemas simples hasta problemas complejos
Consideraciones sobre la función de recompensas
Diseñe la función de recompensas para un entrenamiento eficiente:
Ejecución en segundos (no minutos)
Paralelización eficaz con Lambda
Devolución de puntuaciones coherentes y fiables
Gestión de diferentes tipos de salidas del modelo sin problemas
Las funciones de recompensas rápidas y escalables permiten una iteración rápida y una experimentación rentable.
Entrenamiento RFT con LLM como juez
Descripción general
Los modelos de lenguaje de gran tamaño (LLM) se utilizan cada vez más como jueces en los flujos de trabajo de refinamiento por refuerzo (RFT), ya que proporcionan señales de recompensas automatizadas que guían la optimización de los modelos. Con este enfoque, el LLM evalúa las salidas del modelo en función de requisitos específicos (ya sea la corrección, la calidad, la adherencia al estilo o la equivalencia semántica) y asigna recompensas que impulsan el proceso de aprendizaje por refuerzo.
Esto es particularmente valioso para tareas en las que las funciones de recompensas tradicionales son difíciles de definir mediante programación, como determinar si diferentes representaciones (como “1/3”, “0,333” y “un tercio”) son semánticamente equivalentes, o evaluar cualidades matizadas como la coherencia y la relevancia. Al utilizar jueces basados en LLM como funciones de recompensas, puede escalar el RFT a dominios complejos sin necesidad de una amplia anotación humana, lo que permite una iteración rápida y una mejora continua de los modelos en varios casos de uso, más allá de los problemas de alineación tradicionales.
Validación del juez de LLM
Antes de implementar un LLM como juez en producción, compruebe que las evaluaciones del modelo del juez se ajusten al juicio humano. Esto implica:
Medir las tasas de acuerdo entre el juez de LLM y los evaluadores humanos sobre muestras representativas de la tarea
Garantizar que el acuerdo del LLM con las personas cumpla o supere las tasas de acuerdo interhumano
Identificar posibles sesgos en el modelo del juez
Crear la confianza de que la señal de recompensas guíe al modelo en la dirección deseada
Este paso de validación ayuda a garantizar que el proceso de evaluación automatizada produzca modelos que cumplan con los requisitos de calidad de producción.
Configuración de Lambda para juez de LLM
El uso de un LLM como juez es una extensión del uso de las funciones de Lambda para el aprendizaje por refuerzo con recompensas verificables (RLVR). Dentro de la función de Lambda, puede hacer una llamada a uno de los modelos alojados en Amazon Bedrock.
Requisitos de configuración importantes:
| Configuración | Requisito | Details |
|---|---|---|
| Rendimiento de Amazon Bedrock | Cuota suficiente | Asegúrese de que la cuota de rendimiento para el modelo de Amazon Bedrock utilizado sea suficiente para la carga de trabajo de entrenamiento. |
| Tiempo de espera de Lambda | Tiempo de espera ampliado | Configure el tiempo de espera de la función de Lambda en hasta un máximo de 15 minutos. La configuración predeterminada es de 3 segundos, lo que no es suficiente para las respuestas del modelo de Amazon Bedrock. |
| Simultaneidad de Lambda | Mayor simultaneidad | La función de Lambda se invoca en paralelo durante el entrenamiento. Aumente la simultaneidad para maximizar el rendimiento disponible. |
| Configuración de fórmulas | Coincidencia de la configuración de Lambda | El límite de simultaneidad debe estar configurado en la fórmula. |