Geração aumentada de recuperação usando o fluxo de prompt do Azure Machine Learning (visualização)

Importante

Esta funcionalidade está atualmente em pré-visualização pública. Esta versão de pré-visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas.

Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

A Geração Aumentada de Recuperação (RAG) é um padrão que funciona com modelos de linguagem grande (LLM) pré-treinados e seus próprios dados para gerar respostas. No Azure Machine Learning, agora pode implementar o RAG num fluxo imediato. De momento, o suporte para RAG está em pré-visualização pública.

Este artigo lista alguns dos benefícios do RAG, fornece uma visão geral técnica e descreve o suporte do RAG no Azure Machine Learning.

Nota

Novo nos conceitos de LLM e RAG? Este clipe de vídeo de uma apresentação da Microsoft oferece uma explicação simples.

Porquê usar o RAG?

Tradicionalmente, um modelo base é treinado com dados point-in-time para garantir sua eficácia na execução de tarefas específicas e adaptação ao domínio desejado. No entanto, às vezes você precisa trabalhar com dados mais recentes ou mais atuais. Duas abordagens podem complementar o modelo base: ajuste fino ou treinamento adicional do modelo base com novos dados, ou RAG que usa engenharia imediata para complementar ou orientar o modelo em tempo real.

O ajuste fino é adequado para a adaptação contínua do domínio, permitindo melhorias significativas na qualidade do modelo, mas muitas vezes incorrendo em custos mais altos. Por outro lado, o RAG oferece uma abordagem alternativa, permitindo o uso do mesmo modelo como um mecanismo de raciocínio sobre novos dados fornecidos em um prompt. Esta técnica permite a aprendizagem no contexto sem a necessidade de ajustes finos dispendiosos, capacitando as empresas a usar LLMs de forma mais eficiente.

O RAG permite que as empresas alcancem soluções personalizadas, mantendo a relevância dos dados e otimizando os custos. Ao adotar o RAG, as empresas podem usar os recursos de raciocínio dos LLMs, utilizando seus modelos existentes para processar e gerar respostas com base em novos dados. A RAG facilita atualizações periódicas de dados sem a necessidade de ajustes, simplificando a integração de LLMs nas empresas.

  • Fornecer dados suplementares como uma diretiva ou um prompt para o LLM
  • Adiciona um componente de verificação de fatos em seus modelos existentes
  • Treine seu modelo com dados atualizados sem incorrer em tempo e custos adicionais associados ao ajuste fino
  • Treine com base nos dados específicos da sua empresa

Visão geral técnica do uso do RAG em modelos de linguagem grande (LLMs)

Na recuperação de informações, o RAG é uma abordagem que permite que você aproveite o poder dos LLMs com seus próprios dados. Permitir que um LLM acesse dados personalizados envolve as etapas a seguir. Primeiro, os dados grandes devem ser divididos em partes gerenciáveis. Em segundo lugar, os blocos precisam ser convertidos em um formato pesquisável. Em terceiro lugar, os dados convertidos devem ser armazenados num local que permita um acesso eficiente. Além disso, é importante armazenar metadados relevantes para citações ou referências quando o LLM fornece respostas.

Captura de tela de um diagrama da visão geral técnica de um LLM andando pelas etapas de trapo.

Vejamos o diagrama com mais detalhes.

  • Dados de origem: é aqui que os seus dados existem. Pode ser um arquivo/pasta em sua máquina, um arquivo no armazenamento em nuvem, um ativo de dados do Azure Machine Learning, um repositório Git ou um banco de dados SQL.

  • Fragmentação de dados: os dados em sua fonte precisam ser convertidos em texto sem formatação. Por exemplo, documentos do Word ou PDFs precisam ser abertos e convertidos em texto. O texto é então fragmentado em pedaços menores.

  • Convertendo o texto em vetores: chamados embeddings. Os vetores são representações numéricas de conceitos convertidos em sequências numéricas, o que torna mais fácil para os computadores entenderem as relações entre esses conceitos.

  • Links entre dados de origem e incorporações: essas informações são armazenadas como metadados nas partes criadas, que são usadas para ajudar os LLMs a gerar citações enquanto geram respostas.

RAG com o Azure Machine Learning (visualização)

O RAG no Azure Machine Learning é habilitado pela integração com o Serviço OpenAI do Azure para modelos de linguagem grandes e vetorização, com suporte para Faiss e Azure AI Search (anteriormente Cognitive Search) como repositórios vetoriais e suporte para ferramentas e estruturas de ofertas de código aberto, como LangChain para fragmentação de dados.

Para implementar a RAG, alguns requisitos essenciais devem ser atendidos. Primeiro, os dados devem ser formatados de forma a permitir uma pesquisa eficiente antes de enviá-los para o LLM, o que, em última análise, reduz o consumo de tokens. Para garantir a eficácia do RAG, também é importante atualizar regularmente seus dados periodicamente. Além disso, ter a capacidade de avaliar a saída do LLM usando seus dados permite que você meça a eficácia de suas técnicas. O Azure Machine Learning não só permite que você comece facilmente nesses aspetos, mas também permite que você melhore e produza RAG. O Azure Machine Learning oferece:

  • Exemplos para iniciar cenários de P&R baseados em RAG.
  • Experiência de interface do usuário baseada em assistente para criar e gerenciar dados e incorporá-los em fluxos de prompt.
  • Capacidade de medir e aprimorar fluxos de trabalho RAG, incluindo geração de dados de teste, criação automática de prompts e métricas de avaliação de prompt visualizadas.
  • Cenários avançados com mais controle usando os novos componentes RAG integrados para criar pipelines personalizados em notebooks.
  • Experiência de código, que permite a utilização de dados criados com ofertas de código aberto como LangChain.
  • Integração perfeita de fluxos de trabalho RAG em fluxos de trabalho MLOps usando pipelines e trabalhos.

Conclusão

O Azure Machine Learning permite que você incorpore o RAG em sua IA usando o estúdio do Azure Machine Learning ou usando código com pipelines do Azure Machine Learning. Ele oferece várias adições de valor, como a capacidade de medir e aprimorar fluxos de trabalho RAG, geração de dados de teste, criação automática de prompts e visualizar métricas de avaliação imediata. Ele permite a integração de fluxos de trabalho RAG em fluxos de trabalho MLOps usando pipelines. Você também pode usar seus dados com ofertas de código aberto como LangChain.

Próximos passos

Usar Repositórios de Vetores com o Azure Machine Learning (visualização)

Como criar índice de vetor no fluxo de prompt do Aprendizado de Máquina do Azure (visualização)