El fine-tuning es la técnica de adaptar un modelo preentrenado —típicamente un LLM— a una tarea o dominio específico continuando su entrenamiento sobre un dataset más pequeño y especializado. En vez de entrenar un modelo desde cero (caro y carísimo), se parte de un modelo que ya entiende el lenguaje y se ajustan sus pesos para que rinda mejor en un escenario concreto: un tono de marca, un dominio técnico, un formato de salida estructurado.
Hay varios sabores: full fine-tuning (se actualizan todos los pesos, costoso), LoRA (Low-Rank Adaptation, se entrena un pequeño conjunto de matrices que modulan el modelo original, mucho más barato y portable), QLoRA (LoRA sobre modelo cuantizado, permite hacer fine-tuning en una sola GPU), supervised fine-tuning (SFT, sobre pares input/output curados) y preference tuning (DPO, RLHF, sobre pares "preferida vs rechazada" para alinear comportamiento).
Antes de saltar a fine-tuning, conviene agotar prompt engineering y RAG: son más baratos, más fáciles de iterar y más rápidos de versionar. El fine-tuning aporta cuando se necesita un comportamiento muy consistente que no se consigue con prompts (formato fijo, tono muy específico), cuando hay que comprimir un prompt enorme en el modelo (latencia), o cuando se necesita un modelo más pequeño y rápido con el comportamiento de uno grande (distilación).
En 10Code recurrimos a fine-tuning solo cuando los enfoques baratos se quedan cortos: típicamente para automatizar formatos de salida muy estrictos, para reducir latencia/coste sustituyendo GPT-4 por un modelo abierto fine-tuneado, o para casos verticales con datos propietarios donde el prompt resulta demasiado largo. Para la mayoría de proyectos, prompt + RAG son suficientes.
En 10Code llevamos más de una década aplicando estas tecnologías a productos reales. Si quieres comentarnos tu caso, escríbenos y te respondemos personalmente.
Hablar con un ingeniero