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.

Testando a velocidade de modelos de linguagem grandes na detecção de falácias lógicas - relógio de areia

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:

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 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.