Qué es
El ajuste fino supervisado es la forma más directa de cambiar el comportamiento de un modelo: usted le proporciona ejemplos de las conversaciones que desea y lo entrena para reproducir las respuestas. «Supervisado» significa que cada ejemplo viene con la respuesta adjunta. No se le pide al modelo que juzgue o explore; se le indica, para cada contexto, cuáles son las siguientes palabras correctas.
Un modelo preentrenado ya ha aprendido el lenguaje y gran parte sobre el mundo a partir de textos públicos. Lo que no ha visto es su producto, el tono de su equipo o el formato que esperan sus usuarios. SFT cierra esa brecha con un conjunto de datos comparativamente minúsculo: de cientos a unos pocos miles de buenas conversaciones, no los billones de tokens utilizados en el preentrenamiento. El estudio LIMA lo dejó muy claro: un modelo de 65B parámetros ajustado con solo 1000 ejemplos cuidadosamente seleccionados se comportó como un asistente capaz, lo que sus autores interpretaron como evidencia de que casi todo el conocimiento se aprende en el preentrenamiento, y el ajuste fino enseña principalmente el formato para utilizarlo.
Cómo funciona
Cada registro de entrenamiento es una conversación. Las respuestas del asistente que usted marcó como entrenables son los objetivos; todo lo que precede a un objetivo es su contexto.
{"messages": [
{"role": "system", "content": "You are Scalata's support assistant."},
{"role": "user", "content": "How do I reset my password?"},
{"role": "assistant", "content": "Open Settings → Security and choose Reset password. You'll get an email link valid for 30 minutes."}
]}El modelo lee el registro como una larga secuencia de tokens. En cada posición dentro del objetivo, predice una probabilidad para cada token de su vocabulario, y el entrenador comprueba cuánta probabilidad le asignó al token que realmente sigue. La penalización para un token es −ln p, el logaritmo natural negativo de esa probabilidad. Al promediarse sobre la respuesta, se obtiene la pérdida de entropía cruzada.
loss for one reply = average over its target tokens of −ln p(correct next token | everything before it)
p = 0.90 → 0.11
p = 0.50 → 0.69
p = 0.05 → 3.00Solo se puntúan los tokens objetivo. El mensaje del sistema y las palabras del usuario se leen, porque dan forma a la predicción, pero nunca se evalúan. Esto es el enmascaramiento de pérdida: el modelo aprende a responder como su equipo, no a imitar a sus usuarios.
Openp 0.20 · 1.61␣Settingsp 0.85 · 0.16␣→p 0.62 · 0.48␣Securityp 0.90 · 0.11Después de cada lote, la retropropagación calcula cómo debe cambiar cada peso entrenable para que los tokens objetivo sean más probables, y el optimizador da un pequeño paso en esa dirección. La tasa de aprendizaje establece el tamaño del paso. Una pasada por todos los registros es una época.
- La respuesta de destino comienza con “Open Settings → Security”. Supongamos que el modelo asigna a esos cuatro tokens probabilidades de 0,20, 0,85, 0,62 y 0,90.
- Las penalizaciones son −ln 0,20 = 1,61, −ln 0,85 = 0,16, −ln 0,62 = 0,48 y −ln 0,90 = 0,11.
- Su suma es 2,36; el promedio de los cuatro tokens es de aproximadamente 0,59. La mayor parte de la penalización proviene de la primera palabra: el modelo no esperaba que la respuesta comenzara con “Open”.
- La actualización eleva las cuatro probabilidades, y la más sorprendente es la que más aumenta, ya que el impulso sobre cada token crece en función de lo lejos que esté su probabilidad de 1. Tras unas pocas épocas con respuestas similares, el promedio podría descender a alrededor de 0,2.
Para qué es útil el SFT y para qué no
| Objetivo | ¿SFT? | Por qué |
|---|---|---|
| Un tono y una voz consistentes | Sí | Cada respuesta en los datos lo demuestra. |
| Un formato de salida fijo (secciones, JSON, longitud) | Sí | El formato es fácil de mostrar y fácil de puntuar token por token. |
| Fraseología del dominio y vocabulario del producto | Sí | El modelo asimila las palabras que utiliza su equipo. |
| Datos que cambian a menudo (precios, inventario, políticas) | Rara vez | Los datos entrenados se vuelven obsoletos; buscarlos en el momento de la respuesta es más seguro. |
| Juicios de «mejor que» sin una única respuesta correcta | Parcialmente | El ajuste de preferencias expresa las comparaciones directamente. |
| Tareas con un resultado verificable (un cálculo, código que supera pruebas) | Parcialmente | El ajuste fino por refuerzo puede recompensar los resultados correctos en lugar de una redacción fija. |
Una propiedad explica la mayoría de las sorpresas de SFT: imita. Si una de cada diez respuestas dice «por favor, póngase en contacto con soporte» en lugar de responder, el modelo aprende a decir eso aproximadamente una de cada diez veces. Si las respuestas se contradicen entre sí, el modelo aprende una mezcla confusa de ambas. Los objetivos limpios y consistentes importan más que una mayor cantidad de objetivos.
Cómo ajustarlo
La mayoría de las ejecuciones supervisadas necesitan poco ajuste. Comience con los valores predeterminados del proveedor («Auto»), lea las curvas y luego cambie una cosa a la vez.
Cuántas veces ve el modelo cada registro de entrenamiento. Si son muy pocas, las respuestas apenas cambian; si son demasiadas, la pérdida de entrenamiento sigue disminuyendo mientras que la pérdida de validación aumenta, porque el modelo está memorizando sus ejemplos. Los conjuntos de datos pequeños suelen tolerar más épocas que los grandes.
Los modelos alojados exponen un multiplicador sobre la tasa de aprendizaje predeterminada del proveedor en lugar del valor bruto. Un valor superior a 1 aprende más rápido, pero puede excederse o deteriorar las habilidades generales; un valor inferior a 1 es más suave y lento. Redúzcalo si la pérdida de validación presenta ruido o aumenta de forma prematura.
- Ambas pérdidas disminuyen: sigue aprendiendo; otra época puede ayudar.
- El entrenamiento disminuye, la validación se estabiliza: es lo adecuado; deténgase aquí.
- El entrenamiento disminuye, la validación aumenta: sobreajuste; utilice menos épocas, un multiplicador más bajo o datos más variados.
- Ninguna varía demasiado: los datos pueden ser inconsistentes o la tasa de aprendizaje es demasiado baja.
Errores comunes
- Entrenar con respuestas que no desearía que se repitieran. Las respuestas deficientes, desactualizadas o inconsistentes se aprenden con la misma fidelidad que las buenas.
- Ejecutar muchas épocas en un conjunto de datos pequeño y confiar en la disminución de la pérdida de entrenamiento. Vigile la pérdida de validación.
- Utilizar SFT para almacenar datos que cambian. Cuando el dato cambia, el modelo sigue repitiendo el antiguo.
- Juzgar la ejecución únicamente por la pérdida. Una pérdida menor significa una imitación más fiel de sus respuestas, no necesariamente mejores respuestas: ejecute una evaluación.
- No dejar una división de validación, por lo que no hay forma de detectar el sobreajuste.
Referencias y lecturas adicionales
Las fuentes externas se abren en una pestaña nueva.
- 01SFT TrainerHugging Face TRL docs · huggingface.coDetalla la pérdida de entropía cruzada a nivel de token y muestra cómo funciona el entrenamiento únicamente en las finalizaciones.
- 02Supervised fine-tuningOpenAI API docs · developers.openai.comLa guía paso a paso de un proveedor alojado: formato de datos, hiperparámetros y evaluación del resultado.
- 03LIMA: Less Is More for AlignmentZhou et al., 2023 · arXiv · arxiv.org1000 ejemplos seleccionados fueron suficientes para ajustar un modelo de 65B y convertirlo en un asistente sólido.
- 04Training language models to follow instructions with human feedbackOuyang et al., 2022 · arXiv · arxiv.orgInstructGPT: el artículo que convirtió el ajuste fino supervisado en el primer paso del postentrenamiento moderno.
- 05Finetuned Language Models Are Zero-Shot LearnersWei et al., 2021 · arXiv · arxiv.orgEvidencia temprana de que el ajuste fino en instrucciones ayuda a un modelo a seguir instrucciones que nunca vio.