Teste de Velocidade de Modelos de Linguagem Grandes
Vamos testar a velocidade dos LLMs na GPU versus a CPU
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.

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:

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

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.
Links úteis
- Desempenho de LLMs e Canais PCIe: Considerações Importantes
- Detecção de Falácias Lógicas com LLMs
- Aplicativo Android para detecção de falácias lógicas: https://www.logical-fallacy.com/articles/detector-android-app/
- Mova modelos Ollama para um disco ou pasta diferente
- Auto-hospedagem do Perplexica - com Ollama
- Como Ollama lida com requisições paralelas
- Teste: Como Ollama utiliza o desempenho da CPU Intel e núcleos eficientes
- Fornecedores de LLMs em nuvem
- Problemas de degradação em CPUs da 13ª e 14ª geração da Intel
- O Quadro RTX 5880 Ada 48GB é bom?