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.
Formación iterativa
Descripción general de
El entrenamiento iterativo es el proceso de ajustar repetidamente un modelo a lo largo de varios ciclos de entrenamiento con diferentes métodos de entrenamiento (entrenar, evaluar, analizar errores, ajustardata/objectives/hyperparameters), y cada ronda comienza desde el punto de control anterior. Este enfoque te permite centrarte sistemáticamente en los modos de fallo del modelo, incorporar ejemplos seleccionados que aborden puntos débiles específicos y adaptarte a los requisitos cambiantes a lo largo del tiempo.
Ventajas en comparación con la formación de un solo pase:
-
Mejora específica: aborde los patrones de falla específicos descubiertos a través de la evaluación
-
Perfeccionamiento adaptativo: responda a los cambios de distribución o a la evolución de los requisitos de los productos
-
Mitigación de riesgos: valide las mejoras de forma gradual en lugar de comprometerse con una sola sesión de formación prolongada
-
Eficiencia de los datos: centre los esfuerzos de recopilación de datos en las áreas en las que el modelo tiene un rendimiento inferior
-
Formación curricular: múltiples rondas de formación con datos de cada vez mayor calidad
Funcionamiento
Ubicación y acceso a los puntos de control
Una vez finalizado cada trabajo de formación, se genera un archivo de manifiesto en la ubicación de salida especificada por el output_path parámetro de la configuración de formación.
Para acceder a tu punto de control
-
Navegue hasta el especificado
output_pathen S3 -
Descargue y extraiga el
output.tar.gzarchivo -
Abre el
manifest.jsonarchivo que contiene -
Localice el
checkpoint_s3_bucketparámetro, que contiene el URI S3 de su modelo entrenado
Ejemplo de estructura manifest.json
{ "checkpoint_s3_bucket": "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>/stepID", ... }
Comprensión de los depósitos en garantía
Dado que las ponderaciones de Amazon Nova son exclusivas, los puntos de control de los modelos entrenados se almacenan en depósitos S3 en custodia dentro de las cuentas AWS administradas, en lugar de copiarlos en su cuenta. Estos depósitos de depósito en garantía:
-
Guarde los pesos de sus modelos personalizados de forma segura
-
Otros AWS servicios (inferencia, evaluación y posteriores trabajos de formación) pueden consultarlo
-
Solo su AWS cuenta puede acceder a ellos mediante los permisos de IAM
-
Incurra en cargos de almacenamiento S3 estándar en su cuenta (consulte Consideraciones de costos)
Puedes usar la ruta del depósito model_name_or_path en garantía como parte de tu próxima sesión de entrenamiento para continuar con el entrenamiento iterativo.
Uso de puntos de control para el entrenamiento iterativo
Configure su próximo trabajo de entrenamiento para utilizar el punto de control anterior como modelo base:
run: name: "my-iterative-training-job" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<previous-job-name>" data_s3_path: s3://<bucket>/<data-file>.jsonl replicas: 4
Cuándo utilizar el entrenamiento iterativo
Casos de uso ideales
Utilice el entrenamiento iterativo cuando tenga:
-
Circuitos de retroalimentación: capacidad de recopilar casos de fallas del mundo real y abordarlos de manera sistemática
-
Entornos dinámicos: documentación en evolución o temas de soporte que requieren actualizaciones periódicas del modelo APIs
-
Evaluación sólida: puntos de referencia y marcos de evaluación sólidos (consulte los ejemplos a continuación) para medir las mejoras con confianza
-
Capacidad de operaciones de aprendizaje automático: recursos para gestionar varios ciclos de formación y control de versiones
Ejemplos de marcos de evaluación sólidos
-
Conjuntos de puntos de referencia automatizados con pass/fail umbrales
-
Protocolos de evaluación humana con métricas de confiabilidad entre evaluadores
-
Escenarios de pruebas en equipo rojo que cubren casos extremos y aportaciones adversas
-
Infraestructura de pruebas A/B para medir el impacto en la producción
Patrones comunes
Canalización SFT → RFT: Un patrón iterativo de uso frecuente implica:
-
Primero, SFT: enseñe al modelo cómo resolver problemas mediante ejemplos de demostración
-
En segundo lugar, la RFT: optimice el rendimiento en un ámbito más amplio de problemas mediante señales de recompensa
Esta secuencia es esencial cuando los modelos tienen un rendimiento deficiente al principio: la RFT en modelos de precisión cercana a cero no mejorará el rendimiento sin establecer primero las capacidades básicas de resolución de problemas mediante la SFT.
¿Cuándo no usar el entrenamiento iterativo
Evite el entrenamiento iterativo para:
-
Tareas estables y bien definidas: los datos estacionarios con requisitos consistentes ya alcanzan un rendimiento cercano al máximo
-
Problemas de clasificación sencillos: tareas limitadas en las que basta con una formación de una sola pasada
-
Limitaciones de recursos: no se cuenta con capacidades específicas de operaciones de aprendizaje automático para gestionar varios ciclos de formación
-
Ganancias marginales: cuando los gastos generales no justifican mejoras mínimas en el rendimiento
Ejemplo de flujo de trabajo: SFT → RFT
Este ejemplo demuestra un patrón de entrenamiento iterativo común para los modelos de razonamiento.
Paso 1: Entrenamiento inicial en SFT
Configura y lanza tu trabajo de formación en SFT con tu conjunto de datos:
run: name: "initial-sft-training" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "nova-lite-2/prod" data_s3_path: s3://<bucket>/sft-training-data.jsonl validation_data_s3_path: s3://<bucket>/sft-validation-data.jsonl
Justificación: SFT ofrece demostraciones adicionales que configuran los resultados de los modelos en el formato y la voz deseados, estableciendo las capacidades fundamentales.
Una vez finalizado el entrenamiento
-
Anote lo
output_pathconfigurado en su trabajo de entrenamiento -
Descarga
output.tar.gzdesde esa ubicación -
Extrae y localiza
manifest.json -
Copia el
checkpoint_s3_bucketvalor
Paso 2: Entrenamiento de RFT en el punto de control de SFT
Cree un nuevo trabajo de formación de RFT utilizando el punto de control de la SFT:
run: name: "rft-on-sft-checkpoint" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<initial-sft-training>" data_s3_path: s3://<bucket>/rft-training-data.jsonl reward_lambda_arn: <your-reward-function-arn>
Justificación: La formación en RFT se basa en la SFT, lo que permite al modelo desarrollar patrones de razonamiento más complejos optimizados por su función de recompensa.
Paso 3: Evaluar e iterar
Ejecute la evaluación en el punto de control de la RFT para evaluar el rendimiento:
run: name: "evaluate-rft-checkpoint" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<rft-on-sft-checkpoint>" data_s3_path: s3://<bucket>/evaluation-data.jsonl
Si las métricas objetivo no se cumplen, continúe iterando con los datos o hiperparámetros ajustados.
importante
⚠️ Importante: La técnica de entrenamiento (LoRa o Full Rank) debe permanecer constante en todas las iteraciones:
-
Si usas SFT con LoRa, debes usar RFT con LoRa
-
Si usa SFT con rango completo, debe usar RFT con rango completo
-
No puedes cambiar entre LoRa y Full Rank a mitad del proceso
Supervisar el progreso en las iteraciones
Puede realizar un seguimiento de las métricas mediante MLFlow.
Crea una MLflow aplicación
Uso de la interfaz de usuario de Studio: si creas un trabajo de formación a través de la interfaz de usuario de Studio, se crea automáticamente una MLflow aplicación predeterminada que se selecciona de forma predeterminada en Opciones avanzadas.
Uso de la CLI: si usa la CLI, debe crear una MLflow aplicación y pasarla como entrada a la solicitud de API del trabajo de capacitación.
mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)
Acceda a la MLflow aplicación
Uso de CLI: cree una URL prefirmada para acceder a la interfaz de usuario de la MLflow aplicación:
aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text
Uso de la interfaz de usuario de Studio: la interfaz de usuario de Studio muestra las métricas clave almacenadas en la interfaz de usuario de la MLflow aplicación MLflow y proporciona un enlace a ella.
Métricas clave para realizar un seguimiento
Supervisa estas métricas en todas las iteraciones para evaluar la mejora y hacer un seguimiento del progreso del trabajo:
Para SFT
-
Curvas de pérdidas por entrenamiento
-
Número de muestras consumidas y tiempo de procesamiento
-
Precisión del rendimiento en equipos de prueba retenidos
-
Cumplimiento del formato (por ejemplo, velocidad de salida JSON válida)
-
Perplejidad en torno a los datos de evaluación de dominios específicos
Para RFT
-
Puntuaciones medias de recompensa durante el entrenamiento
-
Distribución de las recompensas (porcentaje de respuestas con altas recompensas)
-
Tendencias de recompensas por validación (ten cuidado con las sobreajustadas)
-
Tasas de éxito de tareas específicas (por ejemplo, tasa de aprobación de la ejecución de código o precisión de los problemas matemáticos)
General
-
Comparta los deltas de rendimiento entre iteraciones
-
Puntuaciones de evaluación humana en muestras representativas
-
Métricas de producción (si se despliegan de forma iterativa)
Determinar cuándo parar
Deje de iterar cuando:
-
Niveles de rendimiento: la formación adicional ya no mejora significativamente las métricas objetivo
-
El cambio de técnica ayuda: si una técnica se estanca, intenta cambiar (por ejemplo, SFT → RFT → SFT) para superar los límites de rendimiento
-
Métricas objetivo alcanzadas: se cumplen sus criterios de éxito
-
Regresión detectada: las nuevas iteraciones reducen el rendimiento (consulte los procedimientos de reversión que aparecen a continuación)
Para obtener información detallada sobre los procedimientos de evaluación, consulte la sección Evaluación.
Prácticas recomendadas
Comience poco a poco y escale gradualmente
Comience con conjuntos de datos mínimos y períodos de entrenamiento únicos para validar su enfoque antes de ampliarlo. Esto genera confianza y ayuda a identificar los problemas de forma temprana.
Establezca métricas de éxito claras
Defina los indicadores cuantitativos y cualitativos antes de empezar:
Ejemplo de métricas de éxito por caso de uso
-
Respuesta a la pregunta: precisión de coincidencia exacta, puntuación de F1, puntuaciones de preferencia humana
-
Generación de código: tasa de aprobación de las pruebas unitarias, éxito de compilación, tiempo de ejecución
-
Tareas de razonamiento: precisión de los pasos, exactitud de la respuesta final, puntuación de las recompensas
-
Generación de contenido: puntuaciones de coherencia, precisión fáctica, adherencia al estilo
Implemente una evaluación automatizada
Configure procesos de evaluación automatizados para realizar un seguimiento del rendimiento después de cada ronda, lo que permitirá una iteración rápida y una comparación objetiva.
Mantenga un control riguroso de las versiones
Documento para cada iteración:
-
Versiones y modificaciones del conjunto de datos
-
Modele las ubicaciones de los puntos de control
-
Cambios de hiperparámetros
-
Métricas de rendimiento y deltas
-
Observaciones cualitativas
Esto genera conocimiento institucional y permite la depuración.
Céntrese en la calidad de los datos por encima de
Analice los casos de fracaso de rondas anteriores y añada ejemplos específicos y de alta calidad en lugar de simplemente aumentar el tamaño del conjunto de datos.
Planifique el presupuesto de iteración
Planifique de 3 a 5 iteraciones como un rango típico:
-
De 1 a 2 iteraciones: suelen ser suficientes para realizar mejoras sencillas o para realizar un pulido final
-
De 3 a 5 iteraciones: adecuadas para tareas complejas que requieren múltiples ciclos de refinamiento
-
Más de 5 iteraciones: pueden indicar una disminución de los rendimientos o la necesidad de diferentes enfoques
Ajústelo en función del presupuesto computacional y las tasas de mejora del rendimiento.
Implemente capacidades de reversión
Si una iteración introduce regresiones:
-
Identifique la regresión: compare las métricas de evaluación entre los puntos de control
-
Regrese al punto de control anterior: utilice la ruta S3 del punto de control anterior como su
model_name_or_path -
Ajuste el enfoque de entrenamiento: modifique los datos, los hiperparámetros o la técnica antes de volver a intentarlo
-
Documente el error: registre la causa de la regresión para evitar que se repita
Ejemplo de reversión
run: name: "rollback-to-iteration-2" model_type: amazon.nova-2-lite-v1:0:256k # Use iteration 2 checkpoint instead of failed iteration 3 model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<iteration-2-job-name>"
Consideraciones sobre costos
Almacenamiento en puntos de control
-
Ubicación: los puntos de control almacenados en depósitos de depósito en garantía incurren en cargos de almacenamiento S3 estándar que se facturan a tu cuenta AWS
-
Retención: los puntos de control se conservan indefinidamente a menos que se eliminen de forma explícita
-
Administración: implemente políticas de ciclo de vida para archivar o eliminar los puntos de control antiguos que ya no necesite
Consejos para la optimización de costos
-
Elimine los puntos de control intermedios después de validar las iteraciones más recientes
-
Archive los puntos de control en S3 Glacier para mantenerlos a largo plazo a un costo menor
-
Establezca políticas de retención en función de sus necesidades de cumplimiento y experimentación
Limitaciones
Modele la coherencia de la familia
Al entrenar de forma iterativa, debe usar el mismo tipo de modelo en todas las iteraciones.
Entrenamiento inicial
run: model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "nova-lite-2/prod"
Las iteraciones posteriores deben usar el mismo model_type
run: model_type: amazon.nova-2-lite-v1:0:256k # Must match original model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Coherencia de la técnica de entrenamiento
La técnica de entrenamiento debe permanecer coherente en todas las iteraciones:
-
Los modelos entrenados con LoRa solo se pueden entrenar de forma iterativa con LoRa
-
Full-Rank-trained los modelos solo se pueden entrenar de forma iterativa con Full-Rank
Cómo funcionan los adaptadores LoRa en el entrenamiento iterativo
-
Cada iteración de entrenamiento de LoRa produce nuevos pesos de adaptador
-
Los adaptadores nuevos sustituyen a los adaptadores anteriores (no se apilan con ellos)
-
El modelo base permanece congelado; solo se actualizan los adaptadores
Matriz de compatibilidad de técnicas
| Formación inicial | Puede iterar con |
|---|---|
| SFT (rango completo) | SFT (rango completo), RFT (rango completo) |
| SFT (LoRa) | SFT (LoRa), RFT (LoRa) |
| RFT (rango completo) | RFT (rango completo) |
| RFT (LoRa) | RFT (LoRa) |
Verificar la compatibilidad antes de comenzar un trabajo
-
Consulta tu receta de entrenamiento anterior para identificar el tipo de modelo y la técnica de entrenamiento (LoRa o Full-Rank)
-
Asegúrate de que tu nueva receta coincida tanto con el tipo de modelo como con la técnica
-
Revisa el archivo manifest.json para confirmar que la ruta del punto de control es correcta
Resolución de problemas
Error: «Se detectaron técnicas de entrenamiento con modelos incompatibles»
Causa: la técnica de entrenamiento (LoRa o Full-Rank) no coincide con la técnica del punto de control.
Solución: asegúrate de que tu receta utilice la misma técnica de entrenamiento que el modelo original:
-
Si el punto de control se entrenó con LoRa, usa LoRa en tu nueva receta
-
Si el punto de control se entrenó con el rango completo, usa el rango completo en tu nueva receta
Error: «El modelo base del trabajo extraído de model_name_or_path no coincide con model_type»
Causa: el tipo de modelo especificado en model_type no coincide con el modelo real del punto de control.
Resolución: compruebe que:
-
Lo que
model_typeaparece en su receta coincide con el tipo de modelo original -
La ruta del punto de control S3
model_name_or_pathes correcta -
Estás utilizando la ruta del archivo manifest.json correcto
Ejemplo de configuración correcta
run: model_type: amazon.nova-2-lite-v1:0:256k # Must match checkpoint's model model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Error: «No se encontró la configuración del modelo»
Causa: la ruta S3 de entrada no model_name_or_path es válida o está inaccesible.
Solución:
-
Compruebe que la ruta S3 se haya copiado correctamente del archivo manifest.json
-
Asegúrese de que su función de IAM tenga permisos para acceder al depósito de garantía
-
Confirme que el trabajo de formación anterior se completó correctamente
-
Compruebe si hay errores tipográficos en la ruta
Regresión del rendimiento tras la iteración
Síntomas: las métricas de evaluación disminuyen después de una nueva iteración de entrenamiento.
Solución:
-
Reversión: usa el punto de control anterior como modelo base
-
Analice: revise los registros de entrenamiento y la calidad de los datos para detectar la iteración fallida
-
Ajustar: modifique los hiperparámetros (reduzca la tasa de aprendizaje), mejore la calidad de los datos o reduzca los períodos de entrenamiento
-
Reintentar: lanza una nueva iteración con ajustes