No mundo em rápida evolução da IA, grandes modelos de linguagem percorreram um longo caminho, ostentando um conhecimento impressionante do mundo ao nosso redor. Ainda
LLMs são modelos de computador capazes de compreender e gerar texto semelhante ao humano. Eles são a IA por trás do seu assistente digital, da função de autocorreção e até de alguns de seus e-mails. Seu conhecimento do mundo costuma ser imenso, mas não é perfeito. Assim como os humanos, os LLMs podem atingir os limites de seu conhecimento, mas, em vez de parar, tendem a fazer suposições ou “alucinar” para concluir a tarefa. Isso pode levar a resultados que contêm informações imprecisas ou enganosas.
Em um mundo simples, a resposta seria fornecer ao modelo informações proprietárias relevantes no momento exato em que é necessário, exatamente quando a consulta é feita. Mas determinar quais informações são "relevantes" nem sempre é simples e requer uma compreensão do que o LLM foi solicitado a realizar. É aqui que o RAG entra em jogo.
Os modelos de incorporação, no mundo da IA, agem como tradutores. Eles transformam documentos de texto em uma grande lista de números, por meio de um processo conhecido como "codificação de documento". Esta lista representa o "entendimento" interno do LLM sobre o significado do documento. Essa sequência de números é conhecida como vetor: uma representação numérica dos atributos de um dado. Cada ponto de dados é representado como um vetor com muitos valores numéricos, onde cada valor corresponde a uma característica ou atributo específico dos dados.
Embora uma sequência de números possa parecer sem sentido para a pessoa comum, esses números servem como coordenadas em um espaço de alta dimensão. Da mesma forma que latitude e longitude podem descrever uma localização em um espaço físico, essa cadeia de números descreve a localização do texto original no espaço semântico, o espaço de todos os significados possíveis.
Tratar esses números como coordenadas nos permite medir a semelhança de significado entre dois documentos. Essa medida é tomada como a distância entre seus respectivos pontos no espaço semântico. Uma distância menor indicaria uma maior semelhança de significado, enquanto uma distância maior sugere uma disparidade de conteúdo. Conseqüentemente, as informações relevantes para uma consulta podem ser descobertas procurando por documentos "próximos" à consulta no espaço semântico. Esta é a mágica da busca por similaridade vetorial.
RAG é uma arquitetura __ de IA generativa que aplica similaridade semântica para descobrir automaticamente informações relevantes para uma consulta.
Em um sistema RAG, seus documentos são armazenados em um banco de dados vetorial (DB). Cada documento é indexado com base em um vetor semântico produzido por um modelo de incorporação para que a localização de documentos próximos a um determinado vetor de consulta possa ser feita rapidamente. Isso significa essencialmente que a cada documento é atribuída uma representação numérica (o vetor), que indica seu significado.
Quando uma consulta chega, o mesmo modelo de incorporação é usado para produzir um vetor semântico para a consulta .
O modelo então recupera documentos semelhantes do banco de dados usando pesquisa vetorial, procurando documentos cujos vetores estejam próximos ao vetor da consulta.
Uma vez recuperados os documentos relevantes, a consulta, juntamente com esses documentos, é utilizada para gerar uma resposta do modelo. Dessa forma, o modelo não precisa depender apenas de seu conhecimento interno, mas pode acessar quaisquer dados que você fornecer no momento certo. O modelo está, portanto, mais bem equipado para fornecer respostas mais precisas e contextualmente adequadas, incorporando dados proprietários armazenados em um banco de dados que oferece pesquisa vetorial como um recurso.
Há um punhado dos chamados “bancos de dados vetoriais” disponíveis, incluindo
O ajuste fino pode ser aplicado ao codificador de consulta e ao gerador de resultados para desempenho otimizado. O ajuste fino é um processo em que os parâmetros do modelo são levemente ajustados para melhor adaptação à tarefa específica em questão.
O ajuste fino oferece muitos benefícios para otimizar LLMs. Mas também tem algumas limitações. Por um lado, não permite a integração dinâmica de dados novos ou proprietários. O conhecimento do modelo permanece estático após o treinamento, levando-o a alucinar quando questionado sobre dados fora de seu conjunto de treinamento. O RAG, por outro lado, recupera e incorpora dinamicamente dados atualizados e proprietários de um banco de dados externo, mitigando o problema de alucinação e fornecendo respostas contextualmente mais precisas. O RAG oferece controle de tempo de consulta sobre exatamente quais informações são fornecidas ao modelo, permitindo que os prompts sejam personalizados para usuários específicos no momento exato em que uma consulta é feita.
O RAG também é computacionalmente mais eficiente e flexível do que o ajuste fino. O ajuste fino requer que todo o modelo seja treinado novamente para cada atualização do conjunto de dados, uma tarefa demorada e com uso intensivo de recursos. Por outro lado, o RAG exige apenas a atualização dos vetores de documentos, permitindo uma gestão mais fácil e eficiente da informação. A abordagem modular do RAG também permite o ajuste fino do mecanismo de recuperação separadamente, permitindo a adaptação a diferentes tarefas ou domínios sem alterar o modelo de linguagem base.
O RAG aumenta o poder e a precisão de grandes modelos de linguagem, tornando-o uma alternativa atraente para o ajuste fino. Na prática, as empresas tendem a usar o RAG com mais frequência do que o ajuste fino.
Integrar RAG em LLMs não apenas melhora a precisão de suas respostas, mas também maximiza seu potencial. O processo permite que os LLMs se concentrem no que eles se destacam em gerar conteúdo de forma inteligente a partir de um prompt. O modelo não é mais a única fonte de informação porque o RAG fornece conhecimento proprietário relevante quando necessário, e o corpus de conhecimento acessível ao modelo pode ser expandido e atualizado sem trabalhos caros de treinamento de modelo.
Em essência, o RAG atua como uma ponte, conectando o LLM a um reservatório de conhecimento que vai além de suas capacidades internas. Como resultado, reduz drasticamente a tendência do LLM de “alucinar” e fornece um modelo mais preciso e eficiente para os usuários.
A DataStax anunciou recentemente a disponibilidade geral do recurso de pesquisa vetorial no Astra DB. Aprenda sobre isso
Por Ryan Michael, DataStax