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.
Estou usando o mesmo texto de amostra do teste anterior onde comparei a qualidade de detecção de falácias lógicas desses LLMs.
Olha, à 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 eles ainda são bastante gerenciáveis.
Descrição da Configuração de Teste
Executei os seguintes Modelos de Linguagem Grandes 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 do Teste
Abaixo estão os resultados:
Model_Name_Version__________ | RAM da GPU | Duração da GPU | Desempenho da GPU | RAM 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étrico 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 velocidade entre GPU e CPU não é tão grande quanto se esperava.
Sério? Todas as legiões (10k+) de núcleos Ada Tensor & Cuda versus 4 soldados Haswell, e apenas 20 vezes a diferença. Pensei que seria 100-1000 vezes.
Conclusão 2 - Custo por previsão é praticamente o mesmo
- esse novo PC custa cerca de 3500AUD
- aquele PC antigo 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 a mesma taxa de processamento, 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, um computador de trabalho básico, e o PC com RTX 4080 é agora, diria eu, um computador avançado de gráficos/jogos. Classe de peso ligeiramente diferente.
Links úteis
- Desempenho do LLM e Canais PCIe: Considerações Chave
- 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/
- Mover modelos Ollama para um disco ou pasta diferente
- Auto-hospedagem do Perplexica - com Ollama
- Como o Ollama lida com solicitações paralelas
- Teste: Como o Ollama usa o desempenho e núcleos eficientes da CPU Intel
- Fornecedores de LLM na nuvem
- Problemas de degradação em CPUs da 13ª e 14ª geração da Intel
- O Quadro RTX 5880 Ada 48GB é bom?