Teste de Velocidade de Grandes Modelos de Linguagem
Vamos testar a velocidade dos LLMs em GPU versus CPU.
Comparando a velocidade de predição de várias versões de LLMs: llama3 (Meta/Facebook), phi3 (Microsoft), gemma (Google), mistral (código aberto) em CPU e GPU.
Para mais informações sobre throughput, latência, VRAM e benchmarks entre runtimes e hardware, veja LLM Performance: Benchmarks, Bottlenecks & Optimization.

Estou usando o mesmo texto de amostra do teste anterior, onde comparei a qualidade de detecção de falácias lógicas desses LLMs.
Olhe, à primeira vista, tudo soa perfeitamente razoável:
muitas pessoas, poucas casas.
Mas nunca é tão simples,
como um ex-ministro de assuntos internos deveria saber.
TL;DR
Na GPU, os LLMs rodam aproximadamente 20 vezes mais rápido, mas na CPU ainda são bastante gerenciáveis.
Descrição do Banco de Testes
Executei os Large Language Models abaixo em dois PCs:
- Um antigo com CPU i5 de 4ª geração, 4 núcleos (i5-4460 - produzido em 2014) e
- Um novo com GPU RTX 4080 (produzido em 2022) com 9720 núcleos CUDA e 304 núcleos tensor.
Resultados do Teste
Abaixo estão os resultados:
| Model_Name_Version__________ | GPU RAM | GPU duration | GPU Perfor-mance | Main RAM | CPU Duration | CPU Perfor-mance | Perfor-mance diffe-rence |
|---|---|---|---|---|---|---|---|
| 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 “GPU performance” e “CPU performance”.
O ganho de velocidade ao migrar de CPU para GPU está na coluna “Performance difference”.
Não devemos prestar muita atenção às colunas de “duration” - esta métrica depende do desempenho do modelo e do comprimento do texto produzido. Todos os modelos produzem textos de comprimentos diferentes. Essas colunas apenas fornecem um tempo de espera indicativo.
Conclusão 1 - Diferença de desempenho
A diferença de velocidade entre GPU e CPU não é tão grande quanto se esperava.
Sério? Todos os exércitos (10k+) de núcleos Ada Tensor & Cuda versus 4 espartanos Haswell, e apenas uma diferença de 20 vezes. Eu esperava que fosse 100-1000 vezes.
Conclusão 2 - Custo por predição é quase o mesmo
- o preço deste novo PC gira em torno de 3500AUD
- aquele PC antigo provavelmente custa 200AUD agora
Do site da PCCCaseGear:

Do ebay (você pode querer adicionar 8GB extras de RAM para chegar a 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 produção de uma das RTX 4080 em 2022. O aumento de desempenho esperado deveria ser de ~16 vezes.
Eu diria que a Lei de Moore ainda funciona.
Mas tenha em mente que o DELL 9020 era, na época, uma estação de trabalho básica, e o PC com RTX 4080 é, agora, um PC avançado de gráficos/jogos. Classes de peso ligeiramente diferentes.
Para mais benchmarks, escolhas de hardware e ajuste de desempenho, verifique nosso hub LLM Performance: Benchmarks, Bottlenecks & Optimization.
Links úteis
- LLM Performance and PCIe Lanes: Key Considerations
- Logical Fallacy Detection with LLMs
- Logical Fallacy detector Android App: https://www.logical-fallacy.com/articles/detector-android-app/
- Move Ollama Models to Different Drive or Folder
- Self-hosting Perplexica - with Ollama
- How Ollama Handles Parallel Requests
- Test: How Ollama is using Intel CPU Performance and Efficient Cores
- Cloud LLM Providers
- Degradation Issues in Intel’s 13th and 14th Generation CPUs
- Is the Quadro RTX 5880 Ada 48GB Any Good?