Saltar al contenido principal

Capítulo 2: Cuándo hacer Fine-Tuning vs Usar RAG

Tomar la decisión correcta para su caso de uso​

Una de las decisiones más importantes en el desarrollo de aplicaciones con LLM es elegir entre fine-tuning, RAG (Retrieval-Augmented Generation) o simplemente prompt engineering. Cada enfoque tiene fortalezas distintas.


Los tres enfoques​

1. Prompt Engineering​

Elaborar cuidadosamente los prompts de entrada para obtener las salidas deseadas sin ningún entrenamiento.

2. RAG (Retrieval-Augmented Generation)​

Recuperar contexto relevante de una base de datos e incluirlo en el prompt.

3. Fine-Tuning​

Entrenar el modelo con sus propios datos para que internalice nuevos conocimientos o comportamientos.


Marco de decisión​

Elija Fine-Tuning cuando:​

EscenarioPor qué funciona el Fine-Tuning
Enseñar un estilo o tono específicoEl estilo se internaliza, no solo se imita
Formato de salida consistenteEl modelo aprende profundamente la estructura
Terminología específica de dominioLa terminología se vuelve natural para el modelo
Tarea personalizada difícil de lograr con promptsEl entrenamiento proporciona un comportamiento más confiable
Reducir tamaño/costos del promptLos comportamientos están integrados, no dependen del prompt

Elija RAG cuando:​

EscenarioPor qué funciona RAG
El conocimiento cambia frecuentementeSolo actualice la base de datos
Necesita citas/fuentesLa recuperación proporciona trazabilidad
Base de conocimiento muy grandeNo cabe en el contexto ni en el entrenamiento
Precisión factual críticaHechos recuperados vs hechos aprendidos
Privacidad/control de accesoControle qué contexto se recupera

Elija Prompt Engineering cuando:​

EscenarioPor qué funciona el Prompting
Experimentación rápidaNo se necesita infraestructura de entrenamiento
Cambios simples de formatoEjemplos few-shot funcionan bien
Pocos casos de usoLos prompts pueden cubrir cada caso
Presupuesto limitadoSin costos de entrenamiento ni de vector DB
Requisitos que cambian rápidamenteCambie el prompt en vez de reentrenar

Comparación de costos​

EnfoqueCosto de configuraciónCosto por consultaMantenimiento
PromptingBajoAlto (prompts largos)Bajo
RAGMedioMedioMedio (actualización de BD)
Fine-TuningAltoBajo (prompts más cortos)Alto (reentrenamiento)
Cost Crossover

El fine-tuning se vuelve rentable a escala. Si realiza millones de llamadas a la API, el ahorro por prompts más cortos suele justificar el costo del fine-tuning.


Enfoques híbridos​

En la práctica, las mejores soluciones suelen combinar enfoques:

Fine-Tuning + RAG​

# Fine-tune para estilo y formato
# Use RAG para recuperación de conocimiento

# 1. Recupere el contexto relevante
context = vector_db.search(query)

# 2. Use el modelo fine-tuned con el contexto recuperado
response = fine_tuned_model.generate(
f"Context: {context}\nQuery: {query}"
)

Ventajas:

  • El modelo sabe cómo utilizar la información recuperada de manera efectiva
  • Estilo y formato consistentes
  • Conocimiento actualizado mediante recuperación

Fine-Tuning + Prompting​

# Fine-tune para el comportamiento principal
# Prompt para variaciones

response = fine_tuned_model.generate(
f"Respond in a formal tone: {query}" # El prompt modifica el comportamiento fine-tuned
)

Análisis de casos de uso​

Caso 1: Bot de soporte al cliente​

RequisitoMejor enfoque
Voz y tono de la empresaFine-Tuning
Información de productosRAG
Plantillas de respuestaFine-Tuning
Anuncios recientesRAG
Reglas de escalamientoFine-Tuning

Recomendación: Fine-tune para comportamiento + RAG para conocimiento


Caso 2: Análisis de documentos legales​

RequisitoMejor enfoque
Terminología legalFine-Tuning
Referencias a jurisprudenciaRAG
Formato de citaciónFine-Tuning
Fallos recientesRAG
Estructura de documentosFine-Tuning

Recomendación: Fine-tune para lenguaje legal + RAG para la base de casos


Caso 3: Asistente de código​

RequisitoMejor enfoque
Estilo de codificaciónFine-Tuning
Contexto del código de la empresaRAG
APIs internasRAG + Fine-Tuning
Mejores prácticasFine-Tuning
DocumentaciónRAG

Recomendación: Enfoque híbrido para mejores resultados


Comparación técnica​

Memoria y conocimiento​

AspectoFine-TuningRAG
Capacidad de conocimientoLimitada por el entrenamientoLimitada por el tamaño de la BD
Actualización de conocimientoRequiere reentrenamientoActualice la base de datos
LatenciaRápido (sin recuperación)Más lento (paso de recuperación)
PrecisiónPuede alucinarFuentes citables
EscalabilidadMismo costo a escalaLos costos de BD crecen

Cuando el conocimiento es importante​

# RAG es mejor para consultas factuales
query = "What is our refund policy for Pro plan customers?"
# → Recuperar de la base de políticas

# Fine-tuning es mejor para patrones de comportamiento
query = "Respond to an angry customer about billing"
# → El modelo fine-tuned sabe el tono y enfoque adecuados

Errores comunes​

❌ Fine-Tuning para conocimiento dinámico​

"Hicimos fine-tuning de nuestro modelo con datos de la empresa, pero ya están desactualizados."

Solución: Use RAG para conocimiento que cambia, fine-tune para comportamiento.

❌ RAG para estilo/formato​

"Nuestro sistema RAG recupera la información correcta pero las salidas son inconsistentes."

Solución: Fine-tune para estilo consistente, RAG para contenido.

❌ Sobre-ingeniería con Fine-Tuning​

"Pasamos semanas haciendo fine-tuning cuando el prompting few-shot habría funcionado."

Solución: Comience con prompting, pase a fine-tuning solo si es necesario.

❌ Ignorar la opción híbrida​

"Tuvimos que elegir entre RAG y fine-tuning."

Solución: Combine enfoques para mejores resultados.


Árbol de decisión​


Ejemplo práctico: Construyendo un asistente médico​

Requisitos:​

  1. Usar terminología médica adecuada
  2. Referenciar guías de tratamiento actuales
  3. Citar fuentes para las recomendaciones
  4. Seguir formatos de respuesta compatibles con HIPAA

Solución:​

# 1. Fine-tune para lenguaje y formato médico
model = load_finetuned_model("medical-assistant-v1")

# 2. RAG para guías y estudios actuales
guidelines = medical_db.search(patient_query)

# 3. Generación combinada
prompt = f"""
You are a medical assistant. Use the following current guidelines:
{guidelines}

Patient Query: {patient_query}

Respond using proper medical terminology and cite your sources.
"""

response = model.generate(prompt)

Puntos clave​

✅ Fine-tuning es ideal para estilo, formato y comportamientos internalizados

✅ RAG es ideal para conocimiento dinámico y fuentes citables

✅ Prompting es ideal para iteración rápida y personalización sencilla

✅ Los enfoques híbridos suelen ofrecer los mejores resultados

✅ Considere los costos tanto de configuración como por consulta

✅ Adapte su enfoque a sus requisitos específicos


Próximos pasos​

Ahora exploremos el panorama de métodos y herramientas de fine-tuning en Capítulo 3: Panorama del Fine-Tuning.


Comprobación rápida​

Antes de continuar, asegúrese de poder responder:

  1. ¿Cuándo elegiría RAG en lugar de fine-tuning?
  2. ¿Cuáles son las compensaciones de costos entre los tres enfoques?
  3. ¿Cómo diseñaría un sistema de soporte al cliente usando ambos enfoques?