Dos problemas distintos
Un modelo de lenguaje puede quedarse corto de dos formas. Puede faltarle conocimiento: no conoce sus productos, sus políticas, sus contratos ni lo que cambió la semana pasada. O puede comportarse mal: sabe lo suficiente, pero responde con el formato o el tono equivocados, o comete una y otra vez el mismo tipo de error en una tarea.
La generación aumentada por recuperación, normalmente llamada RAG, resuelve el primer problema. El ajuste fino resuelve el segundo. Usar uno para resolver el otro es el error más común y más caro de los proyectos de IA.
La confusión se entiende, porque de ambos se dice que dan al modelo sus datos. La diferencia está en dónde acaban los datos. Con la recuperación se quedan en sus documentos y se buscan de nuevo para cada pregunta. Con el ajuste fino se absorben en los pesos del modelo, donde moldean cómo escribe, pero no se pueden señalar, corregir ni eliminar sin volver a entrenar.
| Síntoma | Problema probable | Solución probable |
|---|---|---|
| No conoce nuestros productos, precios ni políticas | Conocimiento | Recuperación |
| Da respuestas que eran ciertas el año pasado | Conocimiento | Recuperación |
| Necesitamos ver de dónde sale cada respuesta | Conocimiento | Recuperación |
| Ignora el formato de nuestros informes se lo pidamos como se lo pidamos | Comportamiento | Mejores prompts, y después ajuste fino |
| Etiqueta los tickets de forma incoherente | Comportamiento | Ajuste fino con ejemplos etiquetados |
| Acierta, pero no suena nada a nosotros | Comportamiento | Ajuste fino con ejemplos de nuestros textos |
Lo que hace la recuperación
Con la recuperación, el modelo no memoriza sus documentos. Cuando llega una pregunta, el sistema busca en sus documentos los fragmentos con más probabilidades de responderla y se los pasa al modelo junto con la pregunta. El modelo responde a partir de lo que ha recibido, y la aplicación muestra qué fragmentos usó.
El enfoque se expuso en un artículo de investigación de 2020 que señalaba que, en los modelos que dependen solo de lo aprendido en el entrenamiento, indicar la procedencia de sus respuestas y actualizar su conocimiento eran problemas sin resolver, y que combinaba un modelo con una memoria explícita en la que se puede buscar para abordarlos [1]. Esas son justo las dos propiedades que importan a las empresas: respuestas que se pueden comprobar y un conocimiento que está al día en cuanto cambia un documento.
- 01
Reunir y limpiar
Reúna los documentos a partir de los que debe responder el modelo, y decida quién puede ver cuáles. Los documentos desfasados y duplicados son la causa principal de las malas respuestas.
- 02
Dividir e indexar
Divida los documentos en fragmentos y guarde una representación numérica de cada uno para la búsqueda. pgvector, por ejemplo, añade búsqueda por similitud vectorial a Postgres, de modo que el índice puede estar en una base de datos que ya usa [4].
- 03
Recuperar
Para cada pregunta, encuentre los mejores fragmentos, normalmente combinando la búsqueda por significado con la búsqueda por palabras clave, y respete los permisos de quien pregunta.
- 04
Responder con fuentes
Pase los fragmentos al modelo con instrucciones de responder solo a partir de ellos y de citarlos, y muestre las citas al usuario.
- 05
Mantener sincronizado
Vuelva a indexar los documentos cuando cambien, y elimínelos cuando se retiren.
Lo que hace buena o mala una recuperación
Cuando un sistema de recuperación da una mala respuesta, el modelo rara vez es el culpable. Mucho más a menudo, el fragmento correcto no se encontró, o se encontró junto a varios incorrectos. El trabajo que mejora las respuestas es sobre todo trabajo de búsqueda.
- Dividir los documentos con sentido: por secciones y encabezados y no por una longitud fija, para que cada fragmento lleve su propio contexto.
- Conservar los metadatos: el título, la fecha, el responsable y el público del documento, para que la búsqueda prefiera la política vigente a la del año pasado.
- Combinar métodos de búsqueda: la búsqueda por significado encuentra paráfrasis, la búsqueda por palabras clave encuentra referencias de piezas y nombres. La mayoría de los buenos sistemas usan ambas.
- Reordenar: una segunda pasada, más cuidadosa, sobre los mejores resultados antes de que lleguen al modelo.
- Decir «no lo sé»: cuando no se encuentra nada relevante, el asistente debe decirlo y ofrecer una persona, en lugar de responder con conocimiento general.
Lo que hace el ajuste fino
El ajuste fino sigue entrenando un modelo existente con ejemplos de la tarea: entradas emparejadas con las salidas que usted quiere. La guía de OpenAI enumera usos como conseguir que un modelo dé a sus respuestas un formato coherente, clasificar, generar contenido en un formato concreto, corregir fallos al seguir instrucciones y ajustarse a un tono y un estilo, y advierte que quizá baste con el prompt [2]. Esto último importa. Pruebe con instrucciones claras y unos cuantos buenos ejemplos en el prompt antes de entrenar nada.
El ajuste fino se ha vuelto mucho más ligero que antes. Métodos como LoRA entrenan pequeños pesos adicionales en lugar del modelo entero; sus autores indican que reduce 10.000 veces el número de parámetros entrenables y 3 veces la memoria de GPU necesaria, frente al ajuste fino completo de un modelo muy grande [3]. Eso convierte el ajuste fino de un modelo abierto con sus propios ejemplos en un proyecto práctico y no en un programa de investigación.
- Necesita ejemplos: de unos cientos a unos miles de buenos pares de entrada y salida, revisados por personas que conocen la tarea.
- No enseña datos de forma fiable. Un modelo ajustado puede seguir inventándose detalles, y no puede decirle de dónde sale una respuesta.
- Hay que repetirlo cuando cambia la tarea, o cuando pasa a un modelo base más nuevo.
Cómo elegir
- 01
Escriba primero la evaluación
Reúna preguntas o tareas reales con buenas respuestas. Sin ellas no puede saber si un cambio ha ayudado.
- 02
Pruebe con el prompt
Instrucciones claras, un formato de salida definido y unos cuantos ejemplos resuelven más problemas de comportamiento de lo que se suele pensar.
- 03
Añada recuperación si las respuestas necesitan su conocimiento
Si el modelo necesita datos con los que nunca se entrenó, o datos que cambian, la recuperación es la solución. Vuelva a medir.
- 04
Haga un ajuste fino si el comportamiento sigue fallando
Si el modelo tiene la información correcta pero sigue equivocándose con el formato, las etiquetas o el tono, y usted tiene los ejemplos, haga un ajuste fino. Vuelva a medir.
- 05
Pare cuando lo diga la evaluación
Cada paso cuesta esfuerzo de desarrollo y de mantenimiento. Pare en el primero que alcance el listón que fijó.
Cuando necesita ambos
Algunos proyectos necesitan conocimiento y comportamiento a la vez. Un asistente de soporte puede tener que responder a partir del centro de ayuda vigente (recuperación) con la voz de la empresa y una estructura estricta que el sistema de soporte pueda leer (ajuste fino). Una herramienta de revisión de contratos puede tener que encontrar las cláusulas relevantes (recuperación) y clasificarlas según un manual de criterios, como lo hace el propio equipo del cliente (ajuste fino).
En esos casos construimos primero la recuperación, porque corrige la mayor parte de los errores y es más fácil de cambiar, y ajustamos un modelo para que use los fragmentos recuperados como exige la tarea. El conjunto de evaluación cubre ambas cosas: si encontró los fragmentos correctos y si los usó bien.
Convivir con cada opción
Los dos enfoques también se diferencian después de la puesta en marcha. Un sistema de recuperación se mantiene como un buscador: los documentos se añaden, cambian y retiran, y el índice los sigue. Quien edita los documentos de origen está, en la práctica, actualizando el asistente, que suele ser lo que quiere una empresa. Su coste de funcionamiento es el modelo más una base de datos modesta.
Un modelo ajustado se mantiene como un compañero formado: cuando cambia la tarea, necesita ejemplos nuevos y otro entrenamiento, y la versión nueva tiene que superar la evaluación antes de sustituir a la anterior. Si es un modelo abierto, también necesita GPU para servirlo, todos los meses. Ninguna de las dos cosas es difícil, pero son compromisos distintos, y los ejemplos de abajo muestran la diferencia en el coste de funcionamiento.
Tres proyectos, con el precio de nuestra tarifa
Los ejemplos prácticos de abajo muestran la horquilla de nuestra tarifa de hoy, con el desarrollo y el coste mensual de funcionamiento. Su precio se calcula cuando abre la página.
Ejemplo práctico, con precio de hoy
Recuperación con un modelo de vanguardia
Un asistente para el personal que responde a partir de los documentos de la empresa con citas, usando un modelo de vanguardia a través de su API. Incluye subida de documentos, búsqueda y permisos.
- Desarrollo
- ≈ 66.700 US$ a 102.000 US$, delivered within 18 weeksCAD 95,000 to 145,300
Los precios en su moneda son estimaciones con el tipo de cambio de hoy del Banco de Canadá. Toda la facturación se emite en CAD o USD.
Funcionamiento
- Alojamiento
- ≈ 558 US$ al mesCAD 795 al mes
- Soporte
- ≈ 1000 US$ al mesCAD 1,425 al mes
- Coste de uso del modelo
- ≈ 383 US$ al mesCAD 545 al mes
Ejemplo práctico, con precio de hoy
Un modelo ajustado para una tarea
Un modelo abierto ajustado con los ejemplos etiquetados de la empresa para clasificar y encaminar las peticiones entrantes con un formato fijo, servido en GPU alquiladas y conectado al sistema de tickets existente.
- Desarrollo
- ≈ 104.000 US$ a 159.000 US$, delivered within 29 weeksCAD 148,300 to 226,200
Los precios en su moneda son estimaciones con el tipo de cambio de hoy del Banco de Canadá. Toda la facturación se emite en CAD o USD.
Funcionamiento
- Alojamiento
- ≈ 4360 US$ al mesCAD 6,210 al mes
- Soporte
- ≈ 1000 US$ al mesCAD 1,425 al mes
- Coste de uso del modelo
- ≈ 4190 US$ al mesCAD 5,960 al mes
Ejemplo práctico, con precio de hoy
Recuperación y ajuste fino juntos
Un asistente de soporte con un modelo abierto ajustado que responde a partir del centro de ayuda vigente con citas, con la voz de la empresa y una estructura que el sistema de soporte puede leer.
- Desarrollo
- ≈ 128.000 US$ a 195.000 US$, delivered within 33 weeksCAD 182,100 to 277,900
Los precios en su moneda son estimaciones con el tipo de cambio de hoy del Banco de Canadá. Toda la facturación se emite en CAD o USD.
Funcionamiento
- Alojamiento
- ≈ 4360 US$ al mesCAD 6,210 al mes
- Soporte
- ≈ 1000 US$ al mesCAD 1,425 al mes
- Coste de uso del modelo
- ≈ 4190 US$ al mesCAD 5,960 al mes
Compare las líneas mensuales. El ejemplo de recuperación paga tokens según se usa; los dos ejemplos ajustados pagan un servidor con GPU, tenga trabajo o no. Para un equipo de unas pocas decenas de personas que hacen preguntas, la recuperación con un modelo de vanguardia suele ser el comienzo sensato. Abra cualquier ejemplo en el estimador para cambiar el tráfico o la forma de servirlo y ver dónde cambia el equilibrio en su caso.
Errores que evitar
- Hacer un ajuste fino con sus documentos y esperar que el modelo los cite. Aprenderá el estilo de sus documentos, no su contenido de forma fiable.
- Indexarlo todo. Un sistema de recuperación sobre todos los archivos de una unidad compartida encuentra fragmentos antiguos, duplicados y contradictorios. Seleccione primero.
- Olvidar los permisos. Si una persona no puede abrir un documento, el asistente no debe citárselo. Filtre en el momento de la recuperación.
- No tener conjunto de evaluación. Sin él, cada cambio es una apuesta, y una actualización del modelo puede empeorar las cosas sin que se note.
- Olvidar el mantenimiento. La recuperación necesita documentos al día; el ajuste fino necesita volver a entrenar cuando cambia la tarea o el modelo base.