A IA generativa representa a técnica mais recente que uma empresa pode empregar para desbloquear os dados presos dentro dos seus limites. A maneira mais fácil de conceituar o que é possível com IA generativa é imaginar um modelo de linguagem grande personalizado - semelhante ao que alimenta o ChatGPT - rodando dentro do seu firewall. Agora, este LLM personalizado não é o mesmo que a OpenAI está hospedando na Internet pública. Em vez disso, adquiriu uma “educação avançada” no seu negócio. Isto é feito dando-lhe acesso a um corpus de documentos inacessíveis ao mundo exterior. No entanto, esta nova ferramenta não é um mecanismo de busca convencional que fornecerá uma lista de links que levará horas para ser revisada e filtrada posteriormente. Pelo contrário, é uma solução que pode gerar o conteúdo que você precisa. Com o tempo, você se verá dando comandos e também fazendo perguntas. Abaixo estão alguns exemplos para lhe dar uma ideia do que é possível:
“Encontre as nossas descobertas recentes no mercado de ações europeu.”
“Crie um resumo para minha palestra sobre IA generativa.”
“Encontre tudo o que publicamos neste trimestre.”
Os exemplos acima são cenários de pesquisa, mas um Large Language Model (LLM) bem construído também pode ser usado para suporte ao cliente (chatbot), resumo, pesquisa, tradução e criação de documentos, só para citar alguns.
Estes exemplos simples destacam o poder da IA Generativa – é uma ferramenta para realizar o seu trabalho de forma mais eficiente, em vez de gerar uma lista de leitura.
Essa ferramenta não pode existir por vontade própria e as coisas podem dar muito errado se preocupações como segurança e qualidade dos dados não forem consideradas. Além disso, os modelos que alimentam a IA generativa não podem ser executados em um data center convencional. Eles precisam de um ambiente moderno com ferramentas modernas para gerenciar dados não estruturados (data lake), criar pipelines de IA/ML para seus LLMs (ferramentas de MLOPs) e novas ferramentas que permitam aos LLMs obter a educação necessária em relação ao seu corpus personalizado. (Estou falando de bancos de dados vetoriais para implementação de Retrieval Augmented Generation - explicarei melhor mais adiante neste post).
Neste post, quero abordar em nível conceitual o que deve ser considerado para uma empresa implementar IA generativa com sucesso.
Vamos começar com uma conversa sobre dados.
Uma distinção importante é que os dados necessários para a IA generativa não são os mesmos que os dados utilizados para a IA convencional. Os dados não serão estruturados - especificamente, os dados que você precisa serão documentos trancados em ferramentas como SharePoint, Confluence e compartilhamentos de arquivos em rede. Uma boa solução de IA generativa também pode lidar com conteúdo não textual, como arquivos de áudio e vídeo. Você precisará de um pipeline de dados que colete todos esses dados e os coloque sob o mesmo teto.
Esta pode ser a tarefa mais desafiadora de uma iniciativa de IA generativa. Todos nós sabemos com que rapidez os sites do Confluence e do Sharepoint surgem em uma organização. Não há garantia de que os documentos contidos neles sejam completos, verdadeiros e precisos. Outras preocupações são a segurança, as informações de identificação pessoal e os termos de licenciamento, caso os documentos venham de uma fonte externa.
Depois de identificar os documentos que contêm informações verdadeiras, você precisa de um local para colocá-los. Infelizmente, eles não podem permanecer em seu local original. SharePoint, Confluence e compartilhamentos de arquivos de rede são ferramentas que não foram projetadas para fornecer documentos rapidamente para treinamento e inferência. É aqui que o MinIO entra em jogo. Você desejará armazenar seus documentos em uma solução de armazenamento que tenha todos os recursos com os quais você está acostumado: dimensionável de acordo com suas necessidades , desempenho em escala , confiável , tolerante a falhas e uma interface nativa da nuvem . O resultado final é que você precisa construir um pipeline de dados que agregue dados brutos de várias fontes e depois os transforme para consumo por um LLM. O diagrama abaixo mostra a variedade de fontes que podem existir dentro de uma organização e as verificações de alto nível que devem ocorrer.
Vamos dar uma olhada mais de perto no pipeline de dados, investigando as verificações de segurança e qualidade necessárias para transformar dados brutos em dados de qualidade.
As organizações devem começar fazendo um inventário de todas as fontes de documentos. Para cada fonte documental, todos os documentos encontrados deverão ser catalogados. Os documentos devem ser revisados em relação ao licenciamento e segurança. Alguns documentos podem precisar ser excluídos da sua solução. Uma parte importante deste processo é identificar dados restritos que precisam ser modificados antes de serem incluídos na sua solução de IA generativa.
Depois de revisar seus documentos quanto à segurança e licenciamento, as verificações de qualidade são as próximas. Por exemplo, veracidade, diversidade (se forem sobre pessoas) e redundância. Modelos precisos não podem ser criados sem dados de alta qualidade. Isto é verdade com a IA convencional (aprendizagem supervisionada, aprendizagem não supervisionada e aprendizagem por reforço) - e é especialmente verdade com a IA generativa. Documentos de qualidade inferior, documentos redundantes e documentos que contêm dados imprecisos diluirão as respostas de um LLM ou até mesmo criarão alucinações.
Uma visualização de um pipeline mais detalhado é assim:
Algumas reflexões sobre a importância de uma solução de armazenamento: Seus documentos de qualidade precisam estar em uma solução de armazenamento que possa servir seus dados rapidamente para treinamento, ajuste fino e inferência. Quanto mais experimentos seus engenheiros puderem realizar, melhor será o desempenho dos seus modelos. Você também desejará acompanhar os experimentos, salvar dados processados e criar versões de seus modelos. Isso pode ser feito manualmente salvando essas informações diretamente no MinIO ou usando a ferramenta MLOP de sua escolha. Muitas ferramentas MLOP usam armazenamento de objetos nos bastidores. Por exemplo, MLFlow da DataBricks e KubeFlow do Google usam MinIO. Além disso, a instância do MinIO representada nos diagramas acima deve vir de uma implementação de um data lake moderno. Um data lake moderno é o centro de uma arquitetura de sistema que pode suportar IA.
Vamos prosseguir e discutir como os LLMs podem usar o armazenamento de objetos que contém seus documentos de qualidade.
Nesta seção, veremos duas maneiras de usar LLMs de código aberto e seus documentos de qualidade para gerar conteúdo específico de domínio. Essas duas técnicas são ajuste fino e geração aumentada de recuperação (RAG).
Quando ajustamos um modelo, treinamos um pouco mais com informações personalizadas. Esta pode ser uma boa maneira de obter um LLM específico de domínio. Embora esta opção exija computação para realizar o ajuste fino em seu corpus personalizado, ela não é tão intensiva quanto treinar um modelo do zero e pode ser concluída em um período de tempo modesto.
Se o seu domínio incluir termos não encontrados no uso diário, o ajuste fino melhorará a qualidade das respostas do LLM. Por exemplo, projectos que utilizem documentos de investigação médica, investigação ambiental e qualquer coisa relacionada com as ciências naturais beneficiarão do ajuste fino. O ajuste fino pega o vernáculo altamente específico encontrado em seus documentos e os incorpora aos parâmetros paramétricos do modelo.
Desvantagens
O ajuste fino exigirá recursos de computação.
A explicabilidade não é possível.
Periodicamente, você precisará fazer ajustes com novos dados à medida que seu corpus evolui.
As alucinações são uma preocupação.
Vantagens
O LLM possui conhecimento de seu corpus personalizado por meio de ajuste fino.
Melhor tempo para avaliar em comparação com RAG.
Embora o ajuste fino seja uma boa maneira de ensinar um LLM sobre a linguagem do seu negócio, ele dilui os dados, uma vez que a maioria dos LLMs contém bilhões de parâmetros e seus dados estarão espalhados por todos esses parâmetros.
Vejamos uma técnica que combina seus dados personalizados e dados paramétricos no momento da inferência.
A geração aumentada de recuperação (RAG) é uma técnica que começa com a pergunta sendo feita - casa-a com dados adicionais e, em seguida, passa a pergunta e os dados para um LLM e um banco de dados vetorial para criação de conteúdo. Com o RAG, nenhum treinamento é necessário porque educamos o LLM enviando-lhe trechos de texto relevantes de nosso corpus de documentos de qualidade.
Funciona assim usando uma tarefa de resposta a perguntas: um usuário faz uma pergunta na interface de usuário do seu aplicativo. Seu aplicativo responderá à pergunta - especificamente as palavras nela contidas - e, usando um banco de dados vetorial, pesquisará em seu corpus de documentos de qualidade trechos de texto que sejam contextualmente relevantes. Esses trechos, junto com a pergunta original, são enviados ao LLM. Todo esse pacote - pergunta mais trechos (contexto) é conhecido como prompt. O LLM usará essas informações para gerar sua resposta. Isso pode parecer uma coisa boba de se fazer - se você já sabe a resposta (os trechos), por que se preocupar com o LLM? Bem - lembre-se - isso está acontecendo em tempo real e o objetivo é gerar texto - algo que você pode copiar e colar em sua pesquisa. Você precisa do LLM para criar o texto que incorpora as informações do seu corpus personalizado.
Isso é mais complicado do que o ajuste fino. Você já deve ter ouvido falar sobre bancos de dados vetoriais – eles são um componente chave quando se procura o melhor contexto para uma pergunta. Configurar bancos de dados vetoriais pode ser complicado. Se precisar de uma solução provisória simples, você pode usar uma ferramenta de pesquisa de texto como o Elastic Search. No entanto, os bancos de dados vetoriais são melhores porque podem aprender o significado semântico das palavras e extrair um contexto que usa palavras diferentes com significado igual ou semelhante.
Desvantagens
Requer um banco de dados vetorial.
Maior tempo para avaliar em comparação com o ajuste fino. (Devido ao banco de dados vetorial e ao pré-processamento necessário antes de enviar uma solicitação ao LLM.)
Vantagens
A implementação bem sucedida da IA generativa está ao alcance de qualquer empresa disposta a planear adequadamente.
Como todas as coisas de IA – a IA generativa começa com dados. Os dados necessários aos grandes modelos de linguagem que alimentam a IA generativa são o corpus personalizado que define o conhecimento exclusivo dentro de seus firewalls. Não se limite a documentos baseados em texto. Podem ser usados vídeos de treinamento, reuniões gravadas e eventos gravados em formato de áudio e vídeo. Construir um pipeline de dados não será fácil; é preciso ter cuidado para preservar a segurança e o licenciamento e, ao mesmo tempo, garantir a qualidade.
Os modelos de código aberto eliminam a complexidade do design de modelos e, como a maioria é pré-treinada, também eliminam o alto custo do treinamento inicial. As organizações devem experimentar ajustes finos para ver se isso melhora a qualidade do conteúdo gerado.
Finalmente, a geração aumentada de recuperação (RAG) é uma técnica poderosa que pode ser usada para combinar o conhecimento do corpus personalizado de documentos da sua organização com o conhecimento paramétrico de um LLM. Ao contrário do ajuste fino, as informações do seu corpus não são treinadas nos parâmetros paramétricos do modelo. Em vez disso, os trechos relevantes são localizados no momento da inferência e passados ao modelo como contexto.
A IA generativa é uma nova tecnologia e as novas tecnologias requerem atualizações de infraestrutura. Para organizações que levam a sério a IA generativa, a próxima etapa é criar uma arquitetura de sistema que inclua um pipeline de IA/ML, um pipeline de dados, um data lake moderno e um banco de dados vetorial (se o RAG for utilizado). Neste post, abordei essas tecnologias em alto nível.
Fique ligado neste blog para uma explicação mais detalhada da arquitetura de sistema de IA generativa. Se você tiver alguma dúvida, envie-nos um email para [email protected] ou junte-se à comunidade do Slack .
Também aparece aqui .