Reentrenar modelos de lenguaje, de Qwen3-0.6B a on-device
No es crear un modelo desde cero: es dominar el pipeline de adaptación. Un currículo autoguiado para llevar un LLM pequeño de un checkpoint base a un modelo especializado que corre on-device — enseñando el método con fine-tuning y recuperando el contenido con RAG. Doce módulos, con la matemática incluida y ejercicios en cada tema.
El entrenamiento mueve estas probabilidades. La inferencia (temperature, top_p) solo elige entre ellas.
No tocas los millones de parámetros del modelo base. Entrenas dos matrices pequeñas de bajo rango y guardas un adaptador portátil de pocos MB.
El pipeline de una sola pasada
Cómo funciona un LLM (mínimo técnico)
No necesitas derivar toda la matemática del Transformer. Necesitas el modelo mental: tokens previos → probabilidades → siguiente token.
Tokenizadores y chat templates
Una conversación estructurada
# termina como UNA secuencia de tokens con marcadores especiales { "messages": [ {"role": "system", "content": "Eres profesor de segundo grado."}, {"role": "user", "content": "¿Cuánto es 6 + 5?"}, {"role": "assistant", "content": "Comencemos desde seis y avancemos cinco pasos..."} ] }
Ingeniería del dataset
Esquema con más señal que la conversación final
{
"id": "mat-g2-suma-error-001",
"grado": 2, "materia": "matematicas", "tema": "suma_con_llevadas",
"tipo_interaccion": "correccion_error", "dificultad": 2,
"estrategia": "pista_progresiva",
"messages": [
{"role": "user", "content": "Creo que 18 + 7 es 24."},
{"role": "assistant", "content": "Revisemos las unidades. Ocho más siete son quince..."}
]
}
SFT — Supervised Fine-Tuning
# la idea matemática que debes manejar loss = error( token_correcto_del_profesor , prob_asignada_por_el_modelo )Estudiar módulo →
Hiperparámetros y lectura de curvas
Lo que lees en cada paso: training_loss · validation_loss · gradient_norm · learning_rate · tokens/s · VRAM. Los tres patrones que debes reconocer están abajo.
Estudiar módulo →Panel · leer las curvas de loss
Train baja, val sube. Memoriza. Menos epochs, más datos o regularización.
Ambas altas y planas. Datos, formato, learning rate o capacidad insuficiente.
Loss baja pero las respuestas empeoran. Objetivo de entrenamiento o de evaluación mal diseñado.
LoRA y PEFT
# empieza amplio… target_modules = "all-linear" # …y compara contra específicos [q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj]Estudiar módulo →
LoRA vs QLoRA · precisión y memoria
# la VRAM no es solo el tamaño del archivo VRAM_entrenamiento = pesos + adaptadores + gradientes + estados_optimizador + activaciones + buffers # una secuencia de 4096 tokens cuesta MUCHO más que una de 512Estudiar módulo →
Evaluación reproducible (harness)
# compara las cuatro versiones con el MISMO harness
base vs +LoRA vs fusionado vs cuantizado
Métricas académicas
Métricas técnicas
Fine-tuning vs RAG — la frontera de diseño
Para RAG
Fusión, conversión y cuantización
modelo HF + adaptador LoRA ↓ merge_and_unload() + guardar modelo y tokenizer modelo fusionado ↓ convert (HF → GGUF) ↓ quantize (Q8 · Q6 · Q5 · Q4) + imatrix/calibration runtime local
Runtime on-device (Flutter)
runtime nativo → token stream / callback → isolate de Dart → estado de UIEstudiar módulo →
Reproducibilidad y seguridad pedagógica
Cada experimento guarda
Seguridad (con niños)
→Ruta de implementación
El orden exacto para construirlo. Cada etapa entrega un artefacto verificable antes de pasar a la siguiente.
Baseline
Un ejecutable que carga Qwen3-0.6B, aplica su chat template, corre 100 pruebas y guarda respuestas + métricas.
Dataset
400 ejemplos de entrenamiento, 50 de validación, 100 de evaluación. Limitados a una sola unidad académica.
LoRA
SFTTrainer con assistant/completion loss. Entiende r, alpha, target_modules, learning rate y epochs entrenando de verdad.
Evaluación
Compara automáticamente Qwen original vs Qwen + LoRA con el mismo harness, prompts y seed.
Despliegue
Fusionar → convertir a GGUF → cuantizar → volver a evaluar → integrar por FFI en Flutter.
RAG
Añade el currículo y filtra por grado, materia, unidad, objetivo actual y conceptos permitidos.
→Stack concreto
TRL usa hoy Qwen3-0.6B en su propio ejemplo inicial de SFTTrainer: es la opción razonable para dominar el proceso. Gemma (2B/4B) después, cuando el pipeline esté estable.
Ignora por ahora
Tu primera especialización es Qwen3-0.6B + LoRA + 500 ejemplos excelentes + una evaluación reproducible. Nada más.
- preentrenamiento desde cero
- entrenamiento distribuido · model parallelism
- derivar todo el Transformer
- RLHF · PPO · GRPO · DPO
- CUDA personalizada
- Mixture of Experts · multimodal