For the complete documentation index, see llms.txt. This page is also available as Markdown.

PowerInfer

Inférence LLM hybride CPU/GPU exploitant la localité d’activation — 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.

🌟 Plus de 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 présentent une forte localité d’activation — un petit sous-ensemble de neurones (« neurones chauds ») est activé de façon constante à travers la plupart des étapes d’inférence, tandis que la majorité reste inactive.

PowerInfer utilise cette propriété pour :

  1. Conserver 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 de 70 milliards avec seulement 16 Go de VRAM au lieu d’exiger plus de 140 Go entièrement sur le GPU.

Fonctionnalités clés

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

  • Planification sensible aux neurones — le prédicteur détermine le routage CPU vs GPU pour chaque inférence

  • Dégradation minimale de la qualité — conserve plus de 95 % de la qualité en précision complète

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

  • Déchargement CPU sensible au 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 à celui des alternatives cloud. Avec PowerInfer :

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

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

  • Traitez de longues fenêtres de contexte avec la RAM CPU comme dépassement

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


Configuration matérielle requise

Taille du modèle
VRAM minimale
RAM recommandée
Performances

7B

4 Go

16 Go

Excellente

13B

6 Go

32 Go

Très bonne

34B

12 Go

64 Go

Bon

70B

16 Go

128 Go

Modérée

Le CPU compte : PowerInfer décharge les neurones froids vers le CPU. Un CPU à grand nombre de cœurs (AMD EPYC, Intel Xeon) avec une bande passante mémoire rapide 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.ai place de marché, filtrez selon :

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

  • Nombre élevé de cœurs CPU (16 cœurs ou plus idéalement)

  • 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:

Construisez et envoyez vers Docker Hub ou utilisez en ligne avec Clore.ai :

Étape 3 : déployez sur Clore.ai

Dans votre commande Clore.ai, définissez :

  • Image Docker : yourname/powerinfer:latest

  • Ports : 22 (SSH)

  • Environnement : NVIDIA_VISIBLE_DEVICES=all


Compiler PowerInfer à partir des sources

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

Vérifier la compilation


Obtenir les modèles

Télécharger les modèles GGUF

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

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

PowerInfer a besoin d’un prédicteur d’activation des neurones pour chaque modèle. C’est la principale différence avec llama.cpp :


Exécution de l’inférence

Inférence de base (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 sensible aux neurones :

Mode de discussion interactif

Mode serveur (API compatible OpenAI)


Optimisation de la répartition des couches GPU

Le --gpu-layers paramètre détermine combien de couches du transformeur conserver 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

24GB

Toutes (32)

Toutes (40)

Toutes (60)

20 couches

48GB

Toutes (32)

Toutes (40)

Toutes (60)

Toutes (80)


Références de performance

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

Moteur
Couches GPU
Jetons/s

llama.cpp (GPU uniquement)

20/80

~4 jetons/s

llama.cpp (CPU uniquement)

0/80

~1 jeton/s

PowerInfer

20/80 + prédicteur

~12 jetons/s


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 cours d’exécution, utilisez n’importe quel client compatible OpenAI :


Dépannage

Mémoire CUDA insuffisante

Inférence CPU lente

Échec de la compilation


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 dotés de GPU à forte VRAM ET de 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,07–0,21 $/h

70B (avec 64 Go+ de RAM)

~8–12 jetons/s

RTX 4090

24 Go

0,14–0,42 $/h

70B (déchargement CPU plus rapide)

~12–18 jetons/s

A100 40 Go

40 Go

70B (déchargement minimal)

~35–45 jetons/s

A100 80 Go

80 Go

70B en précision complète

~50–60 jetons/s

Le point idéal de PowerInfer : Une RTX 3090 à 0,07–0,21 $/h exécutant Llama 2 70B Q4 est une avancée majeure pour les utilisateurs soucieux de leur budget. Vous obtenez un modèle 70B pour 10 à 12× moins cher qu’une location A100. Le débit est plus faible (~10 jetons/s), mais pour la recherche ou l’inférence à faible trafic, le rapport qualité-prix est imbattable.

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

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


Ressources

Mis à jour

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