Sem resumo de edição
 
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
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 Tobias Lacerda]


<!--
Hospedar localmente
Segurança dos dados
Usar documento como contexto
Treinar LLM com documentos
Documentos não estruturados
-->
<!--
Marcos Paulo:
- Custo
-
-->
<span id="o-que-é-o-llama"></span>
== O que é o Llama? ==
== 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 [https://llama.meta.com/llama-downloads site oficial].
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 [https://llama.meta.com/llama-downloads site oficial].


É 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:
<span id="principais-informações"></span>
=== 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:


<div class="figure">
<div class="figure">


[[File:hf-models.png|Modelos disponíveis do Llama por meio do Hugging Face]]
[[File:hf-models.png|Modelos disponíveis do Llama por meio do Hugging Face|512px]]


</div>
</div>
Linha 32: Linha 28:
<div class="figure">
<div class="figure">


[[File:hf-code-llama-models.png|Modelos disponíveis do Llama Code por meio do Hugging Face]]
[[File:hf-code-llama-models.png|Modelos disponíveis do Llama Code por meio do Hugging Face|512px]]


</div>
</div>
<span id="requisitos-de-hardware"></span>
<span id="requisitos-de-hardware"></span>
== Requisitos de Hardware ==
== Requisitos de Hardware ==


Linha 47: Linha 42:
|-
|-
| [https://huggingface.co/meta-llama/Llama-2-7b-chat-hf meta-llama/Llama-2-7b-chat-hf]
| [https://huggingface.co/meta-llama/Llama-2-7b-chat-hf meta-llama/Llama-2-7b-chat-hf]
| 24GB(1x Nvidia A10/A10G)
| 14GB
|-
|-
| [https://huggingface.co/meta-llama/Llama-2-13b-chat-hf meta-llama/Llama-2-13b-chat-hf]
| [https://huggingface.co/meta-llama/Llama-2-13b-chat-hf meta-llama/Llama-2-13b-chat-hf]
| 40GB(1x Nvidia A100 40GB)
| 26GB
|-
|-
| [https://huggingface.co/meta-llama/Llama-2-70b-chat-hf meta-llama/Llama-2-70b-chat-hf]
| [https://huggingface.co/meta-llama/Llama-2-70b-chat-hf meta-llama/Llama-2-70b-chat-hf]
| 160GB(4x Nvidia A100 40GB)
| 140GB
|}
|}


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


<!--
Classe de tarifas CEMIG
Se hospedar localmente, onde seria?
Calculo de kwh para estimar preço anual para hospedar localmente
-->
<table>
<table>
<tr>
<tr>
<td>
<td>
Placa de Vídeo
Placa de Vídeo
</td>
<td>
Memória
</td>
</td>
<td>
<td>
Linha 81: Linha 74:
<td>
<td>
Nvidia A10/A10G
Nvidia A10/A10G
</td>
<td>
24GB
</td>
</td>
<td>
<td>
Linha 88: Linha 84:
<tr>
<tr>
<td>
<td>
Nvidia A100(40GB)
Nvidia A100
</td>
<td>
40GB
</td>
<td>
10.500,00 USD<sup>1</sup>
</td>
</tr>
<tr>
<td>
Nvidia A100
</td>
<td>
80GB
</td>
<td>
19.500,00 USD<sup>1</sup>
</td>
</tr>
<tr>
<td>
Nvidia H100
</td>
<td>
80GB
</td>
</td>
<td>
<td>
9.500,00 USD<sup>1</sup>
43.989,00 USD<sup>1</sup>
</td>
</td>
</tr>
</tr>
Linha 97: Linha 118:
<sup>1</sup>''Preço aproximado com base no valor de mercado.''
<sup>1</sup>''Preç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:
<table>
<tr>
<td>
Modelo
</td>
<td>
Preço
</td>
</tr>
<tr>
<td>
PowerEdge R750XA Rack Server
</td>
<td>
A partir de 21.519,00 USD
</td>
</tr>
<tr>
<td>
PowerEdge R760xa Rack Server
</td>
<td>
A partir de 29.599,02 USD
</td>
</tr>
</table>
<span id="cloudiaas"></span>
<span id="cloudiaas"></span>
=== Cloud(IaaS) ===
=== Cloud(IaaS) ===
Linha 108: Linha 157:
</td>
</td>
<td colspan="3" style="text-align: center;">
<td colspan="3" style="text-align: center;">
Nvidia A10/A10G
Nvidia A10/A10G(24GB)
</td>
</td>
<td colspan="3" style="text-align: center;">
<td colspan="3" style="text-align: center;">
Nvidia A100(40GB)
Nvidia A100(40GB)
</td>
<td colspan="3" style="text-align: center;">
Nvidia H100(80GB)
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td>
Sob-Demanda
</td>
<td>
12 Meses
</td>
<td>
36 Meses
</td>
<td>
<td>
Sob-Demanda
Sob-Demanda
Linha 149: Linha 210:
<td>
<td>
4,130 USD
4,130 USD
</td>
<td>
-
</td>
<td>
-
</td>
<td>
8,700 USD
</td>
</td>
<td>
<td>
Linha 178: Linha 248:
<td>
<td>
1,446 USD<sup>2</sup>
1,446 USD<sup>2</sup>
</td>
<td>
12,290 USD<sup>2</sup>
</td>
<td>
9,678 USD<sup>2</sup>
</td>
<td>
6,743 USD<sup>2</sup>
</td>
</td>
</tr>
</tr>
Linha 201: Linha 280:
<td>
<td>
1,285 USD
1,285 USD
</td>
<td>
11,061 USD<sup>2</sup>
</td>
<td>
7,671 USD<sup>2</sup>
</td>
<td>
4,855 USD<sup>2</sup>
</td>
</td>
</tr>
</tr>
Linha 224: Linha 312:
<td>
<td>
1,703 USD<sup>2</sup>
1,703 USD<sup>2</sup>
</td>
<td>
12,290 USD<sup>2</sup>
</td>
<td>
-
</td>
<td>
-
</td>
</td>
</tr>
</tr>
Linha 247: Linha 344:
<td>
<td>
2,992 USD<sup>2</sup>
2,992 USD<sup>2</sup>
</td>
<td>
10,000 USD<sup>2</sup>
</td>
<td>
9,812 USD<sup>2</sup>
</td>
<td>
9,812 USD<sup>2</sup>
</td>
</td>
</tr>
</tr>
Linha 266: Linha 372:
<div class="figure">
<div class="figure">


[[File:openai-tokenizer.png|OpenAI Tokenizer]]
[[File:openai-tokenizer.png|OpenAI Tokenizer|512px]]


</div>
</div>
Linha 439: Linha 545:
</tr>
</tr>
</table>
</table>
<span id="comparativo-de-custos"></span>
=== Comparativo de custos ===
A seguir, será discorrido sobre os diferentes custos para utilizar o Llama 2, com base em diferentes quantidades de usuários e diferentes maneiras de utilização(local, cloud, API).
Para isso, a análise será dividida em 3 quantidades de usuários estimadas(1000, 5000 e 10000) e, ao final, será construída uma tabela para resumir os resultados. Os cálculos serão baseados em 1 ano de uso(260 dias - excluindo finais de semana) e por um período de 12 horas diárias. Os gastos fora do horário comercial serão desconsiderados para simplificar a análise.
Os cálculos serão baseados nas seguintes métricas:
* Local: Custo de aquisição de equipamentos(servidores, placas de vídeo, etc.) + Custo de energia + Custo de funcionários para manutenção + Custo de espaço físico
* Cloud: Custo de 1 hora de uso da placa de vídeo
* API: Custo de 1M de tokens de entrada e saída
Além disso, é considerado o seguinte cenário de uso para cada usuário:
* 6 perguntas feitas por dia(média de 1 a cada 2 horas)
* Média de 75 tokens por pergunta
* Média de 600 tokens por resposta
* A escolha do serviço para calcular os valores das categorias “Cloud” e “API” será feita com base naquele serviço que oferecer o menor custo.
* Modelo utilizado: Llama-2-70b-chat
A seguir, veja a tabela com os resultados:
<table>
<tr>
<td>
Quantidade de Usuários
</td>
<td>
Local
</td>
<td>
Cloud
</td>
<td>
API
</td>
</tr>
<tr>
<td>
1000
</td>
<td>
-
</td>
<td>
-
</td>
<td>
1.836,90 USD
</td>
</tr>
<tr>
<td>
2500
</td>
<td>
-
</td>
<td>
-
</td>
<td>
4.592,25 USD
</td>
</tr>
<tr>
<td>
5000
</td>
<td>
-
</td>
<td>
-
</td>
<td>
9.184,50 USD
</td>
</tr>
</table>
<!--
Ideia para levantar uma "média" de tokens para calcular os custos:
- Pedir para que cada um da torre X faça uma conversa de k turnos com o Llama sobre o tópico da sua pesquisa
- Contar a quantidade de tokens de entrada e saída
-->
<span id="comparações-com-outros-modelos"></span>
<span id="comparações-com-outros-modelos"></span>
== Comparações com outros modelos ==
== Comparações com outros modelos ==
Linha 567: Linha 586:
<div class="figure">
<div class="figure">


[[File:open-source-benchmark.png|Comparação com modelos open-source]]
[[File:open-source-benchmark.png|Comparação com modelos open-source|512px]]


</div>
</div>
Em dezembro de 2023, uma empresa francesa fundada por ex-pesquisadores da Meta e Google Deepmind lançou o modelo Mistral 8x7B, que se tornou o principal concorrente do Llama. Isso pelo fato de também ser um modelo ''open-source'' e que, mesmo com menos parâmetros(47B), possui melhor performance em alguns benchmarks.
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.


<div class="figure">
<div class="figure">


[[File:mistral-x-llama.png|Llama 70B Chat x Mistral 8x7B]]
[[File:open-source-context-window.png|Comparação com modelos open-source em relação ao tamanho da janela de contexto|512px]]


</div>
</div>
<span id="comparação-com-modelos-closed-source"></span>
<span id="comparação-com-modelos-closed-source"></span>
=== Comparação com modelos closed-source ===
=== Comparação com modelos closed-source ===


Linha 585: Linha 603:
<div class="figure">
<div class="figure">


[[File:images/closed-source-benchmark.png|Comparação com modelos closed-source]]
[[File:closed-source-benchmark.png|Comparação com modelos closed-source|512px]]
 
</div>
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.
 
<div class="figure">
 
[[File:closed-source-context-window.png|Comparação com modelos open-source em relação ao tamanho da janela de contexto|512px]]


</div>
</div>
Linha 595: Linha 620:
<div class="figure">
<div class="figure">


[[File:images/model-languages.png|Distribuição de linguages do Llama 2]]
[[File:model-languages.png|Distribuição de linguages do Llama 2|512px]]


</div>
</div>
Linha 618: Linha 643:
** Exemplo: [https://huggingface.co/TheBloke/Llama-2-7B-Chat-GPTQ TheBloke/Llama-2-7B-Chat-GPTQ]
** Exemplo: [https://huggingface.co/TheBloke/Llama-2-7B-Chat-GPTQ TheBloke/Llama-2-7B-Chat-GPTQ]


<span id="casos-de-sucesso"></span>
== Casos de sucesso ==
A seguir, veja alguns casos de sucesso utilizando os modelos Llama:
<div style="display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;">
<div class="figure">
[[File:meta-ai.png|Meta AI|512px]]
</div>
<div class="figure">
[[File:rayban.png|Rayban|512px]]
</div>
<div class="figure">
[[File:grammy.png|Grammy|512px]]
</div>
<div class="figure">
[[File:shopify.png|Shopify|512px]]
</div>
<div class="figure">
[[File:niantic.png|Niantic|512px]]
</div>
<div class="figure">
[[File:brave.png|Brave|512px]]
</div>
<div class="figure">
[[File:opera.png|Opera|512px]]
</div>
<div class="figure">
[[File:perplexity.png|Perplexity|512px]]
</div>
</div>
<span id="o-futuro-do-llama"></span>
<span id="o-futuro-do-llama"></span>
== O futuro do Llama ==
== O futuro do Llama ==


Em publicação feita em 18/01/2024 em seu Instagram, Mark Zuckerberg revelou que o modelo Llama 3 está em treinamento. Junto disso, algumas previsões de quando este modelo será lançado são feitas baseadas no tempo de treinamento de cada modelo anterior(Llama 1 e 2) e a evolução da tecnologia e, com isso, a expectativa da comunidade de IA é que ele seja lançado no primeiro quadrimestre de 2024.
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).
 
<div class="figure">
 
[[File:llama-3-benchmark.png|Comparação do Llama 3 com outros modelos|512px]]
 
</div>
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.


{| class="wikitable"
<div class="figure">
|-
 
! Modelo
[[File:llama-3-context-window.png|Comparação do Llama 3 com outros modelos em relação ao tamanho da janela de contexto|512px]]
! Intervalo de Treinamento
 
! Mês de lançamento
</div>
|-
Além disso, a Meta está se planejando em relação ao futuro do modelo para incrementar diversas melhorias como:
| Llama 1
 
| 12/2022 - 02/2023(3 meses)
* Aumento da janela de contexto;
| 02/2023
* Modelos multilinguais;
|-
* Modelos multimodais;
| Llama 2
 
| 01/2023 - 07/2023(7 meses)
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.
| 07/2023
|-
| Llama 3
| ❓
| ❓
|}


<div class="figure">
<div class="figure">


[[File:images/zuck-instagram.png|Mark Zuckerberg Instagram post about AI and Llama 3]]
[[File:llama-3-400b.png|Comparativo de modelos futuros|512px]]


</div>
</div>
== Link do Drive ==
* [https://algarnet-my.sharepoint.com/:f:/g/personal/lclaudio_inovacaobrain_com_br/En7ez1L69lpDgwVzTMgGKb0BpHkthQGvSf-isNUrAb2MtQ?e=AUfx0G Drive]
== Apresentação para o CoE ==
* [https://algarnet.sharepoint.com/:v:/s/NcleoAutomaesAlgarTelecom/EeDcV54_9BhMse82L3jPyGMBV_NAkEsh7VyuPnXfxNPmnA?e=Vo78Sg Gravação da Apresentação]
<span id="referências"></span>
<span id="referências"></span>
== Referências ==
== Referências ==
Linha 660: Linha 745:
* [https://aws.amazon.com/pt/ec2/instance-types/g5/ Instâncias G5 do Amazon EC2 | Amazon Web Services]
* [https://aws.amazon.com/pt/ec2/instance-types/g5/ Instâncias G5 do Amazon EC2 | Amazon Web Services]
* [https://aws.amazon.com/pt/ec2/instance-types/p4/ Instâncias P4d do Amazon EC2 | AWS]
* [https://aws.amazon.com/pt/ec2/instance-types/p4/ Instâncias P4d do Amazon EC2 | AWS]
* [https://aws.amazon.com/pt/ec2/instance-types/p5/ Instâncias P5 do Amazon EC2 - AWS]
* [https://cloud.google.com/compute/all-pricing?hl=pt-br Preços | Compute Engine: máquinas virtuais (VMs) | Google Cloud]
* [https://gcloud-compute.com/a2-highgpu-1g.html a2-highgpu-1g - Google Cloud Compute Machine]
* [https://gcloud-compute.com/a2-highgpu-1g.html a2-highgpu-1g - Google Cloud Compute Machine]
* [https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/#pricing Pricing - Linux Virtual Machines | Microsoft Azure]
* [https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/#pricing Pricing - Linux Virtual Machines | Microsoft Azure]
Linha 679: Linha 766:
* [https://platform.openai.com/tokenizer OpenAI Tokenizer]
* [https://platform.openai.com/tokenizer OpenAI Tokenizer]
* [https://docs.mystic.ai/docs/llama-2-with-vllm-7b-13b-multi-gpu-70b Llama 2 chat with vLLM]
* [https://docs.mystic.ai/docs/llama-2-with-vllm-7b-13b-multi-gpu-70b Llama 2 chat with vLLM]
* [https://www.viperatech.com/product/nvidia-a100/?currency=USD NVIDIA A100 Enterprise PCIe 40GB/80GB]
* [https://www.amazon.com/Tesla-NVIDIA-Learning-Compute-Graphics/dp/B0C3XH4QSJ Tesla H100 80GB NVIDIA Deep Learning GPU Compute Graphics Card]
* [https://www.dell.com/en-us/shop/dell-poweredge-servers/poweredge-r750xa-rack-server/spd/poweredge-r750xa/pe_r750xa_14823_vi_vp PowerEdge R750XA Rack Server]
* [https://www.dell.com/en-us/shop/dell-poweredge-servers/poweredge-r760xa-rack-server/spd/poweredge-r760xa/pe_r760xa_16902_vi_vp PowerEdge R760xa Rack Server]
* [https://ai.meta.com/blog/meta-llama-3/ Introducing Meta Llama 3: The most capable openly available LLM to date]
* [https://artificialanalysis.ai/ Model &amp; API Providers Analysis | Artificial Analysis]


<!--
== Histórico  ==
Anotações Paper
* [[19/04/2024 - Reunião para apresentar a pesquisa para toda a equipe do CoE]]
- Dois modelos, diferentes parâmetros: Llama 2 e Llama 2 Chat
** Atores: Davi Lacerda (BRAIN), Ton Beppu (BRAIN), Enock Cabral (Algar Telecom) e equipe do CoE
- Modelo com 13B é mais interessante que o de 7B
- Llama não é tão "preparado" para programação -> Code Llama*
- Modelos closed-source são superiores ao Llama 2, no entanto, o modelo de 70B se aproxima bastante ao GPT-3.5(ChatGPT gratuito). Com exceção do benchmark HumanEval(0-shot/benchmark de programação), onde a diferença é discrepante.
-->
<!--
Qual o objetivo da pesquisa? Qual a finalidade/aplicação(ChatGPT, RAG, etc)? Modelos base/fine-tuned/quantizados? Comparação com outros modelos open-source(Mistral, BLOOM, etc.)?
Luiz Claúdio:
    - Estudar sobre o Llama
Enock:
    - Hospedar localmente
    - Segurança dos dados
    - Usar documento como contexto
    - Treinar LLM com documentos
    - Documentos não estruturados
-->
<!--
Rascunho sobre hospedar modelo local:
- Considerar multiplos usuários acessando o modelo(tempo de espera para inferência, etc)
- Diferenças de hardware para modelos base/fine-tuned/quantizados
    - Quantização: reduzir o tamanho do modelo, mas pode afetar a acurácia, menor necessidade de hardware(GGUF, GGML, GPTQ, etc.)
-->
<!--
Data: 15/02/2024
Ton:
- Pesquisar valores de cloud(12, 24 e 36 meses)
- Pesquisar valores de Llama via API
- Pesquisar startups, médias e grandes empresas que implementam o Llama
- Comparar Llama com outras LLM(open e closed-source) como Mistral, Copilot
- Conversar com Leandro* sobre servidores(comprar/alugar)
*Ton irá passar o contato
-->
<!--
Proativa:


* [[29/04/2024 - Reunião para entender o fluxo de documentos do "1º Faturamento"]]
** Atores: Davi Lacerda (BRAIN), Manoel Botelho (BRAIN),  Ingrid Rossi (BRAIN) e Gabriel Pereira (Algar Telecom)


-->
== Pesquisadores  ==
<!--
TODO:
- Falar com Plinio sobre 360 -> Conversar com Enock
- Terminar tabela API e criar tabela com preço das placas de vídeo
- Comparar Llama com outros modelos open-source mais recentes(Mistral)


Resultados:
* Davi Lacerda
- Plinio ainda não definiu a etapa anterior aos workshops
* Deise Ribeiro
-->
* Enock Cabral Vieira
<!--
Ton(20/02/2024):
- Comparar 3 "blocos"(1000, 5000, 10000 usuários) x 3 opções(local, cloud-hardware, api) em relação a custo
-->

Edição atual tal como às 17h08min de 17 de julho 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:

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.

Modelos disponíveis do Llama Code por meio do Hugging Face

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.

OpenAI Tokenizer

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.

Comparação com modelos open-source

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.

Comparação com modelos open-source em relação ao tamanho da janela de contexto

Suporte a linguagens

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

Distribuição de linguages 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.

Comparação do Llama 3 com outros modelos em relação ao tamanho da janela de contexto

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.

Comparativo de modelos futuros

Apresentação para o CoE

Referências

Histórico

Pesquisadores

  • Davi Lacerda
  • Deise Ribeiro
  • Enock Cabral Vieira