Linha 585: Linha 585:
<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]]


</div>
</div>
<span id="suporte-a-linguagens"></span>
<span id="suporte-a-linguagens"></span>
== Suporte a linguagens ==
== Suporte a linguagens ==



Edição das 16h25min de 11 de março de 2024

Llama (Large Language Model Meta AI)

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.

É 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 24GB(1x Nvidia A10/A10G)
meta-llama/Llama-2-13b-chat-hf 40GB(1x Nvidia A100 40GB)
meta-llama/Llama-2-70b-chat-hf 160GB(4x Nvidia A100 40GB)

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

Preço

Nvidia A10/A10G

3.500,00 USD1

Nvidia A100(40GB)

9.500,00 USD1

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

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

Nvidia A100(40GB)

Sob-Demanda

12 Meses

36 Meses

Sob-Demanda

12 Meses

36 Meses

Hugging Face

1,050 USD

-

-

4,130 USD

-

-

AWS

1,006 USD1

0,604 USD1

0,402 USD1

4,096 USD2

2,402 USD2

1,446 USD2

Google Cloud

-

-

-

3,673 USD

2,313 USD

1,285 USD

Azure

3,200 USD

2,663 USD

1,974 USD

3,399 USD2

2,827 USD2

1,703 USD2

Oracle

2,000 USD

1,968 USD

1,968 USD

3,050 USD2

2,992 USD2

2,992 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

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:

Quantidade de Usuários

Local

Cloud

API

1000

-

-

1.836,90 USD

2500

-

-

4.592,25 USD

5000

-

-

9.184,50 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 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.

Llama 70B Chat x Mistral 8x7B

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.

Comparação com modelos closed-source

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:

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.

Modelo Intervalo de Treinamento Mês de lançamento
Llama 1 12/2022 - 02/2023(3 meses) 02/2023
Llama 2 01/2023 - 07/2023(7 meses) 07/2023
Llama 3

Referências