El presente documento describe la metodología técnica empleada para el entrenamiento de un modelo de lenguaje causal (Causal Language Modeling). A diferencia de los métodos tradicionales de transfer learning, este script inicializa un modelo de tipo Transformer con pesos aleatorios, lo que requiere un proceso de optimización más robusto y una arquitectura equilibrada para aprender gramática y contexto desde cero.
Se ha optado por una configuración "Mini-GPT" basada en la arquitectura GPT-2. Esta elección se justifica por la necesidad de manejar una relación eficiente entre la capacidad expresiva del modelo y el coste computacional.
El procesamiento de datos es la fase más crítica cuando se entrena desde cero. Se utiliza el algoritmo Byte-Pair Encoding (BPE) a través del tokenizador preentrenado de GPT-2 para garantizar que el modelo pueda descomponer palabras complejas en sub-tokens manejables.
Para que el modelo aprenda la naturaleza de "pregunta-respuesta", los datos se transforman dinámicamente. Cada entrada en el dataset se convierte en una cadena continua:
Se ha fijado una longitud máxima de 128 tokens. Esta decisión técnica optimiza la memoria de la GPU, permitiendo lotes (batches) más grandes y, por ende, un gradiente más estable durante la optimización.
El entrenamiento se ha configurado para ejecutarse durante 100 épocas. Dado que el modelo no tiene conocimiento previo, la curva de aprendizaje inicial es pronunciada.
| Hiperparámetro | Valor | Justificación Técnica |
|---|---|---|
| Learning Rate | 5e-4 | Necesario para permitir ajustes significativos en pesos aleatorios iniciales. |
| Weight Decay | 0.01 | Previene la especialización excesiva en el ruido del dataset (Regularización L2). |
| Batch Size | 4 | Maximiza la actualización de pesos por paso dado el límite de memoria de hardware. |
| FP16 | Habilitado | Uso de tensores de 16 bits para acelerar el cálculo matricial sin pérdida de precisión crítica. |
El script implementa un sistema de Save Total Limit, conservando únicamente los dos mejores estados del modelo (checkpoints). Esto previene el agotamiento del almacenamiento en disco durante sesiones largas de entrenamiento. Al finalizar, el modelo se exporta en formato binario compatible con la librería Transformers, permitiendo su despliegue inmediato en entornos de producción o interfaces de chat.