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] | |||
== 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 | <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] | ||
| | | 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] | ||
| | | 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] | ||
| | | 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: | ||
<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 | 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> | ||
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="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 | 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: | [[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: | [[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: | [[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 | 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. | |||
<div class="figure"> | |||
[[File:llama-3-context-window.png|Comparação do Llama 3 com outros modelos em relação ao tamanho da janela de contexto|512px]] | |||
</div> | |||
Além disso, a Meta está se planejando em relação ao futuro do modelo para incrementar diversas melhorias como: | |||
| Llama | |||
* 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. | |||
<div class="figure"> | <div class="figure"> | ||
[[File: | [[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 & API Providers Analysis | Artificial Analysis] | |||
== Histórico == | |||
* [[19/04/2024 - Reunião para apresentar a pesquisa para toda a equipe do CoE]] | |||
** Atores: Davi Lacerda (BRAIN), Ton Beppu (BRAIN), Enock Cabral (Algar Telecom) e equipe do CoE | |||
- | |||
* [[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 == | |||
* Davi Lacerda | |||
* Deise Ribeiro | |||
* Enock Cabral Vieira | |||
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:
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:
- GGML
- Permite a inferência por meio da CPU, não sobrecarregando a GPU
- Método depreciado(surgiu como “protótipo”)
- Exemplo: TheBloke/Llama-2-7B-Chat-GGML
- GGUF
- É uma “versão atualizada” do GGML, visando aumentar a compatibilidade com diferentes modelos de carregamento(model loader).
- Exemplo: TheBloke/Llama-2-7B-Chat-GGUF
- GPTQ
- A inferência é feita pela GPU
- Exemplo: TheBloke/Llama-2-7B-Chat-GPTQ
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.
Link do Drive
Apresentação para o CoE
Referências
- Llama Model Card
- Model Details
- Llama 2: Open Foundation and Fine-Tuned Chat Models
- Llama
- Llama 2 FAQs
- Sizing Guide - NVIDIA Docs
- Numbers every LLM Developer should know
- Hugging Face - Pricing
- Instâncias G5 do Amazon EC2 | Amazon Web Services
- Instâncias P4d do Amazon EC2 | AWS
- Instâncias P5 do Amazon EC2 - AWS
- Preços | Compute Engine: máquinas virtuais (VMs) | Google Cloud
- a2-highgpu-1g - Google Cloud Compute Machine
- Pricing - Linux Virtual Machines | Microsoft Azure
- Compute Pricing | Oracle
- Mark Zuckerberg Instagram post about AI and Llama 3
- Introducing Code Llama, a state-of-the-art large language model for coding
- codellama (Code Llama)
- meta-llama (Meta Llama 2)
- Introducing LLaMA: A foundational, 65-billion-parameter large language model
- Measuring Massive Multitask Language Understanding
- BIG-Bench Hard
- AGIEval
- TriviaQA
- GSM8K - Grade School Math
- HumanEval
- AWS Bedrock
- Microsoft Azure Marketplace
- Replicate
- OpenAI Tokenizer
- Llama 2 chat with vLLM
- NVIDIA A100 Enterprise PCIe 40GB/80GB
- Tesla H100 80GB NVIDIA Deep Learning GPU Compute Graphics Card
- PowerEdge R750XA Rack Server
- PowerEdge R760xa Rack Server
- Introducing Meta Llama 3: The most capable openly available LLM to date
- Model & API Providers Analysis | Artificial Analysis
Histórico
- 19/04/2024 - Reunião para apresentar a pesquisa para toda a equipe do CoE
- Atores: Davi Lacerda (BRAIN), Ton Beppu (BRAIN), Enock Cabral (Algar Telecom) e equipe do CoE
- 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
- Davi Lacerda
- Deise Ribeiro
- Enock Cabral Vieira
