¿Fine-tuning o RAG? Cuándo y cómo elegir la estrategia correcta para tu LLM

Publicado el 5 de julio de 2024 en IA Generativa

Elección entre Fine-tuning y RAG.

El mundo de los Modelos de Lenguaje Grandes (LLMs) está lleno de opciones. Una vez que superas la fase de experimentar con ChatGPT, la siguiente pregunta lógica es: ¿cómo hago que estos modelos respondan usando mi propia información?

Ahí es donde entran dos de las técnicas más potentes que tenemos hoy en día: el Fine-tuning y RAG (Retrieval-Augmented Generation). A primera vista pueden parecer similares, ya que ambas buscan personalizar las respuestas de un LLM. Sin embargo, no son intercambiables. Elegir la incorrecta puede llevarte a gastar mucho tiempo y dinero con resultados mediocres.

En este artículo, te explico de forma directa las diferencias clave, en qué escenarios brilla cada una y cómo he tomado esta decisión en proyectos reales para optimizar tanto los costos como el rendimiento.

Entendiendo las Bases: ¿Qué es Cada Cosa?

Vamos a desglosarlo sin tecnicismos innecesarios.

Fine-tuning (Ajuste Fino)

Imagina que un LLM como GPT-4 es un chef experto que sabe cocinar de todo. El fine-tuning sería como darle a ese chef un curso intensivo sobre la cocina de tu abuela. No le enseñas a cocinar desde cero, sino que ajustas su estilo y “sazón” para que sus platos tengan ese toque familiar.

Técnicamente, implica re-entrenar ligeramente el modelo con un set de datos de ejemplos (preguntas y respuestas) para que aprenda un nuevo estilo, un formato específico o un conocimiento muy especializado que no se puede obtener solo con contexto.

  • Cuándo usarlo: Cuando necesitas que el modelo cambie su comportamiento, hable en un tono muy específico (ej. jerga legal) o aprenda una habilidad nueva y muy concreta.

RAG (Generación Aumentada por Recuperación)

Siguiendo con la analogía del chef, RAG es como darle un libro de recetas justo antes de que empiece a cocinar. En lugar de cambiar su estilo, le das acceso a la información precisa que necesita en el momento.

Técnicamente, RAG es un sistema que, ante una pregunta, primero busca información relevante en una base de datos de documentos (usando embeddings y búsqueda vectorial) y luego le pasa esa información al LLM como parte del contexto para que formule la respuesta.

  • Cuándo usarlo: Cuando necesitas que el modelo responda basándose en información específica y actualizada que puede cambiar con el tiempo (documentación interna, catálogos de productos, noticias recientes).

El Criterio de Decisión: Fine-tuning vs. RAG

Aquí está mi mapa mental para decidir cuál usar:

CriterioElige Fine-tuning si…Elige RAG si…
ObjetivoQuieres cambiar el estilo, tono o formato del modelo.Quieres que responda con datos específicos y verificables.
Fuente de DatosTus datos son un conjunto de ejemplos de conversación.Tus datos son una colección de documentos (PDFs, webs, etc.).
ActualizaciónEl conocimiento que enseñas es estático y no cambia a menudo.La información cambia constantemente y necesitas respuestas actualizadas.
AlucinacionesEs menos efectivo para reducirlas. El modelo aún puede “inventar”.Es muy efectivo. La respuesta se basa en la información recuperada.
Costo y ComplejidadMás caro y complejo. Requiere preparación de datos y re-entrenamiento.Más barato y rápido de implementar. Solo necesitas indexar tus documentos.

Un Ejemplo Práctico

  • Proyecto A: Un chatbot que responde dudas sobre nuestra base de conocimiento interna.

    • La base de conocimiento se actualiza cada semana.
    • Necesitamos respuestas precisas y evitar que el bot invente cosas.
    • Elección clara: RAG.
  • Proyecto B: Un asistente que convierte el lenguaje natural en consultas SQL complejas.

    • No necesita datos externos, sino aprender una habilidad muy específica (traducir de español a SQL).
    • Necesitamos que el comportamiento del modelo cambie para que genere código en lugar de texto.
    • Elección clara: Fine-tuning.

Conclusión: No es uno u otro, a veces son ambos

La belleza de esto es que RAG y Fine-tuning no son mutuamente excluyentes. En arquitecturas avanzadas, puedes tener un modelo que ha sido fine-tuned para entender mejor la jerga de tu industria y que, además, utiliza un sistema RAG para acceder a los datos más recientes.

Mi recomendación es siempre empezar con RAG. Es más rápido, más barato y suele resolver el 80% de los casos de uso de negocio. Si después de implementar RAG notas que el modelo aún no tiene el tono o el estilo de respuesta que necesitas, entonces y solo entonces, considera añadir una capa de fine-tuning.

Espero que esta guía te aclare el panorama y te ayude a tomar la mejor decisión para tu próximo proyecto de IA Generativa.


Foto de Osvaldo Trujillo

Escrito por

Osvaldo Trujillo

Ingeniero de Machine Learning, Arquitecto AWS y desarrollador. Apasionado por la tecnología y la creación de soluciones que aportan valor a través de los datos.

GitHub LinkedIn Contáctame