paint-brush
Como os LLMs e a pesquisa de vetores revolucionaram a criação de aplicativos de IApor@datastax
1,283 leituras
1,283 leituras

Como os LLMs e a pesquisa de vetores revolucionaram a criação de aplicativos de IA

por DataStax4m2023/06/14
Read on Terminal Reader

Muito longo; Para ler

IA generativa e modelos de linguagem grande (LLMs) estão gerando muita empolgação. Eles despertaram a imaginação do público em geral por causa de quão úteis podem ser quando solicitados para ajudar a escrever um texto. Mas para os desenvolvedores, eles são ainda mais revolucionários, porque simplificaram como os aplicativos de IA podem ser criados. Vamos dar uma olhada no porquê.
featured image - Como os LLMs e a pesquisa de vetores revolucionaram a criação de aplicativos de IA
DataStax HackerNoon profile picture
0-item
1-item
2-item


IA generativa e modelos de linguagem grande (LLMs) estão gerando muita empolgação. Eles despertaram a imaginação do público em geral por causa de quão úteis podem ser quando solicitados para ajudar a escrever um texto. Mas para os desenvolvedores, eles são ainda mais revolucionários, porque simplificaram drasticamente a maneira como os aplicativos de IA podem ser criados. Vamos dar uma olhada no porquê.

Por que a IA era difícil até muito recentemente

Tradicionalmente, a maneira como você cria um aplicativo de IA tem sido um processo de quatro etapas:


  1. Codifique as partes mais relevantes de seus dados como vetores. Entender quais são as “peças mais relevantes” é um problema difícil e geralmente envolve a construção de um modelo separado apenas para descobrir isso, em vez de fazer uma suposição fundamentada. Extrair as partes relevantes dos dados brutos é outro problema difícil. (Estes são problemas importantes, e é por isso que construímos Kaskada para resolvê-los .)
  2. Treine um modelo usando esses vetores para atingir seu objetivo. Por exemplo, um dos objetivos mais importantes da Netflix é prever "o que Jonathan vai querer assistir quando fizer login". Se você tiver um problema comum, como reconhecimento de imagem, poderá "ajustar" um modelo existente em vez de começar do zero, mas esse é um território com muitos gpus por horas ou dias.
  3. Implante o modelo e exponha-o como uma API.
  4. Para executá-lo em produção, execute seus dados em tempo real por meio da mesma codificação da etapa 1 e, em seguida, envie-os por meio do modelo que você criou e implantou para fazer sua previsão ("inferência").

O passo 3 é geralmente simples (embora não sem desafios ); as etapas 1, 2 e 4 envolvem soluções sob medida que podem exigir habilidades difíceis de encontrar.


Não surpreendentemente, quando um domínio de problema requer uma equipe de PhDs para resolvê-lo com sucesso, será proibitivo em termos de custo e habilidade para todas as empresas, exceto algumas.

Por que a IA é fácil agora com LLMs

Uma razão pela qual todos estão tão empolgados com a IA generativa com LLMs é porque muitas vezes você pode resolver um problema "bem o suficiente" sem nenhuma das etapas acima. Com IA generativa, seu trabalho é:


  1. Descubra como colocar seus dados no GPT como texto
  2. Formule consultas sobre esses dados em inglês


É isso, realmente. Todo o resto são detalhes.


O detalhe mais importante: quais dados você fornece ao GPT na etapa 1? Você não pode jogar tudo nele; ele só pode lidar com tokens de 4k em GPT-3.5 ou até 32k em GPT-4, que é muito mais lento e mais caro.


A pesquisa vetorial permite que você pegue a consulta exata que você já criou para enviar ao GPT e jogue-a no seu banco de dados, onde você coloca tudo o que sabe sobre o cliente. A pesquisa vetorial responde literalmente "quais são os dados mais relevantes para esta consulta" sem nenhum esforço adicional de sua parte - é quase mágico.

(Acredito firmemente que a pesquisa de vetores deve ser um recurso do banco de dados principal do aplicativo e não um sistema separado, e é por isso que nós o adicionamos ao Apache Cassandra e DataStax Astra DB .)


Depois de ter seus dados mais relevantes e sua consulta, você os agrupa e faz uma chamada para OpenAI, obtém sua resposta e pronto. (Estou passando por cima de alguns desafios, como “ como você consegue que um LLM responda em um formato estritamente definido para que você possa consumir a resposta e incorporá-la ao seu aplicativo”, mas esses são os tipos de desafios que os engenheiros de software já sabem resolver.)


Portanto, um provedor de conteúdo de streaming usaria dados como: todas as sessões que Jonathan já passou com título, atores e categoria; quanto tempo ele assistiu; mais todos os metadados que podemos criar e, em seguida, desnormalize tudo em um único blob de texto e execute-o no codificador para obter um vetor.


E se fosse Netflix, seria super fácil, porque Netflix já tem seus dados no Cassandra , então não haveria necessidade de criar um novo sistema ou contratar PhDs. Você só precisa que seus desenvolvedores escrevam uma consulta para reunir esses metadados em uma única tabela e enviar cada linha para o Google Palma ou OpenAI's Ada API para transformá-los em vetores (chamados incorporações ).


Feito isso, você pode buscar as linhas relevantes do Cassandra com uma consulta como esta, where ? é uma variável de ligação para seu vetor de consulta que você obtém da mesma API de incorporação:


 SELECT original_data_text FROM user_recommendation_data WHERE user_id = 'jonathan' ORDER BY embedding ANN OF ? LIMIT 20


Em seguida, você adiciona esses resultados ao prompt do LLM e … é isso. Agora você tem um sistema de recomendação que construiu em uma semana sem PhDs, apenas Astra DB e seu LLM de escolha.

O modelo tradicional ainda é útil?

Travis Fisher está certo quando ele diz para considerar apenas o ajuste fino ou modelos personalizados depois de esgotar abordagens mais simples com LLMs. No entanto, os LLMs são mais lentos e mais caros do que os modelos personalizados com vetores de recursos menores e/ou mais cuidadosamente ajustados. Além disso, em casos de uso como o da Netflix, em que você deseja obter entradas legíveis por máquina e recuperar saídas legíveis por máquina, geralmente é possível obter resultados mais precisos com um modelo personalizado do que com o texto e o inglês.


Mas mesmo que você precise criar um modelo personalizado, os LLMs podem ajudar na geração de dados, rótulos e recursos para isso. Isso, porém, é assunto para outro artigo!

Como posso experimentar isso?

eu recomendo a leitura Rumo ao artigo da Data Science cobrindo o próximo nível abaixo sobre como tudo isso funciona. Então inscrever-se para Astra DB habilitado para pesquisa vetorial e inscreva-se para nosso webinar de 15 de junho na busca de vetores para LLMs. Prepare-se: vai ser divertido!



Por Jonathan Ellis, DataStax