As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Compreensão LLMs e RAG
Para entender como o aprimoramento da qualidade do documento de origem melhora a qualidade de uma resposta do RAG, você deve entender o funcionamento interno de um LLM. O verdadeiro poder do LLMs está em sua capacidade de usar mecanismos de autoatenção e arquiteturas de transformadores. Essas técnicas avançadas permitem que os modelos processem e relacionem com eficácia diferentes partes da sequência de entrada, independentemente de sua posição ou distância dentro do texto. Esse recurso contrasta fortemente com os modelos de linguagem tradicionais, que geralmente têm dificuldades com dependências de longo alcance e compreensão do contexto. Além disso, LLMs são treinados em uma escala sem precedentes. Alguns dos maiores modelos são compostos por trilhões de parâmetros e ingeriram terabytes de dados textuais de diversas fontes. Essa escala massiva permite LLMs desenvolver uma compreensão rica da linguagem, capturando nuances sutis, expressões idiomáticas e dicas contextuais que antes eram desafiadoras para os sistemas de IA. O resultado é uma classe de modelos que pode gerar texto coerente e fluente e demonstrar recursos notáveis em tarefas como resposta a perguntas, resumo de texto e até geração de código.
Para usar esses modelos, podemos recorrer a serviços como o Amazon Bedrock, que fornece acesso a uma variedade de modelos básicos da Amazon e de fornecedores terceirizados, incluindo Anthropic, Cohere e Meta. Você pode usar o Amazon Bedrock para experimentar state-of-the-art modelos, personalizá-los e ajustá-los ou incorporá-los às suas soluções generativas baseadas em IA por meio de uma única API.
Embora sejam LLMs excelentes em capturar padrões e gerar texto coerente, eles geralmente não têm acesso up-to-date ou informações especializadas. O RAG combina o poder generativo de LLMs com um componente de recuperação que pode acessar e incorporar informações relevantes de fontes externas, como parte do prompt materializado do LLM. Exemplos de fontes externas incluem bases de conhecimento do Amazon Bedrock, sistemas de busca inteligentes, como o Amazon Kendra, ou bancos de dados vetoriais, como o Amazon Service. OpenSearch
O diagrama descreve o seguinte fluxo de trabalho:
-
O usuário envia uma consulta ao aplicativo RAG.
-
O aplicativo RAG consulta um banco de dados vetorial que contém fontes de conhecimento, como documentos, dados ou mídia.
-
O aplicativo RAG recupera as informações relevantes do banco de dados vetoriais com base nas semelhanças semânticas entre a consulta e os documentos armazenados.
-
O aplicativo RAG aumenta o prompt original com o contexto recuperado e o envia para o endpoint do LLM.
-
O endpoint LLM gera uma resposta e a retorna ao aplicativo RAG.
-
O aplicativo RAG retorna a resposta gerada ao usuário.
Em sua essência, o RAG emprega um processo de dois estágios. No primeiro estágio, um modelo de recuperação identifica e recupera documentos ou passagens relevantes com base na consulta de entrada. Esse modelo de recuperação pode ser um sistema tradicional de recuperação de informações, um modelo de recuperação denso ou uma combinação de ambos. No segundo estágio, as informações recuperadas e a consulta original são inseridas em um LLM como um modelo de prompt totalmente materializado. LLMs dependem muito da qualidade do conteúdo de origem fornecido pelo componente recuperador. Eles aplicam um mecanismo de autoatenção para codificar matematicamente como o conteúdo recuperado se relaciona com a tarefa. O LLM então gera uma resposta com base na consulta e nas informações recuperadas. No RAG, controlar a qualidade dos documentos de origem recuperados representa um meio direto de melhorar a representação interna de uma tarefa por um LLM. O RAG aumenta efetivamente os dados de treinamento do LLM com dados externos relevantes. Essa abordagem permite que o RAG aproveite os pontos fortes de ambos LLMs e dos sistemas de recuperação, permitindo a geração de respostas mais precisas e informadas que incorporem conhecimento atual e especializado.
Vetores e incorporações
Vetores e incorporações são conceitos fundamentais em aprendizado de máquina e processamento de linguagem natural. Vetores são objetos matemáticos que representam quantidades que têm magnitude e direção. No contexto do processamento de linguagem natural (PNL), palavras, frases ou documentos são frequentemente representados como vetores em espaços vetoriais de alta dimensão. As incorporações, por outro lado, são uma forma de representar objetos como palavras ou documentos em um espaço vetorial de menor dimensão, onde as relações entre os vetores capturam semelhanças semânticas ou sintáticas. A incorporação de palavras, por exemplo, permite que palavras com significados semelhantes tenham representações vetoriais semelhantes. Isso ajuda os algoritmos a entender e processar a linguagem com mais eficiência.
bancos de dados vetoriais
Na IA generativa, um banco de dados vetorial é um banco de dados que armazena e gerencia representações vetoriais de documentos, consultas ou outros objetos. Ele foi projetado para armazenar e recuperar vetores com eficiência. Isso oferece suporte a operações rápidas e escaláveis, como pesquisa semântica e correspondência por similaridade. Os bancos de dados vetoriais indexam vetores usando estruturas de dados especializadas, como gráficos Hierarchical Navigable Small World (HNSW) ou algoritmos K-Nearest Neighbors (KNN). Essas estruturas de dados permitem pesquisas rápidas nos vizinhos mais próximos, possibilitando encontrar rapidamente vetores semelhantes no banco de dados.
Pesquisa semântica
A pesquisa semântica é uma técnica que melhora a relevância dos resultados da pesquisa ao entender a intenção e o contexto da consulta, em vez de apenas combinar palavras-chave. Em termos técnicos, a pesquisa semântica envolve a comparação das representações vetoriais da consulta e dos documentos no banco de dados para encontrar as correspondências mais relevantes. Diferentes estratégias de recuperação podem ser usadas para pesquisa semântica, incluindo, mas não se limitando a:
-
HNSW — Uma estrutura de dados baseada em gráficos que organiza vetores de forma a tornar eficiente a busca por vizinhos mais próximos.
-
KNN — Um algoritmo que encontra os K vetores mais próximos de um vetor de consulta com base em uma métrica de distância, como similaridade de cosseno.
-
Similaridade de cosseno — Uma medida de similaridade entre dois vetores diferentes de zero que mede o cosseno do ângulo entre eles. É frequentemente usado na pesquisa semântica para comparar a direção dos vetores em um espaço de alta dimensão.
-
Hash sensível à localidade (LSH) — Uma técnica que faz o hash de vetores semelhantes aos mesmos buckets ou a buckets próximos com alta probabilidade. Isso permite pesquisas aproximadas no vizinho mais próximo, que podem ser mais rápidas do que pesquisas exatas em espaços de alta dimensão.