Para empezar, vamos a definir tres conceptos básicos que es importante tener claros:
1️⃣ LLM (Large Language Model): Es el motor de un chatbot. En el caso de ChatGPT, se utiliza GPT-3.5 o GPT-4V (ChatGPT Plus).
2️⃣ RAG (Retrieval Augmented Generation): Es una arquitectura que permite a los LLM acceder a información adicional que no estaba disponible durante su entrenamiento.
3️⃣ Fine-tuning: Tomar un LLM y someterlo a un nuevo proceso de entrenamiento con datos adicionales. El resultado será un modelo nuevo, basado en el original, que posee un mayor conocimiento sobre algo específico.
Ahora que tenemos los conceptos definidos, vamos a responder a la siguiente pregunta:
¿Debería utilizar RAG o fine-tuning para crear un LLM personalizado para mi problema? 🤔
El fine-tuning es apropiado cuando deseas modificar el estilo, tono o formato de las respuestas.
No deberías realizar fine-tuning si no tienes claro qué aspectos quieres mejorar del LLM.
Y no deberías hacer fine-tuning si tu objetivo es agregar conocimiento adicional.
Si deseas agregar conocimiento o mantener actualizado tu modelo, lo mejor es utilizar RAG.
RAG te permite conectar una base de datos de conocimiento con tu modelo. Y esta base de datos puede ser dinámica y estar continuamente actualizándose.
Cuando le hagas una pregunta a tu modelo con RAG, ocurrirá lo siguiente:
- Se recuperará de la base de datos los resultados relevantes y se incluirán junto a tu pregunta de manera automática.
- El LLM usará estos resultados para construir la respuesta que necesitas.
¿Todavía no estás convencido de que RAG es la mejor opción? Aquí tienes otro argumento:
Realizar fine-tuning es MUY costoso. En cambio, hacer RAG es MUY simple.
¿Te gustaría explorar la posibilidad de tener tu propia IA personalizada utilizando RAG?
Te recomiendo comenzar con LlamaIndex: