E056_RAG_frente_a_CAG_y_sistemas_híbridos
Ep. 56

E056_RAG_frente_a_CAG_y_sistemas_híbridos

Episode description

Episodio de BIMPRAXIS: RAG vs CAG

Exploramos las ventajas y desventajas de los modelos RAG (Retrieval Augmented Generation) y CAG (Caché Augmented Generation) en la arquitectura de la IA. Analizamos su velocidad, precisión y cómo su combinación podría definir el futuro de los sistemas de conocimiento en IA. Descubrimos cómo CAG puede ser drásticamente más rápido y preciso, pero también tiene limitaciones importantes, lo que sugiere que la solución definitiva podría ser el uso de sistemas híbridos que combinen las fortalezas de ambos enfoques.

Download transcript (.srt)
0:10

Buenas, esto es BIMPRAXIS, el podcast donde el

0:15

BIM se encuentra con la inteligencia artificial.

0:20

Exploramos la ciencia, la tecnología y el futuro

0:23

desde el enfoque de la arquitectura, ingeniería y

0:26

construcción.

0:28

¡Empezamos!

0:37

Hola, humanas y humanos.

0:39

Aquí estamos con un nuevo episodio de BIMPRAXIS.

0:43

Hoy continuamos con la serie dedicada a los

0:45

RAG, Retrieval Augmented Generation, y los vamos a

0:49

comparar con los CAG o Caché Augmented Generation.

0:53

Veremos las ventajas, los inconvenientes de un método

0:55

y otro, y también la solución híbrida.

0:59

Pues sí, la misión de hoy es analizar

1:01

una disyuntiva que es fundamental en la arquitectura

1:04

de la IA ahora mismo.

1:06

Por un lado, el método que ya conocemos,

1:08

RAG, que funciona como un investigador que consulta

1:11

una biblioteca en tiempo real.

1:13

Y por otro, el aspirante.

1:15

Por otro, el aspirante, CAG, que es más

1:17

como un experto que se ha memorizado la

1:19

biblioteca entera antes de empezar.

1:21

Vamos a analizar la velocidad, la precisión y,

1:24

sobre todo, cómo su combinación podría definir el

1:26

futuro de los sistemas de conocimiento en IA.

1:29

Un investigador frente a un sabio memorista.

1:31

Me gusta la metáfora.

1:33

Muy bien, pues vamos a desgranar esto a

1:34

fondo.

1:35

Para poner a todo el mundo en la

1:36

misma página, si te parece, recordemos brevemente que

1:39

es RAG.

1:40

Ha sido la solución, bueno, la solución de

1:43

facto durante el último par de años para

1:44

conectar los modelos de lenguaje con información externa,

1:47

¿cierto?

1:48

Exacto.

1:49

RAG, o Generación Aumentada por Recuperación, es un

1:52

sistema de dos pasos.

1:54

Cuando recibe una pregunta, lo primero, el primer

1:56

paso, es la recuperación.

1:58

La búsqueda.

1:59

La búsqueda, sí.

2:00

Un componente del sistema busca en una base

2:02

de datos externa, que suele ser una base

2:04

de datos vectorial, los fragmentos de información más

2:07

relevantes.

2:07

Y el segundo paso es la generación.

2:10

Vale.

2:10

Esos fragmentos recuperados se meten en el prompt

2:13

junto a la pregunta original y se le

2:14

entrega todo al modelo para que elabore la

2:16

respuesta.

2:17

Es la forma de anclar al modelo a

2:19

la realidad, por así decirlo, para evitar que

2:22

invente datos, las famosas alucinaciones.

2:25

Precisamente.

2:26

Y para asegurar que sus respuestas se basan

2:28

en información fresca, no solo en los datos

2:31

con los que fue entrenado, que pueden tener

2:33

meses o años.

2:34

Claro.

2:34

Es ideal para bases de conocimiento enormes o

2:37

que cambian constantemente.

2:38

Piensa en noticias, informes de bolsa, historiales médicos.

2:42

Suena como la solución perfecta, pero los documentos

2:45

que hemos revisado para este análisis señalan varias

2:48

fricciones importantes.

2:50

Y aquí es donde la cosa se pone

2:52

interesante.

2:53

Así es.

2:54

A pesar de sus ventajas, RAG tiene tres

2:56

inconvenientes principales.

2:58

El primero, y más evidente para quien lo

3:00

usa, es la latencia.

3:02

La espera.

3:03

A nadie le gusta ver el cursor parpadeando

3:05

mientras el chatbot piensa.

3:06

Exacto.

3:07

Ese proceso de búsqueda, de recuperación, de codificar

3:11

la pregunta, buscar, recuperar, todo eso añade un

3:14

retardo de varios segundos.

3:17

Y en una conversación eso rompe la experiencia.

3:20

Totalmente.

3:21

¿Y el segundo problema?

3:23

La complejidad de la arquitectura.

3:24

Y esa complejidad no es solo un dolor

3:27

de cabeza técnico.

3:28

Me imagino que también tiene un coste económico,

3:30

¿no?

3:30

Has dado en el clavo.

3:32

Cada uno de esos componentes, la base de

3:34

datos vectorial, los modelos de embedding, el sistema

3:37

de indexación, todo tiene un coste de mantenimiento,

3:41

de computación, de operación.

3:43

Más piezas móviles, más puntos de fallo.

3:45

Y más facturas a final de mes.

3:47

Y eso nos lleva a la tercera y

3:49

quizá más crítica fricción, los errores de recuperación.

3:53

Vale.

3:54

El sistema es tan bueno como su eslabón

3:55

más débil, y en RAG ese eslabón suele

3:58

ser el recuperador.

3:59

¿Puedes ponernos un ejemplo?

4:01

No es solo que no encuentre nada, ¿verdad?

4:03

Claro.

4:04

Hay dos tipos de error.

4:05

Podríamos tener un error de baja precisión, donde

4:08

el sistema te trae muchos documentos, pero la

4:11

mayoría son irrelevantes, son ruido.

4:13

Y el modelo se vuelve loco con tanta

4:15

información basura.

4:17

Exacto.

4:17

Y la respuesta se degrada.

4:19

O peor, un error de baja exhaustividad, donde

4:22

no encuentra el fragmento clave, el que tiene

4:25

la respuesta.

4:26

Y ahí da igual lo bueno que sea

4:27

el modelo, si no le das la materia

4:29

prima correcta.

4:30

Basura entra, basura sale.

4:32

El clásico.

4:33

El clásico.

4:34

De acuerdo.

4:34

Entonces tenemos latencia, una complejidad que es costosa

4:37

y el riesgo constante de que el recuperador

4:40

falle.

4:41

Un caldo de cultivo perfecto para que surja

4:43

una alternativa.

4:45

Y esa es CAG.

4:47

Caché Augmented Generation.

4:49

¿En qué consiste?

4:50

Pues CAG representa un cambio de mentalidad radical,

4:53

y es posible gracias a una evolución espectacular

4:56

de los modelos recientes, las ventanas de contexto

4:58

gigantescas.

5:00

Que cada vez son más y más grandes.

5:02

Hablamos de modelos que ya procesan cientos de

5:05

miles o millones de tokens de una vez.

5:08

Libros enteros.

5:09

La idea de CAG es simple pero muy

5:11

potente.

5:12

En lugar de buscar la información fuera, ¿por

5:15

qué no la precargamos toda dentro del modelo

5:17

desde el principio?

5:18

¿Te refieres a meter toda la base de

5:20

conocimiento directamente en el prompt, como un anexo

5:24

gigantesco?

5:25

Esencialmente sí.

5:26

El flujo de trabajo es completamente distinto.

5:29

Primero cargas todos los documentos en el contexto

5:32

del modelo.

5:33

Y luego haces un paso clave.

5:35

Precomputas la caché de clave-valor, la KV-Caché.

5:38

A ver, explícanos eso un poco más.

5:41

Es, a grandes rasgos, el estado interno del

5:43

modelo, sus cálculos, después de haber asimilado todo

5:47

ese conocimiento.

5:48

Es como si el modelo se estudiara todo

5:51

el temario de una sentada antes del examen.

5:54

Y ese estado de ya me lo he

5:55

estudiado se guarda.

5:57

La analogía es perfecta.

5:59

Ese estudio es un coste computacional que asumes

6:02

una sola vez, al principio.

6:05

Una vez generada la caché, cada nueva pregunta

6:07

simplemente se añade al final de ese contexto

6:09

ya procesado.

6:10

Con lo cual, no hay búsqueda externa.

6:13

Ninguna.

6:14

Ya sabe todo el contenido y puede generar

6:16

la respuesta casi al instante.

6:17

Ese coste único suena importante.

6:21

¿Hablamos de un proceso que tarda minutos, horas?

6:24

Porque podría ser un cuello de botella.

6:26

Es una pregunta muy pertinente.

6:28

No es trivial.

6:30

Generar la caché para, digamos, unas 300 páginas

6:33

puede llevar varios minutos en una GPU de

6:35

gama alta.

6:36

Es una inversión inicial.

6:38

Pero se amortiza.

6:39

Se amortiza muy rápido.

6:40

Si el sistema va a recibir miles de

6:42

consultas, el tiempo que te ahorras en cada

6:44

una compensa con creces esa inversión.

6:46

Entendido.

6:48

Entonces, si aceptamos ese coste, SIG parece que

6:52

resuelve de un plumazo los tres grandes problemas

6:55

de RAG.

6:56

Latencia, complejidad y errores.

6:59

Simplemente desaparecen.

7:01

En su mayor parte sí, desaparecen.

7:03

La latencia de recuperación se evapora porque no

7:06

hay recuperación.

7:07

La arquitectura se simplifica muchísimo.

7:10

Adiós a la base de datos vectorial, al

7:12

indexador… Y los errores de recuperación son imposibles.

7:16

Imposibles, porque el modelo no tiene que elegir

7:19

qué fragmentos ver.

7:20

Tiene una visión completa, holística, de todo el

7:23

conocimiento desde el primer momento.

7:25

Vale, pongámoslos frente a frente.

7:28

Si SIG es tan bueno.

7:30

La pregunta obvia es, ¿por qué no lo

7:32

usamos para todo?

7:34

¿Qué dicen los datos de rendimiento que hemos

7:36

analizado?

7:37

Aquí es donde los resultados son realmente impactantes.

7:41

En pruebas con basas de conocimiento como Hotpot

7:43

QA, las diferencias de velocidad son abismales.

7:46

Un sistema CAG responde de media en 0,85

7:50

segundos.

7:51

¿0,85?

7:52

Sí.

7:53

Un sistema RAG comparable tarda unos 9,25 segundos.

7:58

Eso es más de 10 veces más rápido,

8:00

una diferencia brutal para cualquier aplicación interactiva.

8:04

Y se pone mejor.

8:05

En conjuntos de datos un poco más grandes,

8:07

la diferencia se dispara.

8:09

Las fuentes hablan de 2,3 segundos para CAG

8:12

frente a unos increíbles 94,3 segundos para RAG.

8:16

Un momento, es una mejora de hasta 40

8:18

veces.

8:19

Hasta 40 veces.

8:21

Suena casi demasiado bueno para ser verdad.

8:23

En estas comparativas estamos seguros de que se

8:26

comparan sistemas optimizados en ambos lados.

8:29

O sea, no podría ser un escenario ideal

8:31

para CAG contra un RAG que no está

8:33

del todo afinado.

8:34

Es una dosis de escepticismo muy saludable.

8:37

Y aunque la optimización siempre es un factor,

8:40

la diferencia aquí es arquitectónica.

8:43

RAG implica, por narices, una llamada de red

8:45

a una base de datos, una búsqueda… Unos

8:48

pasos que no te puedes saltar.

8:49

Exacto.

8:50

CAG elimina todo eso.

8:53

Es la diferencia entre buscar un dato en

8:54

un libro que tienes en otra habitación o

8:56

tenerlo ya abierto sobre la mesa.

8:59

Incluso el RAG más optimizado del mundo tendrá

9:01

siempre ese cuello de botella.

9:03

Vale, aceptamos la ventaja en velocidad.

9:06

Pero la velocidad no sirve de nada si

9:07

las respuestas son peores.

9:09

¿Qué pasa con la precisión?

9:11

Uno podría pensar que darle al modelo cientos

9:13

de páginas a la vez podría confundirlo.

9:14

Pues, contra toda intuición, ocurre lo contrario.

9:18

Aquí también hay sorpresas.

9:20

Lejos de confundirse, los estudios muestran que CAAG

9:23

suele obtener puntuaciones de precisión ligeramente superiores.

9:27

Ah.

9:27

Sí.

9:28

Por ejemplo, una fuente reporta una puntuación BERT

9:31

score de 0,7759 para CAG frente a 0,751

9:37

para RAG.

9:38

¿Y cuál es la teoría detrás de esa

9:40

mejora?

9:41

La hipótesis es que, al tener la visión

9:43

global de todo el contexto, el modelo puede

9:45

realizar razonamientos más complejos.

9:48

Puede conectar una idea del documento A con

9:50

un detalle del documento Z.

9:52

Algo que un RAG solo podría hacer si

9:54

el recuperador, por casualidad, trae justo esos dos

9:57

fragmentos.

9:58

Exactamente.

10:00

Si falla en recuperar uno, la conexión se

10:02

pierde.

10:03

CAG, al tener la panorámica completa, no sufre

10:05

esa limitación.

10:07

Puede encontrar relaciones sutiles entre distintas partes del

10:09

conocimiento.

10:11

De acuerdo.

10:11

Recapitulo.

10:13

Es drásticamente más rápido y, sorprendentemente, un poco

10:16

más preciso.

10:18

Aquí tiene que estar la trampa.

10:19

¿Cuál es el talón de Aquiles de CAG?

10:21

Tiene dos, y son muy importantes.

10:24

Son las razones por las que RAG no

10:26

va a desaparecer.

10:27

La primera, el conocimiento es estático.

10:31

La caché es una foto fija.

10:32

Claro.

10:33

Si tu base de datos se actualiza constantemente,

10:36

precios de acciones, noticias, el inventario de una

10:39

tienda, la caché se queda obsoleta al instante.

10:42

Y para actualizarla tendrías que regenerar toda la

10:45

caché, con el coste que eso implica.

10:48

Inviable para datos en tiempo real.

10:50

Exacto.

10:51

Y la segunda gran limitación es el propio

10:53

tamaño de la ventana de contexto.

10:55

Aunque son enormes, tienen un límite.

10:58

Una ventana de 128.000 tokens puede albergar unas

11:01

300 páginas.

11:03

Que es mucho.

11:04

Es mucho, pero es insuficiente para bases de

11:06

datos a escala de una gran empresa, que

11:08

pueden tener millones de documentos.

11:10

O sea que, por ejemplo, no podrías cargar

11:12

todo el boletín oficial del Estado, o toda

11:15

la documentación técnica de una multinacional.

11:17

Simplemente no cabe.

11:18

Correcto.

11:19

RAH, en cambio, tiene un tamaño de corpus

11:21

teóricamente ilimitado, porque solo carga los pocos fragmentos

11:25

que necesita en cada consulta.

11:27

Lo que nos lleva a la conclusión lógica.

11:29

No se trata de que una tecnología vaya

11:31

a reemplazar a la otra.

11:33

Para nada.

11:33

Sino de que son herramientas diferentes para problemas

11:36

diferentes.

11:37

O, como sugieren varias de las fuentes, de

11:40

que la solución definitiva podría ser usarlas juntas.

11:44

Esa es precisamente la dirección que está tomando

11:46

la industria, los sistemas híbridos.

11:49

Y la estrategia más común es la de

11:50

clasificar los datos como calientes y fríos.

11:53

¿Puedes explicar qué significa eso en la práctica?

11:56

¿Qué es un dato caliente frente a uno

11:58

frío?

11:59

Piensa en los datos calientes como el núcleo

12:01

de conocimiento estable y de acceso muy frecuente.

12:04

Para una empresa, pues sus políticas internas, manuales

12:07

de producto, las preguntas frecuentes.

12:09

Lo que se pregunta siempre.

12:10

Eso es.

12:11

Esa información se carga en la capa CAG.

12:14

Al estar en la caché, las respuestas a

12:16

las preguntas más comunes son instantáneas.

12:19

Y supongo que RAG se encarga de todo

12:21

lo demás, del conocimiento frío.

12:23

Exacto.

12:24

El conocimiento frío son los datos de nicho,

12:26

los que son muy voluminosos o los que

12:28

cambian a gran velocidad.

12:29

En un sistema híbrido, el flujo sería así.

12:32

Llega la pregunta, el sistema intenta responderla con

12:35

la capa CAG.

12:36

Que es la rápida.

12:36

La rapidísima.

12:38

Si encuentra la respuesta, perfecto.

12:40

Si no, o si la información no es

12:42

suficiente, la consulta se escala y se pasa

12:44

a la capa RAG para que haga una

12:46

búsqueda en tiempo real en la base de

12:48

datos completa.

12:49

Demos un ejemplo más para solidificar la idea.

12:52

Pensemos en un asistente para una tienda online.

12:54

Los datos calientes en la caché de CAG

12:56

serían las políticas de devolución, las especificaciones de

12:59

los productos más vendidos.

13:01

Perfectamente ilustrado.

13:02

Y si un cliente pregunta, ¿dónde está mi

13:05

pedido con número X?

13:07

O, ¿tenéis la talla M de esta camiseta

13:09

en stock ahora mismo?

13:11

Esa es una consulta fría.

13:12

Claro, eso cambia a cada minuto.

13:14

El sistema activaría la capa RAG para consultar

13:17

en tiempo real la base de datos de

13:19

pedidos o el sistema de inventario.

13:21

Así combinas la velocidad de CAG para el

13:24

80% de las consultas comunes con la flexibilidad

13:27

de RAG para el 20% restante.

13:29

¿Esto implica que el sistema necesita una especie

13:32

de director de orquesta que decida qué camino

13:34

tomar con cada pregunta?

13:36

Correcto, y esa es un área de investigación

13:38

muy activa.

13:39

Ya existen mecanismos de enrutamiento inteligente.

13:42

Uno de los estudios que revisamos menciona un

13:44

sistema llamado Self-Route, que entrena al propio modelo

13:48

de lenguaje para que sea él quien decida.

13:51

El propio modelo.

13:52

Sí, le llega una pregunta y el modelo

13:54

predice.

13:55

¿Puedo responder esto con la información de mi

13:57

caché o necesito pedir ayuda externa?

14:00

Así que el modelo se convierte en su

14:03

propio controlador de tráfico de conocimiento y eso

14:06

requiere un entrenamiento muy específico.

14:09

Generalmente requiere un fine tuning para esa tarea

14:11

de clasificación.

14:12

Se le entrena con miles de ejemplos, pero

14:15

lo fascinante es que estos sistemas son muy

14:17

eficientes.

14:18

El estudio de Selfroot demostró que podía alcanzar

14:20

la misma calidad de respuesta, pero usando de

14:23

media solo el 38% de los tokens.

14:26

Es lo mejor de ambos mundos, entonces.

14:28

Velocidad y eficiencia.

14:30

Exacto.

14:31

Notebooks LM, aunque entre bambalinas del podcast siempre

14:34

está Julio Pablo Vázquez, que sigue con su

14:37

vigilancia tecnológica en alerta constante para pescar los

14:41

mejores temas y de más actualidad.

14:43

Además, nos dice que os manda saludos y

14:45

que está muy contento porque acaba de desarrollar

14:48

un sistema propio con Python y Javascript y,

14:50

por supuesto, IA, para automatizar el proceso de

14:53

edición, descripción, transcripción, publicación y programación de todos

14:57

los episodios.

14:58

Ya veis, no solo le vamos a las

15:00

parrafadas, también aplicamos el conocimiento a la práctica

15:03

diaria.

15:04

Gracias a este sistema, que hemos bautizado como

15:06

Autopod, ahora podemos dedicar más tiempo al factor

15:09

humano y minimizar errores.

15:11

Quizá un día le dediquemos un episodio a

15:13

contaros cómo creamos cada episodio, porque hay mucha

15:16

IA y herramientas implicadas.

15:17

¿Os parece interesante?

15:19

Y para cerrar, una reflexión final que se

15:21

deriva de toda esta discusión.

15:23

La tensión entre RAG y CAC, impulsada por

15:27

la explosión de las ventanas de contexto, nos

15:30

obliga a plantearnos una pregunta de diseño fundamental

15:32

para el futuro.

15:34

CAC favorece un enfoque monolítico, centralizar todo el

15:38

conocimiento posible en un único y masivo prompt,

15:41

un gran cerebro precargado.

15:43

Mientras que RAG es modular.

15:45

RAG, por el contrario, aboga por un enfoque

15:47

modular, mantener el conocimiento externo, descentralizado, en una

15:51

biblioteca que se consulta sólo cuando es necesario.

15:54

La pregunta que debemos hacernos es, ¿qué tipo

15:58

de arquitectura de IA queremos construir?

16:02

¿Sistemas con un único y enorme cerebro que

16:05

lo sabe todo de antemano?

16:06

¿O sistemas con un cerebro más ágil y

16:08

especializado que es experto en consultar una vasta

16:11

red de bibliotecas externas?

16:13

Las decisiones que los arquitectos de IA tomen

16:15

hoy entre estos dos modelos definirán la flexibilidad,

16:19

la escalabilidad y, en última instancia, la robustez

16:21

de la inteligencia artificial del mañana.

16:35

Y hasta aquí el episodio de hoy.

16:37

Muchas gracias por tu atención.

16:48

Esto es BIMPRAXIS.

16:50

Nos escuchamos en el próximo episodio.

17:13

¡Gracias!