Sem resumo de edição
Sem resumo de edição
Linha 1: Linha 1:
<span id="llama-large-language-model-meta-ai"></span>
<span id="llama-large-language-model-meta-ai"></span>
= Llama (Large Language Model Meta AI) =
= Llama (Large Language Model Meta AI) =
 
Autor: [https://www.linkedin.com/in/davi16lacerda/ Davi Lacerda]
Autor: [https://www.linkedin.com/in/davi16lacerda/ Davi Tobias Lacerda]


== O que é o Llama? ==
== O que é o Llama? ==

Edição das 18h04min de 30 de abril de 2024

Llama (Large Language Model Meta AI)

Autor: Davi Tobias Lacerda

O que é o Llama?

Llama é um conjunto de modelos LLM pré-treinados e fine-tuned desenvolvido pela Meta. Atualmente está em sua segunda versão(Llama 2) e, para ter acesso a ele, é necessário solicitar o acesso por meio do site oficial.

Principais informações

  • Janela de contexto: 4096 tokens;
  • Reforço de Aprendizado por Feedback Humano (RLHF);
  • Modelo ajustado para gerar respostas seguras/não tóxicas;

É possível baixar os modelos de diferentes maneiras porém, a maneira mais comum é por meio do Hugging Face. A seguir, veja os modelos disponíveis do Llama por meio do Hugging Face:

O Llama 2 é disponibilizado em duas versões: Llama 2 e Llama 2 Chat. A diferença entre eles é que o Llama 2 Chat foi ajustado de modo a ter um melhor desempenho em tarefas de conversação, enquanto o Llama 2 base. Ambos os modelos estão disponíveis em três tamanhos: 7B, 13B e 70B de parâmetros.

Além disso, baseado no Llama 2, foi também ajustado um modelo cujo a tarefa específica é a codificação de programas, chamado de Code Llama. Este é disponível em três modelos: Code Llama, Code Llama Instruct e Code Llama Python, todos com as versões de 7B, 13B, 34B e 70B de parâmetros. Importante destacar a disponibilização do modelo de 34B de parâmetros, que não está disponível para os modelos Llama 2 e Llama 2 Chat.

Requisitos de Hardware

Para utilizar o modelo Llama 2, é necessário um hardware com as seguintes especificações mínimas:

Modelo GPU
meta-llama/Llama-2-7b-chat-hf 14GB
meta-llama/Llama-2-13b-chat-hf 26GB
meta-llama/Llama-2-70b-chat-hf 140GB

Preços

Local

A seguir, veja uma tabela com o preço aproximado de algumas placas de vídeo necessárias para o deploy do Llama 2:

Placa de Vídeo

Memória

Preço

Nvidia A10/A10G

24GB

3.500,00 USD1

Nvidia A100

40GB

10.500,00 USD1

Nvidia A100

80GB

19.500,00 USD1

Nvidia H100

80GB

43.989,00 USD1

1Preço aproximado com base no valor de mercado.

Além das placas de vídeos, são necessários outros equipamentos para construir toda a infraestrutura local para utilizar o modelo. Isso envolve diversos componentes e, para uma melhor estimativa de custo, é necessário um estudo mais aprofundado junto com um especialista na área. No entanto, podemos citar alguns valores de Rack de Servidores que poderiam ser utilizados para a hospedagem:

Modelo

Preço

PowerEdge R750XA Rack Server

A partir de 21.519,00 USD

PowerEdge R760xa Rack Server

A partir de 29.599,02 USD

Cloud(IaaS)

A seguir, veja uma tabela compara o preço oferecido por diferentes serviços para as GPUs necessárias para o deploy do Llama 2, com base no preço de 1 hora de uso, sem considerar o gasto com armazenamento e o serviço mais básico que oferece a configuração de hardware necessária:

Serviço

Nvidia A10/A10G(24GB)

Nvidia A100(40GB)

Nvidia H100(80GB)

Sob-Demanda

12 Meses

36 Meses

Sob-Demanda

12 Meses

36 Meses

Sob-Demanda

12 Meses

36 Meses

Hugging Face

1,050 USD

-

-

4,130 USD

-

-

8,700 USD

-

-

AWS

1,006 USD1

0,604 USD1

0,402 USD1

4,096 USD2

2,402 USD2

1,446 USD2

12,290 USD2

9,678 USD2

6,743 USD2

Google Cloud

-

-

-

3,673 USD

2,313 USD

1,285 USD

11,061 USD2

7,671 USD2

4,855 USD2

Azure

3,200 USD

2,663 USD

1,974 USD

3,399 USD2

2,827 USD2

1,703 USD2

12,290 USD2

-

-

Oracle

2,000 USD

1,968 USD

1,968 USD

3,050 USD2

2,992 USD2

2,992 USD2

10,000 USD2

9,812 USD2

9,812 USD2

1Os preços mostrados são para a região Leste dos EUA (Norte da Virgínia) da AWS. Os preços para instâncias reservadas de 1 e 3 anos são para as opções de pagamento “Adiantamento parcial” ou “Sem adiantamento antecipado” para instâncias sem a opção Adiantamento parcial.

2Indica que esse valor foi calculado. Na maioria das vezes isso ocorre quando uma instância está disponível apenas como 8x, então o valor fornecido é dividido por 8.

API

Para utilizar o Llama por meio de uma API, existem dois tipos de custos:

  • Custo de entrada: É o custo para enviar os dados para a API(mensagens do usuário + prompt do sistema)
  • Custo de saída: É o custo para receber os dados da API(resposta do sistema)

Esses custos são baseados na quantidade de tokens de entrada e saída. De maneira geral, um token é uma unidade de texto com aproximadamente 3/4 de uma palavra.

A seguir, veja alguns dos preços oferecidos por diferentes serviços para a utilização da API do Llama 2, com base no preço de 1M de tokens de entrada e saída:

Serviço

Modelo

1M de tokens de entrada

1M de tokens de saída

Total

AWS Bedrock

Llama-2-13b-chat

0,75 USD

1,00 USD

1,75 USD

Llama-2-70b-chat

1,95 USD

2,56 USD

4,51 USD

Azure

Llama-2-13b

0,81 USD

0,94 USD

1,75 USD

Llama-2-70b

1,54 USD

1,77 USD

3,31 USD

Llama-2-13b-chat

0,81 USD

0,94 USD

1,75 USD

Llama-2-70b-chat

1,54 USD

1,77 USD

3,31 USD

Replicate

Llama-2-13b

0,10 USD

0,50 USD

0,60 USD

Llama-2-70b

0,65 USD

2,75 USD

3,40 USD

Llama-2-13b-chat

0,10 USD

0,50 USD

0,60 USD

Llama-2-70b-chat

0,65 USD

2,75 USD

3,40 USD

Comparações com outros modelos

Para verificar a acurácia/eficiência do modelo, são realizados alguns benchmarks sobre determinadas tarefas, como programação, tradução, etc. Veja na tabela abaixo alguns dos que foram realizados sobre o Llama 2 e outros modelos:

Benchmark Descrição
MMLU (Massive Multitask Language Understanding) Oferece uma avaliação mais abrangente de LLMs, avaliando sua compreensão em diversos temas, desde humanidades até ciências exatas, em diferentes profundidades, desde o nível elementar até a profissional avançado.
BBH (BIG-Bench Hard) Subconjunto de testes do BIG-Bench(Google) que visa avaliar temas como lógica matemática, contagem de objetos, esportes, etc.
AGI Eval Este benchmark é derivado de 20 exames oficiais, públicos e de alto padrão de admissão e qualificação destinados a candidatos humanos em geral, como testes de admissão universitária geral (por exemplo, o Exame de Admissão Universitária Chinês (Gaokao) e o SAT americano), testes de admissão em escolas de direito, competições matemáticas, testes de qualificação de advogados e exames nacionais para serviços civis.
TriviaQA Conjunto de dados realista de perguntas e respostas baseado em texto, que inclui 95 mil pares de perguntas e respostas de 662 mil documentos coletados da Wikipedia e da web.
GSM8K (Grade School Math) Conjunto de dados de 8,5 mil problemas matemáticos de alta qualidade, linguisticamente diversos, para o ensino fundamental, criados por redatores humanos.
HumanEval Consiste em 164 problemas originais de programação, avaliando compreensão de linguagem, algoritmos e matemática simples, com alguns comparáveis a questões de entrevista de software simples.
MT-Bench (Multi-turn Benchmark) É um benchmark de vários turnos que mede a habilidade dos modelos de linguagem grandes (LLMs) de engajar em conversas coerentes e informativas.

A seguir, veja as tabelas comparativas entre os modelos Llama(modelo base) e outros modelos disponíveis.

Comparação com modelos open-source

Em relação a outros modelos open-source, o Llama 2, em seu modelo de 70B de parâmetros, é superior a todos os modelos open-source comparados. No entanto, é importante destacar que o modelo com 13B de parâmetros é muito semelhante ao modelos MPT 30B e Falcon 40B, mesmo tendo aproximadamente 50% a menos de parâmetros.

Em relação ao tamanho da janela de contexto, o Llama 2 está em desvantagem em relação a todos os modelos, contando apenas com 4096 tokens, enquanto os demais modelos possuem janelas de contexto maiores.

Comparação com modelos closed-source

Para fazer o comparativo com os modelos closed-source, foi utilizado o modelo Llama-2 70B. É notório que os modelos closed-source são superiores ao Llama 2, no entanto, o modelo de 70B se aproxima bastante ao GPT-3.5(modelo disponível na versão gratuita do ChatGPT), com exceção do benchmark HumanEval(0-shot/benchmark de programação), onde a diferença é discrepante.

Em relação ao tamanho da janela de contexto com modelos closed-source, a desvantagem do Llama 2 é ainda maior, pois, além de ter uma janela de contexto menor, os modelos closed-source possuem janelas de contexto maiores.

Suporte a linguagens

A seguir, veja o percentual relativo a cada linguagem utilizada durante o treinamento do Llama 2:

Percebe-se o suporte majoritário à lingua inglesa e, consequentemente, uma melhor performance nela. Além disso, a língua portuguesa(pt), que inclui pt-PT e pt-BR, não está presente entre as 10 linguas mais utilizadas(ocupa a 13ª posição).

Quantização de modelos

A quantização de modelos é uma técnica que reduz o tamanho do modelo, mas pode afetar a acurácia. No entanto, modelos quantizados têm menor necessidade de hardware. Os principais modelos quantizados do Llama 2 foram feitos pelo usuário TheBloke.

Existem diversas maneiras de quantizar um modelo, veja a seguir os principais modelos quantizados do Llama 2:

Casos de sucesso

A seguir, veja alguns casos de sucesso utilizando os modelos Llama:

O futuro do Llama

Em 18/04/2024 foi lançado o Llama 3, disponível nas versões de 8 e 70 bilhões de parâmetros. O modelo contém uma janela de contexto de 8192 tokens e, além de estar integrado aos serviços da Meta (Meta AI), foi treinado na nova infraestrutura da empresa (poder computacional equivalente a 350K GPUs H100).

Foi disponibilizado em duas versões, um modelo base e um ajustado para conversas em chat (instruct).

O principal destaque do modelo é seus resultados em benchmarks, se aproximando dos melhores modelos closed-source, como o GPT-4 e Claude, e superando outros modelos open-source, como o Mistral e o Google (Gemma).

No entanto, o maior “problema” do modelo ainda está relacionado ao tamanho da janela de contexto que, ainda que tenha sido aumentada, ainda é menor que a de outros modelos.

Além disso, a Meta está se planejando em relação ao futuro do modelo para incrementar diversas melhorias como:

  • Aumento da janela de contexto;
  • Modelos multilinguais;
  • Modelos multimodais;

Até o momento, estão treinando um modelo de 400 bilhões de parâmetros, que está se aproximando dos melhores modelos closed-source (GPT-4 Turbo e Claude Opus), mas sem previsão de lançamento.

Referências