O Llama 2 é uma família de grandes modelos de linguagem (LLMs) treinados previamente e aperfeiçoados, lançados pela Meta AI em 2023. Disponibilizados gratuitamente para pesquisa e uso comercial, os modelos de IA Llama 2 são capazes de realizar diversas tarefas de processamento de linguagem natural (PLN), desde geração de texto até código de programação.
A família de modelos Llama 2, oferecida como modelos de base e modelos de "bate-papo" aperfeiçoados, serve como sucessora dos modelos originais LLaMa 1, que foram lançados em 2022 sob uma licença não comercial que concede acesso caso a caso exclusivamente a instituições de pesquisa. Ao contrário de seus antecessores, os modelos Llama 2 estão disponíveis gratuitamente para pesquisa de IA e uso comercial.
Assim, os modelos Llama da Meta pretendem desempenhar um papel importante na democratização do ecossistema de IA generativa. Conforme observado no artigo de pesquisa do Llama 2 (link fora do ibm.com), embora a metodologia de treinamento prévio dos LLMs autorregressivos por meio de aprendizado autossupervisionado seja, por enquanto, relativamente simples e bem compreendida, os imensos requisitos computacionais que o processo exige limitaram amplamente o desenvolvimento de LLMs de ponta a alguns participantes importantes. Como a maioria dos LLMs de última geração, como o GPT da OpenAI, o Claude da Anthropic e o BARD da Google são modelos próprios (e enormes) de código fechado, o acesso público à pesquisa de IA que poderia ajudar a entender como e por que esses modelos funcionam e como alinhar melhor seu desenvolvimento aos interesses humanos tem sido consideravelmente restrito.
Além de disponibilizar gratuitamente seu código e pesos do modelo, o projeto Llama se concentrou em aprimorar os recursos de desempenho de modelos menores, em vez de aumentar o número de parâmetros. Considerando que os modelos de código fechado mais importantes têm centenas de bilhões de parâmetros, os modelos Llama 2 são oferecidos com sete bilhões (7B), 13 bilhões (13B) ou 70 bilhões de parâmetros (70B).
Isso permite que organizações menores, como startups e membros da comunidade de pesquisa, implementem instâncias locais dos modelos Llama 2 ou modelos baseados no Llama desenvolvidos pela comunidade de IA, sem a necessidade de investimentos em tempo de computação ou infraestrutura proibitivamente caros.
O artigo de pesquisa do Llama 2 detalha diversas vantagens que a mais nova geração de modelos de IA oferece em relação aos modelos LLaMa originais.
Embora a Meta tenha disponibilizado gratuitamente o código inicial e os pesos do modelo Llama 2 para pesquisa e uso comercial, certas restrições no seu contrato de licenciamento causaram debate sobre se ele pode ser chamado de "código aberto".
O debate é um tanto técnico e semântico: embora "código aberto" seja frequentemente utilizado coloquialmente para se referir a qualquer software (ou outras ferramentas de programação) cujo código-fonte seja distribuído gratuitamente, na verdade trata-se de uma designação formal administrada pela Open Source Initiative (OSI). A OSI somente certifica uma determinada licença de software como "aprovada pela Open Source Initiative" se considerar que essa licença atende aos dez requisitos listados na Definição oficial de Código Aberto (OSD) (link fora do ibm.com).
Conforme explicado em uma declaração do diretor executivo da OSI, Stefano Maffulli, "A OSI está satisfeita em ver que a Meta está diminuindo as barreiras de acesso a sistemas poderosos de IA. Infelizmente, a gigante da tecnologia criou o mal-entendido de que o LLaMa 2 é de "código aberto" – mas não é." 1
A discrepância decorre de dois aspectos do contrato de licença do Llama 2:
Essas restrições contradizem dois pontos da OSD:
Para reconhecer o espírito aberto do Llama 2 e sua falha em atender à definição técnica de "código aberto", alguns membros da comunidade de tecnologia usaram o termo "abordagem aberta". 4
Os modelos de base Llama 2 são modelos de base pré-treinados que devem ser ajustados para casos de uso específicos, enquanto os modelos de chat Llama 2 já estão otimizados para diálogo.
O Llama 2 é uma família de modelos de linguagem causal autoregressivos baseados em transformadores. Os modelos de linguagem autorregressivos recebem uma sequência de palavras como input e preveem as próximas palavras de forma recursiva, o resultado.
Durante o pré-treino auto-supervisionado, as LLMs recebem o início de frases de amostra extraídas de um corpus gigante de dados não rotulado e têm a tarefa de prever a próxima palavra. Ao treinar o modelo para minimizar a divergência entre a verdade real (a próxima palavra real) e suas próprias previsões, o modelo aprende a replicar padrões linguísticos e lógicos nos dados de treinamento. Embora o artigo de pesquisa omita detalhes sobre fontes de dados específicas, ele afirma que o Llama 2 foi treinado com 2 trilhões de tokens– as palavras numericamente representadas, partes de palavras, frases e outros fragmentos semânticos que as redes neurais baseadas em transformadores usam para processamento de linguagem–de fontes publicamente disponíveis.
Em um nível fundamental, os modelos de base não são pré-treinados para realmente responder a um prompt: eles acrescentam texto ao prompt de uma forma gramaticalmente coerente. Um modelo de base pronto para uso pode responder a uma solicitação de "me ensine a fazer biscoitos" com "para uma festa de fim de ano". É necessário um ajuste adicional, por meio de técnicas como aprendizado supervisionado e aprendizado por reforço, para treinar um modelo de base para uma aplicação específica, como diálogo, acompanhamento de instruções ou escrita criativa.
Em vez disso, os modelos de base Llama 2 servem como base para a criação de um modelo com finalidade específica. Até o momento, os modelos Llama 2 (e o LLaMa original) serviram como base para vários LLMs de código aberto importantes, incluindo:
Os modelos Llama-2-chat são ajustados para casos de uso orientados por diálogos, semelhantes às versões específicas do modelo GPT usadas no ChatGPT.
O ajuste fino supervisionado (SFT) foi utilizado para preparar o modelo básico treinado previamente da Llama 2 para gerar respostas no formato esperado pelos usuários em um ambiente de chatbot ou agente virtual. Em uma série de tarefas de aprendizado supervisionado, pares rotulados de trocas de diálogos, anotados como (prompt, resposta), são utilizados para treinar o modelo para minimizar a divergência entre sua própria resposta para um determinado prompt e o exemplo de resposta apresentado pelos dados rotulados. Assim, o modelo aprende, por exemplo, que a resposta adequada a um prompt do tipo "ensine-me a fazer biscoitos" é apresentar instruções reais para fazer biscoitos em vez de simplesmente completar a frase.
Em vez de usar milhões de exemplos rotulados, o artigo afirma que os resultados foram aprimorados usando "menos exemplos, mas de maior qualidade", observando que a Meta AI coletou 27.540 amostras anotadas.
Após o SFT, a Meta utilizou o aprendizado por reforço com feedback humano (RLHF) para alinhar ainda mais o comportamento dos modelos de chat com as preferências e instruções humanas. No RLHF, o feedback humano direto é utilizado para treinar um "modelo de recompensa" para aprender aos padrões do tipo de resposta que os humanos preferem. Traduzindo as previsões do modelo de recompensa (em relação a se uma determinada resposta seria preferida pelos humanos) para um sinal de recompensa escalar, o modelo de recompensa é usado para treinar ainda mais o Llama-2-chat por meio do aprendizado por reforço.
Existem muitos métodos e formatos diferentes nos quais esse feedback humano pode ser coletado. A Meta AI usou um método simples de comparação binária: os anotadores humanos foram solicitados a escrever um prompt e, em seguida, escolher entre duas respostas de modelo – com base nos critérios fornecidos pela Meta – geradas por duas variantes diferentes do Llama 2. Para ajudar o modelo de recompensa a ponderar adequadamente essas escolhas, os anotadores também foram solicitados a classificar o grau em que preferiam a resposta escolhida em relação à outra: "significativamente melhor", "ligeiramente melhor" ou "insignificantemente melhor/incerto.
As preferências humanas foram utilizadas para treinar dois modelos de recompensa separados: um otimizado para utilidade, o outro otimizado para segurança (ou seja, evitar respostas tóxicas e de ódio ou que possam ser empregadas para ajudar na violência ou em atividades criminosas). Além da otimização da política proximal (PPO), o algoritmo normalmente empregado para atualizar os pesos do modelo de LLM no RLHF, a Meta também utilizou a amostragem de rejeição (link fora do ibm.com) para atualizar o Llama-2-chat-70B.
O Code Llama, desenvolvido com base no Llama 2, foi aperfeiçoado para gerar código (e linguagem natural sobre código) a partir de solicitações baseadas em código e em linguagem natural. Apresentado logo após o lançamento dos modelos Llama 2 base e chat, ele é gratuito para pesquisa e uso comercial.
Compatível com as linguagens de programação mais comuns, incluindo Python, C++, Java, PHP e Javascript (entre outras), ele está disponível em modelos de 7B, 13B e 34B parâmetros, e possui um comprimento de contexto de até 100.000 tokens. Duas variações adicionais, Code Llama – Python e Code Llama – Instruct, são ajustadas para Python (e PyTorch) e seguimento de instruções, respectivamente.
Em relação aos concorrentes de código fechado, os modelos Llama 2 se destacam em áreas como segurança e precisão factual. Embora o Llama 2 possa não corresponder a todos os recursos de modelos muito maiores, sua disponibilidade aberta e maior eficiência apresentam vantagens únicas.
Ao comparar o Llama 2 com os principais modelos exclusivos de concorrentes como a OpenAI, Anthropic e Google, é importante considerar a escala. Embora os modelos de código fechado nem sempre divulguem todos os detalhes de sua arquitetura, as informações disponíveis sugerem fortemente que todos eles excedem em muito os 70 bilhões de parâmetros dos maiores modelos do Llama 2:
De acordo com o artigo de pesquisa do Llama 2, os avaliadores humanos preferiram as respostas do Llama-2-chat 70B às do GPT-3.5.-turbo-0301, o modelo padrão para o ChatGPT: as respostas do Llama 2 tiveram uma taxa de vitória de 36% e uma taxa de empate de 31,5%. Em relação ao PaLM Bison, o segundo maior modelo do PaLM, o de 70B teve uma taxa de vitória de mais de 50%.
Nos testes da Meta, os modelos de 7B, 13B e 70B do Llama 2 tiveram porcentagens de violação de segurança consideravelmente menores do que o PaLM Bison: 3% e 4%, bem como porcentagens de violação de segurança menores do que os 7% do ChatGPT. Esse é um ponto forte importante para casos de uso corporativos, nos quais a linguagem tóxica, de ódio ou provocativa dos chatbots pode ter consequências graves.
Uma vantagem inerente de modelos abertos menores em relação aos modelos de código fechado massivos é a liberdade para as empresas executarem instâncias de modelo local e a eficiência de custos para fazê-lo sem investimentos maciços em infraestrutura ou computação em nuvem. A execução de um modelo local garante que códigos exclusivos, modificações de treinamento e dados exclusivos possam ser utilizados para fazer o ajuste fino do desempenho do modelo sem serem carregados em um servidor comercial ou possivelmente serem utilizados em futuros treinamentos de modelos de código fechado. Além disso, modelos menores como as variantes de 7B e 13B, possibilitam um desempenho mais suave em ambientes como aplicativos móveis onde o poder de processamento é limitado.
O Llama 2 não tem sua própria API dedicada, mas pode ser acessado por meio de vários provedores.
Explore a biblioteca de modelos de base da IBM no portfólio do watsonx para escalar a IA generativa com confiança na sua empresa.
Use a IA a serviço da sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e as operações críticas adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor comercial.
Conheça o IBM® Granite, nossa família de modelos abertos de IA de alto desempenho, confiáveis e personalizados para a empresa e otimizados para escalar suas aplicações de IA. Explore as opções de linguagem, código, séries temporais e proteções.
Saiba como selecionar o modelo de base de IA mais adequado para seu caso de uso.
Mergulhe nos artigos, blogs e tutoriais do IBM Developer para aprofundar seu conhecimento sobre LLMs.
Saiba como incentivar sempre as equipes a melhorar o desempenho do modelo e superar a concorrência utilizando as técnicas e infraestrutura mais recentes de IA.
Explore o valor de modelos de base de nível empresarial que proporcionam confiança, desempenho e benefícios econômicos para todos os setores.
Saiba como incorporar IA generativa, aprendizado de máquina e modelos de base em suas operações de negócios para melhorar o desempenho.
Leia sobre as duas mil organizações que pesquisamos sobre suas iniciativas de IA para saber o que está funcionando, o que não está e como você pode se destacar.
Todos os links estão fora do ibm.com.
1 "Meta's LLaMa 2 license is not Open Source", Voices of Open Source, 20 de julho de 2023
2 "Llama 2 Community License Agreement", Meta, 18 de julho de 2023
3 "The Open Source Definition", Open Source Initiative, last modified 22 de fevereiro de 2023
4 "Statement of Support for Meta’s Open Approach to Today’s AI", Meta, 18 de julho de 2023
5 "Alpaca: A Strong, Replicable Instruction-Following Model", Stanford CRFM, 13 de março de 2023
6 "Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality", LMSYS Org, 30 de março de 2023
7 "Orca-2: Teaching Small Language Models How to Reason", Microsoft, novembro de 2023
8 "WizardLM: Empowering Large Language Models to Follow Complex Instructions", arXiv, 10 de junho de 2023
9 "The secret history of Elon Musk, Sam Altman, and OpenAI", Semafor, 24 de março 2023
10 "Google’s newest A.I. model uses nearly five times more text data for training than its predecessor", CNBC, 16 de maio de 2023
11 "Pathways Language Model (PaLM): Scaling to 540 Billion Parameters for Breakthrough Performance", Google, 4 de abril de 2023
12 "The Capacity for Moral Self-Correction in Large Language Models", arXiv, 18 de fevereiro de 2023