O que é o Llama 2?

19 de dezembro de 2023

Autores

Dave Bergmann

Senior Writer, AI Models, IBM

O que é o Llama 2?

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.

Llama 2 vs. LLaMa 1

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.

  • Maior comprimento de contexto: os modelos Llama 2 oferecem um comprimento de contexto de 4.096 tokens, que é o dobro do LLaMa 1. O comprimento do contexto (ou janela de contexto) refere-se ao número máximo de tokens que o modelo consegue "lembrar" durante a inferência (ou seja, a geração de texto ou conversa em andamento). Isso permite maior complexidade e uma troca mais coerente e fluente da linguagem natural.
  • Maior acessibilidade: enquanto o LLaMa 1 foi lançado exclusivamente para uso em pesquisa, o Llama 2 está disponível para qualquer organização (com menos de 700 milhões de usuários ativos).
  • Treinamento mais robusto: o Llama 2 foi treinado previamente com 40% a mais de dados, aumentando sua base de conhecimento e compreensão contextual. Além disso, ao contrário do LLaMa 1, os modelos de chat do Llama 2 foram aperfeiçoados com o uso de aprendizado por reforço com feedback humano (RLHF), ajudando a alinhar melhor as respostas do modelo às expectativas humanas.
Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

O Llama 2 é de código aberto?

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:

  • Qualquer organização com mais de 700 milhões de usuários ativos mensais deve solicitar uma licença da Meta (a ser concedida a critério exclusivo da Meta). 2
  • A "Política de Uso Aceitável" proíbe o uso dos modelos para violência, atividade criminosa e personificação de seres humanos, entre outras restrições legais e morais.

Essas restrições contradizem dois pontos da OSD:

  • Ponto 5: "A licença não deve discriminar qualquer pessoa ou grupo de pessoas." 3
  • Ponto 6: "A licença não deve impedir que ninguém use o programa em um campo específico de atuação." 3

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

AI Academy

Por que os modelos de base são uma mudança de paradigma para a IA

Aprenda sobre uma nova classe de modelos de IA flexíveis e reutilizáveis que podem liberar novas receitas, reduzir custos e aumentar a produtividade, e utilize o nosso guia para se aprofundar.

Como funciona o Llama 2?

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.

Modelos de base Llama 2

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:

  • Alpaca: uma versão do LLaMa de 7B ajustada para o seguimento de instruções por parte dos pesquisadores da Universidade de Stanford. Particularmente, ele alcançou resultados competitivos com o GPT-3.5, apesar de custar apenas US$ 600 em recursos de computação.5
  • Vicuna: modelo de assistente de chat da LMSYS Org, treinado mediante ajuste do Llama 2 de 13B em conversas de usuários do ShareGPT (link fora do ibm.com). Superou o desempenho do Alpaca em mais de 90% dos casos, com um custo de treinamento de apenas US$ 300.6
  • Orca: uma versão aperfeiçoada do Llama 2, treinada pela Microsoft usando um esquema de "professor-alunos", no qual um LLM maior e mais poderoso é usado para gerar exemplos de comportamento de raciocínio útil para o modelo menor seguir.7
  • WizardLM: aprimorado usando o Evol-Instruct, um método para criar grandes quantidades de dados de instrução sintética usando LLMs, o WizardLM alcançou mais de 90% do desempenho do ChatGPT em 17 das 29 habilidades avaliadas.8

Modelos de chat Llama 2

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.

Código Llama

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.

Llama 2 vs. modelos de código fechado

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:

  • O GPT-3 tem 175 bilhões de parâmetros.
  • Estima-se que o GPT-4 tenha 1 trilhão de parâmetros.9
  • Há informações de que o PaLM 2 da Google tem 340 bilhões de parâmetros. Seu antecessor, PaLM, tem 540 bilhões de parâmetros. 11
  • A Anthropic não divulgou a contagem dos parâmetros dos modelos Claude, mas um artigo recente sugere a existência de uma versão de 175 bilhões de parâmetros do Claude 2.12

Avaliação humana

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%.

Segurança

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.

Privacidade e eficiência

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.

Como usar o Llama 2

O Llama 2 não tem sua própria API dedicada, mas pode ser acessado por meio de vários provedores.

  • O Llama-2-13B-chat e o Llama-2-70B-chat estão entre os vários modelos de base disponíveis no watsonx, por meio da parceria da IBM com a Hugging Face.

  • Os pesos do modelo e o código inicial do Llama 2 podem ser baixados direto do Github, onde a Meta também apresenta instruções, demonstrações e "receitas" para o Llama 2 (link fora do ibm.com). Os modelos podem ser implementados em frameworks de aprendizado de máquina de código aberto, como PyTorch ou LangChain.

  • O Llama 2 também está disponível em provedores de código aberto, como o Hugging Face, e em provedores corporativos, como o Microsoft Azure, o Amazon Sagemaker e o Bedrock, além de uma série de startups baseadas na nuvem.
Soluções relacionadas
Modelos de base

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.

Conheça o watsonx.ai
Soluções de inteligência artificial

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.

Explore as soluções de IA
Consultoria e serviços em IA

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.

Explore os serviços de IA
Dê o próximo passo

Explore a biblioteca da IBM de modelos de base no portfólio do IBM® watsonx para escalar a IA generativa para os seus negócios com confiança.

Explore o watsonx.ai Explore as soluções de IA
Notas de rodapé

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