Trabajo de ajuste del aprendizaje por refuerzo

Un trabajo de ajuste con aprendizaje por refuerzo para los modelos de Gemini se configura con tres componentes básicos principales: un conjunto de datos de ajuste, hiperparámetros que controlan el proceso de entrenamiento y una o más funciones de recompensa que califican cada respuesta del modelo. El servicio también expone métricas y el estado del trabajo para la supervisión.

Para ver un ejemplo de extremo a extremo de cómo crear un trabajo de ajuste, recuperar el modelo ajustado y ejecutar la inferencia, consulta la guía de inicio rápido de la consola deCloud de Confiance o la guía de inicio rápido de la API.

Prepara el conjunto de datos de ajuste

Un trabajo de ajuste de aprendizaje por refuerzo se basa en un conjunto de datos de entrenamiento y un conjunto de datos de validación opcional. Cada conjunto de datos es un archivo JSONL almacenado en Cloud Storage. Cada línea es un solo ejemplo de ajuste que contiene un systemInstruction, un contents (la instrucción a la que responde el modelo durante el ajuste) y un mapa references que contiene los metadatos que necesita tu función de recompensa para calificar la respuesta del modelo (por ejemplo, una respuesta de referencia, una rúbrica o una entrada de prueba unitaria).

La optimización con aprendizaje por refuerzo admite instrucciones multimodales (texto, imagen, audio y video), sujetas a límites por archivo y por instrucción.

Para ver el esquema completo del conjunto de datos, los límites específicos del conjunto de datos para cada modalidad y un ejemplo de cómo completar references para el cálculo de la recompensa, consulta la página Conjunto de datos de ajuste.

Configura los hiperparámetros

Los hiperparámetros controlan cómo se actualiza el modelo durante el ajuste con aprendizaje por refuerzo, incluido el nivel de pensamiento que se usa durante la generación, el tamaño del lote, las muestras por instrucción, el multiplicador de la tasa de aprendizaje, el recuento de ciclos de entrenamiento, los intervalos de evaluación y de puntos de control, la longitud máxima de la salida y el tamaño del adaptador de LoRA. Los valores predeterminados funcionan bien para la mayoría de las cargas de trabajo, pero puedes anular cualquiera de ellos cuando crees un trabajo de ajuste.

Para conocer los valores predeterminados, los rangos permitidos, las reglas que dependen del tamaño del conjunto de datos y las combinaciones recomendadas, consulta la página Hiperparámetros.

Cómo definir funciones de recompensa

Una función de recompensa califica numéricamente cada respuesta del modelo durante el ajuste. El refuerzo se optimiza en función del indicador de recompensa, por lo que su calidad determina directamente la calidad del ajuste. Todas las recompensas se ajustan al rango [-1, 1].

El ajuste del aprendizaje por refuerzo admite los siguientes tipos de recompensas:

  • Recompensa por coincidencia de cadenas: Compara la respuesta del modelo (o una subcadena analizada de ella) con un valor de verdad fundamental proporcionado en references.
  • Recompensa del evaluador automático basada en Gemini: Usa un LLM como juez para calificar cada respuesta, de forma opcional con el análisis de respuestas.
  • Recompensa de Cloud Run: Llama a un servicio de Cloud Run administrado por el usuario que devuelve una recompensa escalar para una lógica de puntuación completamente personalizable.
  • Recompensa compuesta: Combina cualquiera de los tipos de recompensa anteriores con pesos por evaluador.

Antes de iniciar un trabajo de ajuste, te recomendamos que valides la configuración de tu recompensa en la consola de Cloud de Confiance o con el método de la API deValidateReinforcementTuningReward.

Para obtener esquemas de configuración detallados, muestras de código, configuración de IAM y prácticas recomendadas de diseño de recompensas, consulta la página Funciones de recompensa.

Supervisa el estado y las métricas del trabajo

Una vez que se inicia un trabajo de ajuste, puedes hacer un seguimiento de su estado del ciclo de vida (como JOB_STATE_PENDING, JOB_STATE_RUNNING, JOB_STATE_SUCCEEDED, JOB_STATE_FAILED, JOB_STATE_CANCELLING, JOB_STATE_CANCELLED) y, además, inspeccionar el progreso del ajuste de dos maneras:

  • De forma programática: Envía una solicitud GetTuningJob para recuperar el estado del trabajo, tunedModel, los detalles del error y los metadatos. Consulta la guía de inicio rápido de la API para ver un ejemplo del comando curl.
  • Visualmente: Abre la página de supervisión del trabajo en la consola de Cloud de Confiance en Modelos > Ajuste, que muestra el experimento de ajuste subyacente con gráficos para las métricas de entrenamiento y evaluación emitidas en cada paso (recompensa, longitud de la generación, latencia de la recompensa, desgloses por recompensa para las recompensas compuestas, etcétera).

La optimización del aprendizaje por refuerzo también produce puntos de control intermedios con la frecuencia establecida por checkpointInterval, que puedes implementar y evaluar de forma independiente antes de que se complete el trabajo.

Para obtener la lista completa de las métricas emitidas, las métricas por tipo de recompensa, cómo interpretarlas y cómo acceder a los puntos de control, consulta la página Métricas y supervisión.

¿Qué sigue?