PowerInfer

Inférence LLM hybride CPU/GPU exploitant la localité des activations — exécutez des modèles de 70 milliards de paramètres sur un seul GPU grand public en répartissant intelligemment le calcul entre le CPU et le GPU.

🌟 8 000+ étoiles GitHub | Développé à SJTU IPADS | Licence MIT


Qu'est-ce que PowerInfer ?

PowerInfer est un moteur d'inférence haute performance pour les grands modèles de langage qui exploite une idée clé : Les LLM montrent une forte localité d'activation — un petit sous-ensemble de neurones (« neurones chauds ») est systématiquement activé pendant la plupart des étapes d'inférence, tandis que la majorité reste inactive.

PowerInfer utilise cette propriété pour :

  1. Garder les neurones chauds sur le GPU pour un calcul rapide

  2. Décharger les neurones froids vers le CPU/RAM sans perte de qualité significative

  3. Acheminer dynamiquement le calcul entre le CPU et le GPU en fonction des schémas d'activation

Le résultat : vous pouvez exécuter un modèle 70B avec seulement 16 Go de VRAM au lieu de nécessiter 140 Go+ entièrement sur GPU.

Capacités clés

  • Prise en charge des GPU grand public — RTX 3090/4090 peuvent exécuter des modèles 70B

  • Planification consciente des neurones — un prédicteur décide de l'acheminement CPU vs GPU pour chaque inférence

  • Dégradation minimale de la qualité — conserve >95 % de la qualité en pleine précision

  • Compatibilité avec llama.cpp — prise en charge du format GGUF

  • Déchargement CPU conscient de la NUMA — optimisé pour les CPU à grand nombre de cœurs

Pourquoi utiliser PowerInfer sur Clore.ai ?

Clore.ai loue des GPU à un coût bien inférieur aux alternatives cloud. Avec PowerInfer :

  • Exécuter Llama 2 70B sur un unique RTX 4090 (24 Go de VRAM)

  • Réduisez les coûts de location GPU par rapport aux configurations multi-GPU

  • Traitez de longues fenêtres de contexte en utilisant la RAM CPU comme débordement

  • Exécutez des modèles nécessitant auparavant des instances A100/H100 coûteuses


Exigences matérielles

Taille du modèle
VRAM min.
RAM recommandée
Performance

7B

4 Go

16 Go

Excellente

13B

6 Go

32 Go

Très bonne

34B

12 Go

64 Go

Bonne

70B

16 Go

128 Go

Modérée

circle-info

Le CPU compte : PowerInfer décharge les neurones froids sur le CPU. Un CPU à grand nombre de cœurs (AMD EPYC, Intel Xeon) avec une bande passante mémoire élevée améliore considérablement le débit pour les grands modèles.


Démarrage rapide sur Clore.ai

Étape 1 : Choisissez votre serveur

Sur clore.aiarrow-up-right place de marché, filtrez pour :

  • GPU NVIDIA avec 16 Go+ de VRAM (RTX 3090, RTX 4090, A100)

  • Nombre élevé de cœurs CPU (16+ cœurs idéal)

  • 64 Go+ de RAM pour les modèles 70B, 32 Go pour les modèles 13B

Étape 2 : Créez une image Docker personnalisée

PowerInfer nécessite une configuration Docker personnalisée. Utilisez ce Dockerfile:

Construire et pousser vers Docker Hub ou utiliser en ligne avec Clore.ai :

Étape 3 : Déployer sur Clore.ai

Dans votre commande Clore.ai, définissez :

  • Image Docker : votrenom/powerinfer:latest

  • Ports : 22 (SSH)

  • Environnement : NVIDIA_VISIBLE_DEVICES=all


Compiler PowerInfer depuis les sources

Si vous préférez compiler à l'intérieur du conteneur :

Vérifier la compilation


Obtention des modèles

Télécharger des modèles GGUF

PowerInfer utilise le format GGUF (comme llama.cpp) :

Générer le prédicteur de neurones (obligatoire pour PowerInfer)

PowerInfer a besoin d'un prédicteur d'activation neuronale pour chaque modèle. C'est le différenciateur clé par rapport à llama.cpp :

circle-exclamation

Exécution de l'inférence

Inférence basique (sans prédicteur)

Pour tester sans génération de prédicteur (répartition GPU/CPU standard) :

Mode PowerInfer (avec prédicteur)

Mode PowerInfer complet avec routage conscient des neurones :

Mode chat interactif

Mode serveur (API compatible OpenAI)


Optimisation de la répartition des couches GPU

Le --gpu-layers paramètre détermine combien de couches de transformeur garder sur le GPU. Ajustez-le en fonction de votre VRAM :

Guide d'allocation des couches :

VRAM GPU
Modèle 7B
Modèle 13B
Modèle 34B
Modèle 70B

8 Go

Toutes (32)

20 couches

10 couches

4 couches

16 Go

Toutes (32)

Toutes (40)

25 couches

10 couches

24 Go

Toutes (32)

Toutes (40)

Toutes (60)

20 couches

48 Go

Toutes (32)

Toutes (40)

Toutes (60)

Toutes (80)


Benchmarks de performance

Comparaison de débit (Llama 2 70B, RTX 3090)

Moteur
Couches GPU
Tokens/sec

llama.cpp (GPU uniquement)

20/80

~4 t/s

llama.cpp (CPU uniquement)

0/80

~1 t/s

PowerInfer

20/80 + prédicteur

~12 t/s

circle-check

Exécution en tant que service

Créez un service systemd pour un service API persistant :


Utilisation de l'API

Une fois le serveur en fonctionnement, utilisez n'importe quel client compatible OpenAI :


Dépannage

CUDA Out of Memory

Inférence CPU lente

Échec de la compilation

triangle-exclamation

Recommandations GPU Clore.ai

La conception hybride CPU/GPU de PowerInfer change l'économie d'exécution des grands modèles. Les serveurs Clore.ai avec des GPU à grande VRAM ET des CPU rapides sont idéaux.

GPU
VRAM
Prix Clore.ai
Modèle max (Q4)
Débit (Llama 2 70B Q4)

RTX 3090

24 Go

~0,12 $/h

70B (avec 64 Go+ RAM)

~8–12 tok/s

RTX 4090

24 Go

~0,70 $/h

70B (déchargement CPU plus rapide)

~12–18 tok/s

A100 40GB

40 Go

~1,20 $/h

70B (déchargement minimal)

~35–45 tok/s

A100 80GB

80 Go

~2,00 $/h

70B pleine précision

~50–60 tok/s

circle-info

Le point fort de PowerInfer : Le RTX 3090 à ~0,12 $/h exécutant Llama 2 70B Q4 est une percée pour les utilisateurs soucieux du budget. Vous obtenez un modèle 70B pour 10–12× moins cher qu'une location A100. Le débit est plus faible (~10 tok/s), mais pour la recherche ou une inférence à faible trafic, c'est une valeur imbattable.

Le CPU compte autant que le GPU : PowerInfer décharge les neurones « froids » sur le CPU. Les serveurs Clore.ai avec des CPU AMD EPYC ou Intel Xeon (beaucoup de cœurs, large bande passante mémoire) surpasseront nettement les CPU grand public mono-socket. Vérifiez les spécifications du serveur avant de louer pour travailler sur de grands modèles.

Goulot d'étranglement de la bande passante mémoire : Pour les modèles 70B, la bande passante de la RAM CPU est le facteur limitant lors du calcul des neurones froids. Les serveurs avec DDR5 ECC ou des architectures proches de la HBM verront un meilleur débit.


Ressources

Mis à jour

Ce contenu vous a-t-il été utile ?