Teste de Velocidade de Modelos de Linguagem Grandes

Vamos testar a velocidade dos LLMs na GPU versus a CPU

Conteúdo da página

Comparando a velocidade de previsão de várias versões de LLMs: llama3 (Meta/Facebook), phi3 (Microsoft), gemma (Google), mistral (open source) em CPU e GPU.

Para mais informações sobre throughput, latência, VRAM e benchmarks em diferentes runtimes e hardware, veja LLM Performance: Benchmarks, Bottlenecks & Optimization.

Testando a velocidade de modelos de linguagem grandes na detecção de falácias lógicas - cronômetro

Estou usando o mesmo texto de amostra do teste anterior onde eu comparei a qualidade de detecção de falácias lógicas desses LLMs.

Veja bem, à primeira vista, tudo parece perfeitamente razoável:
muitas pessoas, poucas casas.

Mas nunca é tão simples,
como um ex-ministro dos assuntos domésticos deveria saber.

TL;DR

Nos GPUs, os LLMs executam aproximadamente 20 vezes mais rápido, mas em CPUs ainda são bastante gerenciáveis.

Descrição do Ambiente de Teste

Executei os seguintes Grandes Modelos de Linguagem em dois PCs:

  • Velho com CPU de 4ª geração i5 de 4 núcleos (i5-4460 - produzido em 2014) e
  • Novo com GPU RTX 4080 (produzido em 2022) com 9728 núcleos CUDA e 304 núcleos tensor.

Resultados dos Testes

Abaixo estão os resultados:

Model_Name_Version__________ GPU RAM Duração da GPU Desempenho da GPU Memória principal Duração da CPU Desempenho da CPU Diferença de desempenho
llama3:8b-instruct-q4_0 5,8GB 2,1s 80t/s 4,7GB 49s 4,6t/s 17,4x
llama3:8b-instruct-q8_0 9,3GB 3,4s 56t/s 8,3GB 98s 2,7t/s 20,7x
phi3:3.8b 4,5GB 3,6s 98t/s 3,0GB 83s 7,2t/s 13,6x
phi3:3.8b-mini-4k-instruct-q8_0 6,0GB 6,9s 89t/s 4,6GB 79s 5,3t/s 16,8x
phi3:3.8b-mini-instruct-4k-fp16 9,3GB 4,2s 66t/s 7,9GB 130s 2,9t/s 22,8x
phi3:14b 9,6GB 4,2s 55t/s 7,9GB 96s 2,7t/s 21,2x
phi3:14b-medium-4k-instruct-q6_K 12,5GB 8,9s 42t/s 11,1GB 175s 1,9t/s 21,8x
mistral:7b-instruct-v0.3-q4_0 5,4GB 2,1s 87t/s 4,1GB 36s 4,9t/s 17,8x
mistral:7b-instruct-v0.3-q8_0 8,7GB 2,3s 61t/s 7,5GB 109s 2,9t/s 21,0x
gemma:7b-instruct-v1.1-q4_0 7,4GB 1,8s 82t/s 7,5GB 25s 4,4t/s 18,6x
gemma:7b-instruct-v1.1-q6_K 9,1GB 1,6s 66t/s 7,5GB 40s 3,0t/s 22,0x

O desempenho do modelo está nas colunas “Desempenho da GPU” e “Desempenho da CPU”.

O ganho de velocidade ao passar da CPU para a GPU está na coluna “Diferença de desempenho”.

Não devemos prestar muita atenção às colunas “Duração” - esse métrica depende do desempenho do modelo e do comprimento do texto produzido. Todos os modelos produzem textos de comprimentos diferentes. Essas colunas apenas dão uma indicação do tempo de espera.

Conclusão 1 - Diferença de desempenho

A diferença de desempenho entre GPU e CPU não é tão grande quanto se esperava.

Sério? Todas as legiões (10k+) de núcleos de tensores e CUDA da Ada vs 4 espartanos Haswell, e apenas 20 vezes a diferença. Pensei que seria 100-1000 vezes.

Conclusão 2 - Custo por previsão é praticamente o mesmo

  • o preço desse novo PC é cerca de 3500AUD
  • aquele velho PC agora custa provavelmente 200AUD

Do site da PCCCaseGear:

pc com RTX 4080super preço

Do eBay (você pode querer adicionar 8GB de RAM extra para torná-lo 16GB no total - então vamos arredondar para 200AUD):

Dell 9020 do eBay

Você pode precisar de 20 desses PCs antigos para ter o mesmo throughput, então 200AUD * 20 = 4000AUD.

Conclusão 3 - Lei de Moore

A Lei de Moore implica que o desempenho dos computadores dobra a cada dois anos.

A Intel começou a produção do i5-4460 em 2014. A NVIDIA começou a produzir uma das RTX 4080 em 2022. O aumento de desempenho esperado deveria ser ~16 vezes.

Diria que a Lei de Moore ainda funciona.

Mas lembre-se de que o DELL 9020 era, na época, uma estação de trabalho básica, e o PC com RTX 4080 é agora, diria eu, um PC avançado de gráficos/jogos. Classe de peso ligeiramente diferente.

Para mais benchmarks, escolhas de hardware e ajuste de desempenho, consulte nosso LLM Performance: Benchmarks, Bottlenecks & Optimization hub.