Hiperparámetros para el ajuste del aprendizaje por refuerzo

Los hiperparámetros controlan cómo se actualizan los pesos del modelo durante el ajuste del aprendizaje por refuerzo. Los valores predeterminados se ajustan para funcionar bien en la mayoría de las cargas de trabajo, pero puedes anular cualquiera de ellos en la Cloud de Confiance consola (en Detalles del modelo > Opciones avanzadas > Configuración del ajuste cuando crees un modelo ajustado) o en el cuerpo de la solicitud cuando crees un trabajo de ajuste con la API de REST.

Hiperparámetros disponibles

Para obtener la definición de API de estos parámetros, consulta la referencia de la API de ReinforcementTuningHyperParameters.

epochCount

Es la cantidad de veces que se itera el conjunto de datos. Esto es diferente de la cantidad de pasos de entrenamiento, ya que cada época puede producir una cantidad variable de pasos de entrenamiento.

  • Valor predeterminado: min(110 * promptsPerBatch / promptsInDataset, 10) si se deja vacío. El valor predeterminado se calcula de forma dinámica para que el modelo vea cada instrucción varias veces, con un límite de 10 épocas para evitar el sobreajuste en conjuntos de datos más pequeños.
  • Máximo: La ejecución total del entrenamiento se limita a 500 pasos para un ajuste estable.

learningRateMultiplier

Es un multiplicador que se aplica a la tasa de aprendizaje base de la capa del adaptador.

  • Predeterminado: 1
  • Rango permitido: [1/4, 4]

thinkingLevel

Controla la longitud y la profundidad del procesamiento interno de cadena de pensamiento que se usa durante la generación.

  • Predeterminado: HIGH
  • Valores permitidos: MINIMAL, HIGH (pensamiento dinámico)

batchSize y samplesPerPrompt

Estos dos hiperparámetros controlan cómo se agrupan las instrucciones y cuántas respuestas genera el modelo por instrucción durante cada paso de entrenamiento.

  • batchSize: Es la cantidad de instrucciones por lote (también llamada promptsPerBatch). Un tamaño de lote más grande ralentiza el ajuste, pero puede producir actualizaciones más estables para cada paso.
    • Predeterminado: 32
  • samplesPerPrompt: Es la cantidad de respuestas diferentes que genera el modelo para cada instrucción durante un solo paso de entrenamiento. Un valor de samplesPerPrompt más grande ralentiza el ajuste, pero puede aumentar la diversidad de las respuestas que explora el modelo.
    • Predeterminado: 16

El producto batchSize * samplesPerPrompt está sujeto a restricciones específicas de la modalidad:

Modalidad Restricción en batchSize * samplesPerPrompt
Texto Debe ser divisible por 16 y menor o igual que 8,192
Multimodal (imagen, audio o video) Debe ser divisible por 16 y menor o igual que 1,024

evaluateInterval

Es la frecuencia con la que se evalúa el modelo durante el ajuste. El intervalo se mide en pasos, no en épocas.

checkpointInterval

Es la frecuencia con la que se guarda el progreso del ajuste del modelo como un punto de control, para su recuperación o uso posterior. El intervalo se mide en pasos, no en épocas.

  • Recomendación: Establece checkpointInterval = evaluateInterval * N, donde N es un número entero positivo.

maxOutputTokens

Es la longitud máxima de generación de salida para el modelo ajustado.

  • Límite predeterminado y superior: 32,768

adapterSize

Es el tamaño del adaptador de LoRA. Los tamaños de adaptador más grandes proporcionan una mayor capacidad de aprendizaje para tareas complejas a costa de un mayor tiempo de entrenamiento y memoria.

  • Predeterminado: ADAPTER_SIZE_SIXTEEN

¿Qué sigue?