Grandes modelos de linguagem (LLMs)
O que são grandes modelos de linguagem (LLMs)?
Os grandes modelos de linguagem (LLMs) são uma nova classe de modelos de processamento de linguagem natural (PLN) que superaram significativamente seus antecessores em termos de desempenho e capacidade em inúmeras tarefas, como resposta a perguntas abertas, chat, resumo de conteúdo, execução de instruções quase arbitrárias e tradução, bem como geração de conteúdo e código. Os LLMs são treinados a partir de datasets massivos usando algoritmos avançados de machine learning para aprender os padrões e as estruturas da linguagem humana.
Continue explorando
e-book: The Big Book of MLOps
Leitura obrigatória para engenheiros de ML e data scientists que desejam otimizar sua prática de MLOps
Aproveite o potencial dos LLMs
Como aumentar a eficiência e reduzir os custos com IA.
Construa seu próprio LLM, como a Dolly
Descubra como ajustar e implantar seu LLM personalizado.
Como funcionam os grandes modelos de linguagem (LLMs)?
Os grandes modelos de linguagem, ou LLMs, geralmente têm três elementos de arquitetura:
- Codificador: depois que um tokenizador converte grandes quantidades de texto em tokens, que são valores numéricos, o codificador cria incorporações significativas de tokens que colocam palavras com significados semelhantes próximas umas das outras no espaço vetorial.
- Mecanismos de atenção: esses algoritmos são usados em LLMs que permitem que o modelo se concentre em partes específicas do texto de entrada, para palavras relacionadas de texto. Isso não é separado do codificador e do decodificador.
- Decodificador: o tokenizador converte os tokens de volta em palavras para que possamos entender. Nesse processo, o LLM prevê a próxima palavra, e a próxima, continuando por milhões de palavras. Depois que concluem seu processo de treinamento, os modelos podem realizar novas tarefas, como responder a perguntas, traduzir idiomas, fazer pesquisa semântica e muito mais.
Como funcionam os LLMs?
Uma versão simplificada do processo de treinamento de LLM
Saiba mais sobre transformadores, a base de todo LLM
Qual é a história de grandes modelos de linguagem (LLMs)?
As técnicas usadas nos LLMs são o ápice da pesquisa e do trabalho no campo da inteligência artificial, que teve origem na década de 1940.
Década de 1940
O primeiro artigo científico sobre redes neurais foi publicado em 1943.
1989
Um artigo científico foi publicado por Lecun sobre o reconhecimento de dígitos mostrando que uma rede de propagação traseira pode ser aplicada a problemas de reconhecimento de imagem.
2012
Um artigo de Hinton et al mostrou redes neurais profundas que superam significativamente quaisquer modelos anteriores de reconhecimento de fala.
Uma rede neural convolucional (AlexNet) diminuiu a taxa de erro existente no reconhecimento visual do Imagenet, tornando-se a primeira a romper a precisão de 75%. Ela destacou novas técnicas, incluindo o uso de GPUs para treinar modelos.
2017
Um artigo inovador, "Atenção é tudo o que você precisa", introduziu a arquitetura do transformador, que é a arquitetura subjacente a todos os modelos de LLM.
2018
O Google introduz o BERT (Representações de Codificador Bidirecional de Transformadores), que é um grande salto na arquitetura e abre caminho para futuros grandes modelos de linguagem.
2020
A OpenAI lança o GPT-3, que se torna o maior modelo com 175 bilhões de parâmetros e define um novo benchmark de desempenho para tarefas relacionadas à linguagem.
2022
O ChatGPT é lançado, o que transforma o GPT-3 e modelos semelhantes em um serviço amplamente acessível aos usuários por meio de uma interface web e desencadeia um enorme aumento na conscientização pública de LLMs e IA generativa.
2023
Os LLMs de código aberto mostram resultados cada vez mais impressionantes com lançamentos como LLaMA 2, Falcon e MosaicML MPT. O GPT-4 também foi lançado, definindo um novo benchmark para o tamanho e o desempenho dos parâmetros.
Quais são os casos de uso para LLMs?
Os LLMs podem impulsionar o impacto nos negócios em todos os casos de uso e em diferentes setores. Exemplos de casos de uso incluem:
- Chatbots e assistentes virtuais: os LLMs são usados para que os chatbots possam dar a clientes e funcionários a capacidade de ter conversas abertas para ajudar no suporte ao cliente, acompanhamento de leads do site e ser um assistente pessoal.
- Geração e depuração de código: os LLMs podem gerar trechos de código úteis, identificar e corrigir erros no código e programas completos com base em instruções de entrada.
- Análise de sentimento: os LLMs podem entender automaticamente o sentimento de um trecho de texto para automatizar o entendimento da satisfação do cliente.
- Classificação e agrupamento de texto: os LLMs podem organizar, categorizar e classificar grandes volumes de dados para identificar temas comuns e tendências para dar suporte à tomada de decisão informada.
- Tradução de idiomas: os LLMs podem traduzir documentos e páginas da web para diferentes idiomas.
- Resumo e paráfrase: os LLMs podem resumir artigos, ligações de clientes ou reuniões e apresentar os pontos mais importantes.
- Geração de conteúdo: os LLMs podem desenvolver um esboço ou escrever um novo conteúdo que pode ser um bom rascunho para servir de base.
Quais são alguns clientes em que os LLMs foram implantados de forma eficaz?
JetBlue
A JetBlue implementou o "BlueBot", um chatbot que usa modelos de IA generativa de código aberto complementados por dados corporativos, com tecnologia da Databricks. Esse chatbot pode ser usado por todas as equipes da JetBlue para obter acesso a dados que são governados por função. Por exemplo, a equipe de finanças pode ver os dados da SAP e os registros regulatórios, mas a equipe de operações só verá as informações de manutenção.
Chevron Phillips
A Chevron Phillips Chemical usa a Databricks para apoiar suas iniciativas de IA generativa, incluindo a automação de processos de documentos.
Thrivent Financial
A Thrivent Financial está usando a IA generativa para melhorar as pesquisas, produzir insights mais resumidos e acessíveis e aumentar a produtividade da engenharia.
Por que os grandes modelos de linguagem (LLMs) estão se tornando tão populares?
Há muitos avanços tecnológicos recentes que levaram os LLMs para o centro das atenções:
- Avanço das tecnologias de machine learning
- Os LLMs usam muitos avanços nas técnicas de ML. A mais notável é a arquitetura do transformador, que é a arquitetura subjacente à maioria dos modelos de LLM.
- Maior acessibilidade
- A liberação do ChatGPT abriu as portas para qualquer pessoa com acesso à internet possa interagir com um dos LLMs mais avançados por meio de uma interface web simples. Isso permite que o mundo entenda o poder dos LLMs.
- Maior poder computacional
- A disponibilidade de recursos de compute mais poderosos, como unidades de processamento gráfico (GPUs), e melhores técnicas de processamento de dados permitiram que pesquisadores treinassem modelos muito maiores.
- Quantidade e qualidade dos dados de treinamento
- A disponibilidade de grandes datasets e a capacidade de processá-los melhoraram drasticamente o desempenho do modelo. Por exemplo, o GPT-3 foi treinado em big data (cerca de 500 bilhões de tokens) que incluiu subconjuntos de dados de alta qualidade, como o dataset WebText2 (17 milhões de documentos), que contém páginas da web rastreadas publicamente com ênfase na qualidade.
Como posso personalizar um LLM com os dados da minha organização?
Existem quatro padrões de arquitetura a considerar ao personalizar uma aplicação de LLM com os dados da sua organização. Essas técnicas são descritas abaixo e não são mutuamente exclusivas. Em vez disso, elas podem (e devem) ser combinadas para aproveitar os pontos fortes de cada uma.
Método | Definição | Caso de uso principal | Requisitos de dados | Vantagens | Considerações |
---|---|---|---|---|---|
Elaboração de prompts especializados para orientar o comportamento do LLM | Orientação rápida e instantânea do modelo | Nenhuma | Rápida, econômica, sem necessidade de treinamento | Menos controle do que o ajuste fino | |
Combinar um LLM com recuperação de conhecimento externo | Datasets dinâmicos e conhecimento externo | Base de conhecimento externa ou base de dados (por exemplo, base de dados vetorial) | Contexto atualizado dinamicamente, maior precisão | Aumenta o comprimento do prompt e o cálculo da inferência | |
Adaptando um LLM pré-treinado a datasets ou domínios específicos | Especialização de domínio ou tarefa | Milhares de exemplos específicos de domínio ou instruções | Controle granular, alta especialização | Exige dados rotulados, custo computacional | |
Treinar um LLM do zero | Tarefas exclusivas ou corpora específicos do domínio | Grandes datasets (bilhões a trilhões de tokens) | Controle máximo, personalizado para necessidades específicas | Extremamente intensivo em recursos |
Independentemente da técnica selecionada, a criação de uma solução de maneira bem estruturada e modularizada garante que as organizações estejam preparadas para iterar e se adaptar. Saiba mais sobre essa abordagem e muito mais em The Big Book of MLOps.
O que significa engenharia de prompt no contexto de grandes modelos de linguagem (LLMs)?
A engenharia de prompt é a prática de ajustar os prompts de texto dados a um LLM para obter respostas mais precisas ou relevantes. Nem todo modelo de LLM produzirá a mesma qualidade, já que a engenharia de prompt é específica do modelo. Algumas dicas genéricas que funcionam para diversos modelos incluem:
- Use prompts claros e concisos, que podem incluir instruções, contexto (se necessário), query ou entrada do usuário e uma descrição do tipo ou formato de saída desejado.
- Forneça exemplos em seu prompt ("aprendizado rápido") para ajudar o LLM a entender o que você deseja.
- Diga ao modelo como se comportar. Por exemplo, diga a ele para admitir se não conseguir responder a uma pergunta.
- Diga ao modelo para pensar passo a passo ou explicar seu raciocínio.
- Se o seu prompt incluir entrada do usuário, use técnicas para evitar a invasão do prompt, como deixar bem claro quais partes do prompt correspondem à sua instrução e quais correspondem à entrada do usuário.
O que significa geração aumentada de recuperação (RAG) no contexto de grandes modelos de linguagem (LLMs)?
A geração aumentada de recuperação (RAG) é uma abordagem de arquitetura que pode melhorar a eficácia das aplicações de grandes modelo de linguagem (LLM), usando dados personalizados. Isso é feito recuperando dados/documentos relevantes para uma pergunta ou tarefa e fornecendo-os como contexto para o LLM. A RAG mostrou sucesso no suporte a chatbots e sistemas de perguntas e respostas que precisam manter informações atualizadas ou acessar conhecimento específico do domínio.
Saiba mais sobre a RAG aqui.
O que significa fazer ajuste fino em grandes modelos de linguagem (LLMs)?
Ajuste fino é o processo de adaptação de um LLM pré-treinado em um dataset comparativamente menor que é específico a um domínio ou tarefa individual. Durante o processo de ajuste fino, ele continua treinando por um curto período, possivelmente ajustando um número relativamente menor de pesos em comparação com todo o modelo.
O termo "ajuste fino" pode se referir a vários conceitos, e as duas formas mais comuns são:
- Ajuste fino de instruções supervisionadas: essa abordagem envolve o treinamento contínuo de um LLM pré-treinado em um dataset de exemplos de treinamento de entrada e saída — geralmente conduzidos com milhares de exemplos de treinamento.
- Pré-treinamento contínuo: esse método de ajuste fino não depende de exemplos de entrada e saída, mas usa texto não estruturado específico do domínio para continuar o mesmo processo de pré-treinamento (por exemplo, próxima previsão de token, modelagem de linguagem mascarada).
O que significa pré-treinar um grande modelo de linguagem (LLM)?
Pré-treinar um modelo de LLM do zero refere-se ao processo de treinamento de um modelo de linguagem em um grande volume de dados (por exemplo, texto ou código) sem usar nenhum conhecimento ou peso prévio de um modelo existente. É o oposto do ajuste fino, no qual um modelo já pré-treinado é ainda mais adaptado a uma tarefa ou dataset específico. O resultado do pré-treinamento completo é um modelo básico que pode ser usado diretamente ou ajustado para tarefas downstream. O pré-treinamento é tipicamente a maior e mais cara tarefa de treinamento, e não é comum para as necessidades da maioria das organizações.
Quais são os LLMs mais comuns e quais são as diferenças entre eles?
O campo dos grandes modelos de linguagem está repleto de opções. De modo geral, você pode agrupar LLMs em duas categorias: serviços proprietários e modelos de código aberto.
Serviços proprietários
O LLM mais popular é o ChatGPT da OpenAI, que foi lançado com muito alarde. O ChatGPT oferece uma interface de pesquisa amigável em que os usuários podem alimentar prompts e, em geral, receber uma resposta rápida e relevante. Os desenvolvedores podem acessar a API do ChatGPT para integrar esse LLM em seus próprios aplicativos, produtos ou serviços. Outros serviços incluem o Google Bard e o Claude da Anthropic.
Modelos de código aberto
Outra opção é auto-hospedar um LLM, normalmente usando um modelo de código aberto e disponível para uso comercial. A comunidade de código aberto alcançou rapidamente o desempenho dos modelos proprietários. Modelos populares de LLM de código aberto incluem Llama 2 do Meta, e MPT do MosaicML (adquirido pela Databricks).
Como avaliar a melhor escolha
As maiores considerações e diferenças na abordagem entre o uso de uma API de um fornecedor terceirizado fechado em relação à auto-hospedagem do seu próprio modelo LLM de código aberto (ou com ajuste fino) incluem ser à prova de futuro, gerenciar custos e aproveitar seus dados como uma vantagem competitiva. Modelos proprietários podem ser preteridos e removidos, quebrando seus pipelines existentes e índices vetoriais; modelos de código aberto estarão acessíveis a você para sempre. Modelos de código aberto e ajustados podem oferecer mais opções e personalização para sua aplicação, permitindo uma relação melhor entre custo e desempenho. O planejamento para o ajuste fino futuro de seus próprios modelos permitirá aproveitar os dados da sua organização como uma vantagem competitiva para criar modelos melhores do que os disponíveis publicamente. Finalmente, os modelos proprietários podem suscitar preocupações de governança, pois esses LLMs de "caixa preta" permitem menos supervisão de seus processos de treinamento e pesos.
Hospedar seus próprios modelos de LLM de código aberto exige mais trabalho do que usar LLMs proprietários. O MLflow da Databricks facilita para alguém com experiência em Python usar qualquer modelo de transformador como um objeto Python.
Como escolher qual LLM usar com base em um conjunto de critérios de avaliação?
Avaliar LLMs é uma atribuição desafiadora e em evolução, principalmente porque os LLMs geralmente demonstram capacidades desiguais em diferentes tarefas. Um LLM pode se destacar em um benchmark, mas pequenas variações na solicitação ou no problema podem afetar drasticamente o desempenho.
Algumas ferramentas e benchmarks proeminentes usados para avaliar o desempenho do LLM incluem:
- MLflow
- Fornece um conjunto de ferramentas LLMops para avaliação de modelos.
- Mosaic Model Gauntlet
- Uma abordagem de avaliação agregada, categorizando a competência do modelo em seis domínios amplos (mostrados abaixo), em vez de resumi-la a uma única métrica monolítica.
- O Hugging Face reúne centenas de milhares de modelos de colaboradores abertos do LLM
- BIG-bench (benchmark além do Jogo da Imitação)
- Uma estrutura dinâmica de benchmarking, que atualmente hospeda mais de 200 tarefas, com foco na adaptação a futuros recursos de LLM.
- Avaliação de LM EleutherAI
- Uma estrutura holística que avalia modelos em mais de 200 tarefas, combinando avaliações como BIG-bench e MMLU, promovendo reprodutibilidade e comparabilidade.
Leia também as práticas recomendadas para avaliação de LLM de aplicativos RAG.
Como operacionalizar o gerenciamento de grandes modelos de linguagem (LLMs) por meio de grandes operações de modelos de linguagem (LLMOps)?
As operações de grandes modelos de linguagem (LMOps) englobam as práticas, técnicas e ferramentas usadas para o gerenciamento operacional de grandes modelos de linguagem em ambientes de produção.
O LLMOps permite a implementação, o monitoramento e a manutenção de grandes modelos de linguagem com eficiência. O LLMOps, como o tradicional Machine Learning Ops (MLOps), exige uma colaboração de data scientists, engenheiros de DevOps e profissionais de TI. Veja mais detalhes do LLMOps aqui.
Onde posso encontrar mais informações sobre modelos de linguagem grandes (LLMs)?
Existem muitos recursos disponíveis para encontrar mais informações sobre LLMs, incluindo:
Treinamento
- LLMs: Foundation Models From the Ground Up (EDX e treinamento da Databricks) — Treinamento gratuito da Databricks que se aprofunda nos detalhes dos modelos básicos em LLMs
- LLMs: Application Through Production (EDX e treinamento da Databricks) — Treinamento gratuito da Databricks que se concentra na criação de aplicativos focados em LLM com as estruturas mais recentes e conhecidas
e-books
Blogs técnicos
- Práticas recomendadas para avaliação de LLM de aplicativos RAG
- Usar o gateway de IA do MLflow e o Llama 2 para construir aplicativos de IA generativa (obter maior precisão usando geração aumentada de recuperação (RAG) com seus próprios dados)
- Implemente seu chatbot de LLM com a geração aumentada de recuperação (RAG), Llama2-70B (Inferências de MosaicML) e Vector Search
- LLMops: tudo o que você precisa saber para gerenciar LLMs
Passos seguintes
- Entre em contato com a Databricks para agendar uma demonstração e conversar com alguém sobre seus projetos de grandes modelos de linguagem (LLM)
- Leia sobre as ofertas da Databricks para LLMs
- Leia mais sobre o caso de uso de geração aumentada de recuperação (RAG) (a arquitetura de LLM mais comum)