Tema
Preentrenamiento y ajuste fino
- Lenguaje natural y modelos de lenguaje
- Nivel intermedio
El preentrenamiento aprende representaciones generales resolviendo una tarea automática sobre texto sin etiquetar, y el ajuste fino adapta esos pesos a una tarea concreta con muchos menos ejemplos.
Nombre en inglés
Pretraining and fine tuning
Intuición
El texto crudo trae su propia supervisión, porque tapar una palabra y pedir que se adivine no cuesta ninguna anotación humana. Dos familias reparten el terreno, la de codificación enmascarada, que ve la oración entera y sirve para clasificar, y la causal, que solo ve la izquierda y sirve para generar.
Fórmula
L_enmascarado = - \sum_{t \in M} \log P(w_t | w_fuera_de_M) ; L_causal = - \sum_t \log P(w_t | w_{<t})
Ejemplo resuelto
Sea la oración el gato duerme en el sofá, de 6 tokens, con un enmascarado del 15 % que tapa 1 token. Si se tapa sofá, el modelo enmascarado lo predice con todo el contexto de la izquierda y nada por la derecha, mientras que al tapar duerme dispone de contexto por los dos lados. El modelo causal, en cambio, calcula pérdida sobre los 6 tokens de la misma pasada, de manera que extrae 6 señales de entrenamiento donde el enmascarado extrae 1.
Errores frecuentes
- Ajustar el modelo entero con la tasa de aprendizaje del preentrenamiento, error que borra lo aprendido en las primeras iteraciones, ya que el ajuste fino trabaja con tasas de un orden de magnitud menores.
- Elegir un modelo de codificación enmascarada para generar texto libre, cuando su objetivo de entrenamiento no le enseña a continuar una secuencia.
- Medir el ajuste fino sobre el mismo conjunto con el que se eligieron los hiperparámetros, práctica que infla el resultado y no se sostiene en producción.
Ejercicio
Un modelo de codificación enmascarada tapa el 15 % de los tokens. Sobre un corpus de 10 000 millones de tokens, ¿sobre cuántos tokens calcula pérdida, y cuántos aprovecharía un modelo causal?
Ver la solución
El enmascarado calcula pérdida solo sobre los tokens tapados, de modo que 0.15 por 10 000 millones da 1500 millones de tokens con señal. El modelo causal predice cada token a partir de los anteriores y por tanto aprovecha los 10 000 millones, es decir 6.67 veces más señal en la misma pasada. A cambio, el enmascarado ve contexto por los dos lados, ventaja que explica su mejor rendimiento en clasificación.
Respuesta: 1500 millones y 10 000 millones