Início
topics
Llama 2
Publicado: 19 de dezembro de 2023
Colaboradores: Dave Bergmann
O Llama 2 é uma família de modelos de linguagem grande (LLMs) pré-treinados e aperfeiçoados lançados pela Meta AI em 2023. Disponibilizados gratuitamente para pesquisa e uso comercial, os modelos de IA do Llama 2 são capazes de realizar diversas tarefas de processamento de linguagem natural (NLP), desde a 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 externo ao site ibm.com), embora a metodologia de pré-treinamento de LLMs autorregressivos por meio de aprendizado autossupervisionado seja, por enquanto, relativamente simples e bem compreendida, os imensos requisitos computacionais que o processo implica 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 várias vantagens que a mais nova geração de modelos de IA oferece em relação aos modelos LLaMa originais.
Descubra o poder de integrar uma estratégia de data lakehouse na sua arquitetura de dados, incluindo aprimoramentos para escalar oportunidades de IA e otimização de custos.
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 usado coloquialmente para se referir a qualquer software (ou outras ferramentas de programação) cujo código-fonte seja distribuído gratuitamente, na verdade é uma designação formal administrada pela Open Source Initiative (OSI). A OSI só 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 externo ao site 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.
Llama 2 é uma família de modelos de linguagem causal autorregressiva baseados em transformadores. Modelos de linguagem autorregressivos recebem uma sequência de palavras como input e preveem recursivamente a produção.
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 usado para preparar o modelo básico pré-treinado 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 usados para treinar o modelo para minimizar a divergência entre sua própria resposta para um determinado prompt e o exemplo de resposta fornecido pelos dados rotulados. Assim, o modelo aprende, por exemplo, que a resposta adequada a uma solicitação do tipo "me ensine a fazer biscoitos" é fornecer 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 usou 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 é usado para treinar um "modelo de recompensa" para aprender os padrões do tipo de resposta que os humanos preferem. Ao traduzir 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 usadas para treinar dois modelos de recompensa separados: um otimizado para a utilidade, o outro otimizado para a segurança (ou seja, evitar respostas tóxicas e de ódio ou que possam ser usadas para ajudar na violência ou em atividades criminosas). Além da otimização da política proximal (PPO), o algoritmo normalmente usado para atualizar os pesos do modelo de LLM no RLHF, a Meta também usou a amostragem de rejeição (link externo ao site 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:
Avaliação humana
De acordo com o artigo de pesquisa do Llama 2, os avaliadores humanos preferiram as respostas do Llama-2-chat de 70B às respostas do GPT-3,5.-turbo-0301, o modelo padrão do ChatGPT: as respostas do Llama 2 apresentaram 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 significativamente menores do que o PaLM Bison – 3% e 4%, em comparação com os 27% do PaLM – 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 inflamatória dos chatbots pode ter consequências graves.
Privacidade e eficiência
Uma vantagem inerente de modelos menores e abertos em relação aos modelos grandes de código fechado é a liberdade para as empresas executarem instâncias de modelo locais e a eficiência de custo para fazê-lo sem grandes investimentos 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 usados para ajustar o desempenho do modelo sem serem carregados em um servidor comercial ou possivelmente serem usados em futuros treinamentos de modelos de código fechado. Além disso, tamanhos de modelo menores, como as variantes de 7B e 13B, permitem um desempenho mais suave em ambientes como aplicações móveis, onde a potência de processamento é limitada.
O Llama 2 não tem sua própria API dedicada, mas pode ser acessado por meio de vários provedores.
Treine, valide, ajuste e implemente IA generativa, modelos de base e recursos de aprendizado de máquina com facilidade, além de criar aplicativos de IA em uma fração do tempo com uma fração dos dados.
Ofereça atendimento ao cliente consistente e inteligente em todos os canais e pontos de contato com a ajuda da IA conversacional.
Reinvente sua forma de trabalhar com a IA: nossa equipe global diversificada de mais de 20 mil especialistas em IA pode ajudar você a projetar e escalar a IA e a automação de forma rápida e confiável em toda a sua empresa, trabalhando com nossa própria tecnologia IBM watsonx e um ecossistema aberto de parceiros para oferecer qualquer modelo de IA, em qualquer nuvem, orientado por ética e confiança.
Saiba mais sobre o Llama 2 e o tópico mais amplo dos modelos de base.
Modelos modernos de IA que executam tarefas específicas em um único domínio estão dando lugar a modelos que aprendem de forma mais geral e funcionam em vários domínios e problemas. Saiba como os modelos de base, treinados em grandes conjuntos de dados não identificados e ajustados para uma variedade de aplicações, estão impulsionando essa mudança.
Saiba como a IBM está desenvolvendo modelos de base generativos que são confiáveis, eficientes em termos de energia e portáteis, permitindo que as empresas migrem as cargas de trabalho de IA sem dificuldades entre nuvens públicas e privadas.
Explore o processo de codificação de valores e objetivos humanos em grandes modelos de linguagem para torná-los tão úteis, seguros e confiáveis quanto possível. Por meio do alinhamento, as empresas podem adaptar os modelos de IA para seguirem suas regras e políticas de negócio.
Todos os links levam para fora do site 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