Test di velocità dei modelli linguistici di grandi dimensioni
Verifichiamo la velocità degli LLM su GPU rispetto al CPU
Confronto della velocità di previsione di diverse versioni di LLM: llama3 (Meta/Facebook), phi3 (Microsoft), gemma (Google), mistral (open source) su CPU e GPU.
Sto utilizzando lo stesso testo di campione di quello precedente dove ho confrontato la qualità di rilevamento degli errori logici di questi LLM.
Guarda, a prima vista, tutto sembra perfettamente ragionevole:
troppi persone, non abbastanza case.
Ma non è mai così semplice,
come dovrebbe sapere un ex ministro degli affari domestici.
TL;DR
Sui GPU gli LLM vengono eseguiti approssimativamente 20 volte più velocemente, ma su CPU sono comunque abbastanza gestibili.
Descrizione dell’ambiente di test
Ho eseguito i seguenti modelli linguistici di grandi dimensioni su due PC
- Vecchio con CPU a 4 core 4th gen i5 (i5-4460 - prodotto nel 2014) e
- Nuovo con GPU RTX 4080 (prodotto nel 2022) con 9728 CUDA cores e 304 tensor cores.
Risultati del test
Ecco i risultati:
Model_Name_Version__________ | RAM GPU | Durata GPU | Prestazioni GPU | RAM principale | Durata CPU | Prestazioni CPU | Differenza prestazioni |
---|---|---|---|---|---|---|---|
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 |
Le prestazioni del modello sono indicate nelle colonne “Prestazioni GPU” e “Prestazioni CPU”.
Il guadagno di velocità passando dalla CPU alla GPU è indicato nella colonna “Differenza prestazioni”.
Non dovremmo prestare molta attenzione alle colonne “durata” - questo indicatore dipende dalle prestazioni del modello e dalla lunghezza del testo prodotto. Tutti i modelli producono testi di lunghezza diversa. Queste colonne forniscono solo un’indicazione del tempo di attesa.
Conclusione 1 - Differenza di prestazioni
La differenza di velocità tra GPU e CPU non è così grande come si potrebbe aspettare.
Serio? Tutte le legioni (10k+) di core Ada Tensor & Cuda contro 4 spartani Haswell, e solo 20 volte la differenza. Pensavo fosse 100-1000 volte.
Conclusione 2 - Costo per previsione è quasi lo stesso
- questo nuovo PC ha un prezzo di circa 3500AUD
- quel vecchio PC ora costa probabilmente 200AUD
Dallo sito PCCCaseGear:
Da ebay (potresti voler aggiungere 8GB di RAM extra per arrivare a 16GB totali - quindi arrotondiamo a 200AUD):
Potresti averne bisogno di 20 di quei vecchi pc per ottenere la stessa capacità di elaborazione, quindi 200AUD * 20 = 4000AUD.
Conclusione 3 - Legge di Moore
Legge di Moore implica che le prestazioni dei computer raddoppino ogni due anni.
Intel ha iniziato la produzione dell’i5-4460 nel 2014. Nvidia ha iniziato la produzione di una delle RTX 4080 nel 2022. L’aumento di prestazioni previsto dovrebbe essere ~16 volte.
Direi che la legge di Moore funziona ancora.
Ma tieni presente che il DELL 9020 era un tempo un workstation di base, e il PC con RTX 4080 è ora un PC avanzato per grafica/gaming. Leggermente diversa classe di peso.
Link utili
- Prestazioni LLM e Lane PCIe: Considerazioni chiave
- Rilevamento degli errori logici con LLM
- App Android per rilevatore di errori logici: https://www.logical-fallacy.com/articles/detector-android-app/
- Spostare i modelli Ollama su un diverso disco o cartella
- Self-hosting Perplexica - con Ollama
- Come Ollama gestisce le richieste parallele
- Test: Come Ollama utilizza le prestazioni e i core efficienti della CPU Intel
- Fornitori LLM in cloud
- Problemi di degradazione nei processori Intel 13° e 14° generazione
- Il Quadro RTX 5880 Ada 48GB è buono?