Test : Comment Ollama utilise les performances du processeur Intel et les cœurs efficaces

Ollama sur processeur Intel : cœurs d'efficacité vs cœurs de performance

Sommaire

J’ai une théorie à tester - si l’utilisation de tous les cœurs d’un processeur Intel augmenterait la vitesse des LLM ? Cela me tracasse que le nouveau modèle gemma3 27 bit (gemma3:27b, 17 Go sur ollama) ne tienne pas dans les 16 Go de VRAM de mon GPU, et qu’il s’exécute partiellement sur le CPU.

Pour plus d’informations sur le débit, la latence, la VRAM et les benchmarks à travers les environnements d’exécution et le matériel, voir Performance des LLM : Benchmarks, Bottlenecks & Optimisation.

Pour être précis

ollama ps

affiche

gemma3:27b    a418f5838eaf    22 Go    29%/71% CPU/GPU

Bien que cela ne semble pas terrible, c’est la répartition des couches. La charge réelle est : GPU : 28 %, CPU : 560 %. Oui, plusieurs cœurs sont utilisés.

Le portrait de Llama et les processeurs volants

Et voici une idée :

Et si on poussait ollama à utiliser TOUS les cœurs du processeur Intel - à la fois les cœurs de Performance et les cœurs Efficaces ?

Paramètre de configuration OLLAMA_NUM_THREADS

Ollama a un paramètre de configuration d’environnement OLLAMA_NUM_THREADS qui devrait indiquer à ollama combien de threads et de cœurs il devrait utiliser.

J’ai d’abord essayé de le limiter à 3 cœurs :

sudo xed /etc/systemd/system/ollama.service

# ajouter OLLAMA_NUM_THREADS=3 comme
# Environment="OLLAMA_NUM_THREADS=3"

sudo systemctl daemon-reload
sudo systemctl restart ollama

mais cela n’a pas fonctionné.

Ollama continuait à utiliser environ 560 % du CPU lors de l’exécution du LLM Gemma 3 27B.

Mauvaise chance.

Option de appel num_thread

Essayons d’appeler

curl http://localhost:11434/api/generate -d '
{  
"model": "gemma3:27b",  
"prompt": "Pourquoi le ciel est-il bleu ?",  
"stream": false,
"options":{
  "num_thread": 8
}
}'  | jq .

Résultat :

  • Utilisation du CPU : 585 %
  • Utilisation du GPU : 25 %
  • Puissance du GPU : 67 W
  • Évaluation de performance : 6,5 tokens/sec

Maintenant, essayons de doubler les cœurs. Disons à ollama d’utiliser un mélange de cœurs de performance et de cœurs efficaces :

curl http://localhost:11434/api/generate -d '
{  
"model": "gemma3:27b",  
"prompt": "Pourquoi le ciel est-il bleu ?",  
"stream": false,
"options":{
  "num_thread": 16
}
}'  | jq .

Résultat :

  • Utilisation du CPU : 1030 %
  • Utilisation du GPU : 26 %
  • Puissance du GPU : 70 W
  • Évaluation de performance : 7,4 t/s

Bien ! La performance a augmenté d’environ 14 % !

Maintenant allons plus loin ! Utilisons tous les cœurs physiques !

curl http://localhost:11434/api/generate -d '
{  
"model": "gemma3:27b",  
"prompt": "Pourquoi le ciel est-il bleu ?",  
"stream": false,
"options":{
  "num_thread": 20
}
}'  | jq .

Résultat :

  • Utilisation du CPU : 1250 %
  • Utilisation du GPU : 10-26 % (instable)
  • Puissance du GPU : 67 W
  • Évaluation de performance : 6,9 t/s

D’accord. Maintenant nous voyons une baisse de performance. Essayons un mélange de 8 cœurs de performance + 4 cœurs efficaces :

curl http://localhost:11434/api/generate -d '
{  
"model": "gemma3:27b",  
"prompt": "Pourquoi le ciel est-il bleu ?",  
"stream": false,
"options":{
  "num_thread": 12
}
}'  | jq .

Résultat :

  • Utilisation du CPU : 801 %
  • Utilisation du GPU : 27 % (instable)
  • Puissance du GPU : 70 W
  • Évaluation de performance : 7,1 t/s

Ici et là.

À titre de comparaison - le modèle Gemma 3 14b est moins intelligent que le Gemma 27b, mais s’adapte bien à la VRAM du GPU.

curl http://localhost:11434/api/generate -d '
{  
"model": "gemma3:12b-it-qat",  
"prompt": "Pourquoi le ciel est-il bleu ?",  
"stream": false
}'  | jq .

Résultat :

  • Utilisation du CPU : 106 %
  • Utilisation du GPU : 94 % (instable)
  • Puissance du GPU : 225 W
  • Évaluation de performance : 61,1 t/s

C’est ce qu’on appelle une performance. Même si le Gemma 3 27b est plus intelligent que le 14b, il ne l’est pas dix fois !

Conclusion

Si le LLM ne tient pas dans la VRAM du GPU et que certaines couches sont déchargées par Ollama sur le CPU

Pour plus de benchmarks, de réglage CPU/GPU et de conseils sur la performance, consultez notre Performance des LLM : Benchmarks, Bottlenecks & Optimisation hub.

Liens utiles