El fine tuning en modelos de OpenAI consiste en reentrenar un modelo ya existente con datos nuevos para ajustarlo a tareas específicas. Antes de aplicarlo conviene saber cuándo realmente vale la pena y cuándo otras técnicas resuelven mejor el problema, sobre todo si estás construyendo un chatbot o un asistente.
¿Cuándo no deberías hacer fine tuning a un modelo de OpenAI?
La primera pregunta no es cómo hacerlo, sino si de verdad lo necesitas. Muchas veces no.
Antes de tocar el modelo, conviene agotar tres caminos más rápidos y baratos:
- Prompt engineering: las técnicas de diseño de prompts resuelven la mayoría de los casos al trabajar con estos modelos. Iterar y ajustar tus prompts con feedback continuo suele dar mejores resultados de los que esperas.
- Encadenamiento de prompts: puedes armar una secuencia de prompts con diferentes contenidos hasta llegar a la salida esperada. Aquí entran frameworks como LangChain o LlamaIndex.
- Function calling: una característica de la API de OpenAI que permite hacer llamados a funciones propias para que el modelo consuma datos con estructura específica.
¿Qué es prompt engineering? Es la práctica de diseñar y ajustar las instrucciones que le das a un modelo para que entregue mejores respuestas, sin necesidad de reentrenarlo.
Y aquí viene lo interesante: aunque después decidas hacer fine tuning, todo el trabajo previo de prompts no se pierde. Le sigue sirviendo al modelo una vez que lo reentrenas.
¿Cuándo sí conviene hacer fine tuning en OpenAI?
Hay casos de uso bastante claros donde el fine tuning es la mejor jugada. La idea es identificar si tu problema cae en alguno de estos escenarios.
¿Qué casos justifican entrenar el modelo con tus propios datos?
Estos son los escenarios donde el fine tuning se vuelve la opción correcta:
- Estilo, tono o formato definidos. Si tienes una forma particular de hablarle a tus clientes y estás creando un chatbot, el modelo se acostumbrará a responder con esa voz.
- Mejorar la confiabilidad de la salida. Cuando manejas información muy específica, pasarla en el fine tuning ayuda a que las respuestas sean más confiables.
- Corregir fallas al seguir instrucciones complejas. Si tu modelo no logra ejecutar varios procesos encadenados solo con prompts, entrenarlo con datos nuevos puede solucionarlo.
- Muchos casos especiales. Esos escenarios que hay que mirar con lupa porque son muy específicos. Solo viendo ejemplos claros de cómo manejarlos el modelo aprende a resolverlos.
- Tareas difíciles de articular en una sola solicitud. Cuando el modelo necesita más contexto del que cabe en un prompt, los datos de fine tuning aportan esa información extra.
¿Qué es fine tuning? Es el proceso de tomar un modelo ya entrenado y reentrenarlo con un dataset nuevo para que se especialice en tareas concretas.
¿Por qué el fine tuning encaja tan bien en chatbots y asistentes?
Todos los casos anteriores aparecen seguido en chatbots y asistentes virtuales. Y aunque podrías recurrir a encadenamiento de prompts o a técnicas más avanzadas como una base de datos vectorial para montar un Retrieval-Augmented Generation (RAG), el fine tuning suele ser un buen primer paso.
¿La razón? Cuando quieres darle al modelo un estilo propio, un formato fijo o tareas muy específicas, esos rasgos solo se aprenden integrando los datos directamente al modelo.
¿Cuándo elegir fine tuning en lugar de RAG? Usa fine tuning cuando necesitas estilo, tono o comportamiento específicos. Usa RAG cuando lo que buscas es traer información actualizada o externa al modelo.
En el camino de construir un PlatziBot, un chatbot de atención a estudiantes que responde con información específica de Platzi y con la voz con la que le hablarías a tus estudiantes, el fine tuning aparece como una opción natural para arrancar.
El proceso, además, es sencillo, accesible y de bajo costo, así que el siguiente paso es entrar de lleno al flujo completo de fine tuning sobre modelos de OpenAI. ¿En qué caso de uso lo aplicarías tú primero? Cuéntalo en los comentarios.