À propos du projet

PowerInfer est un environnement d'exécution d'inférence pour déployer des modèles de langage volumineux sur un ordinateur personnel. Sa conception exploite la localité d'activation : les neurones constamment actifs sont conservés sur le GPU, tandis que les neurones dépendants de l'entrée sont exécutés sur le CPU. Des prédicteurs adaptatifs et des opérateurs épars conscients des neurones guident cette division, réduisant la pression sur la mémoire GPU et les transferts de données CPU-GPU. L'inférence hybride peut utiliser toute la VRAM disponible ou suivre une limite configurable --vram-budget ; l'inférence CPU seul est également disponible. Le projet utilise des fichiers PowerInfer GGUF contenant les poids du modèle et du prédicteur, avec des outils pour convertir les dépôts de modèles et de prédicteurs d'origine. Il prend en charge la quantification INT4 Q4_0, un mode d'inférence dense limité, le service local, la génération par lots et l'évaluation de perplexité. Ses exemples de ligne de commande suivent en grande partie l'utilisation de llama.cpp, bien que --vram-budget remplace -ngl pour le déchargement PowerInfer. Les familles de modèles documentées incluent Falcon-40B, les variantes ReLU de Llama 2, ProSparse Llama 2 et Bamboo-7B. La compatibilité n'est pas générale : la FAQ indique que les modèles doivent utiliser des activations ReLU, ReGLU ou Squared ReLU, donc les architectures non prises en charge telles que Mistral, Llama original et Qwen ne sont actuellement pas couvertes. PowerInfer se construit avec CMake et Python sur Linux ou Windows avec des CPU x86-64 AVX2, offrant des chemins NVIDIA CUDA et AMD ROCm/HIP ainsi qu'un fonctionnement CPU seul. L'inférence CPU Apple Silicon est répertoriée pour macOS, mais le README indique qu'elle n'est pas optimisée là-bas et l'inférence éparse Metal reste planifiée. Le README rapporte des résultats de référence sur des tests spécifiques RTX 4090 et RTX 2080 Ti et lie un article pour les détails d'évaluation.