PowerInfer
CPU/GPU-Hybrid-LLM-Inferenz, die Aktivierungslokalität ausnutzt — führt 70B-Parametermodelle auf einer einzelnen Consumer-GPU aus, indem die Berechnung intelligent zwischen CPU und GPU aufgeteilt wird.
🌟 8.000+ GitHub-Sterne | Entwickelt bei SJTU IPADS | MIT-Lizenz
Was ist PowerInfer?
PowerInfer ist eine Hochleistungs-Inferenz-Engine für große Sprachmodelle, die eine zentrale Erkenntnis ausnutzt: LLMs zeigen eine starke Aktivierungslokalität — eine kleine Teilmenge von Neuronen („heiße Neuronen“) wird über die meisten Inferenzschritte hinweg konsistent aktiviert, während der Großteil inaktiv bleibt.
PowerInfer nutzt diese Eigenschaft, um:
Heiße Neuronen auf der GPU halten für schnelle Berechnungen
Kalte Neuronen auf CPU/RAM auslagern ohne nennenswerten Qualitätsverlust
Dynamisch umleiten Berechnungen zwischen CPU und GPU basierend auf Aktivierungsmustern
Das Ergebnis: Sie können ein 70B-Modell mit nur 16 GB VRAM ausführen, statt 140 GB+ komplett auf der GPU zu benötigen.
Hauptfunktionen
Unterstützung für Consumer-GPUs — RTX 3090/4090 können 70B-Modelle ausführen
Neuronenbewusstes Scheduling — der Prädiktor bestimmt pro Inferenz die CPU- vs.-GPU-Routing-Entscheidung
Minimale Qualitätsverschlechterung — erhält >95 % der Qualität mit voller Präzision
llama.cpp-Kompatibilität — Unterstützung für das GGUF-Format
NUMA-bewusstes CPU-Offloading — optimiert für CPUs mit hoher Kernanzahl
Warum PowerInfer auf Clore.ai verwenden?
Clore.ai vermietet GPUs zu deutlich niedrigeren Kosten als Cloud-Alternativen. Mit PowerInfer:
Ausführen Llama 2 70B auf einer einzelnen RTX 4090 (24 GB VRAM)
GPU-Mietkosten im Vergleich zu Multi-GPU-Setups drastisch senken
Lange Kontextfenster mit CPU-RAM als Puffer verarbeiten
Modelle ausführen, für die zuvor teure A100/H100-Instanzen nötig waren
Hardware-Anforderungen
7B
4 GB
16 GB
Ausgezeichnet
13B
6 GB
32 GB
Sehr gut
34B
12 GB
64 GB
Gut
70B
16 GB
128 GB
Mäßig
Schnellstart auf Clore.ai
Schritt 1: Wählen Sie Ihren Server
Auf clore.ai Marktplatz filtern nach:
NVIDIA-GPU mit 16 GB+ VRAM (RTX 3090, RTX 4090, A100)
Hohe CPU-Kernanzahl (16+ Kerne ideal)
64 GB+ RAM für 70B-Modelle, 32 GB für 13B-Modelle
Schritt 2: Benutzerdefiniertes Docker-Image erstellen
PowerInfer benötigt ein benutzerdefiniertes Docker-Setup. Verwenden Sie dieses Dockerfile:
Builden und auf Docker Hub pushen oder inline mit Clore.ai verwenden:
Schritt 3: Auf Clore.ai bereitstellen
Setzen Sie in Ihrer Clore.ai-Bestellung:
Docker-Image:
yourname/powerinfer:latestPorts:
22(SSH)Umgebung:
NVIDIA_VISIBLE_DEVICES=all
PowerInfer aus dem Quellcode bauen
Wenn Sie es vorziehen, innerhalb des Containers zu bauen:
Build verifizieren
Modelle beziehen
GGUF-Modelle herunterladen
PowerInfer verwendet das GGUF-Format (wie llama.cpp):
Neuronen-Prädiktor generieren (erforderlich für PowerInfer)
PowerInfer benötigt für jedes Modell einen Neuronen-Aktivierungsprädiktor. Das ist der entscheidende Unterschied zu llama.cpp:
Zeit für die Prädiktorgenerierung: Das Erstellen eines Neuronen-Prädiktors kann je nach Modellgröße 30–60 Minuten dauern. Dies ist eine einmalige Operation — der Prädiktor wird bei späteren Ausführungen wiederverwendet.
Inferenz ausführen
Einfache Inferenz (ohne Prädiktor)
Zum Testen ohne Prädiktorgenerierung (standardmäßige GPU/CPU-Aufteilung):
PowerInfer-Modus (mit Prädiktor)
Voller PowerInfer-Modus mit neuronenbewusstem Routing:
Interaktiver Chat-Modus
Servermodus (OpenAI-kompatible API)
Optimierung der GPU-Layer-Aufteilung
Der --gpu-layers Parameter bestimmt, wie viele Transformer-Layer auf der GPU bleiben. Passen Sie dies an Ihre VRAM-Größe an:
Leitfaden zur Layer-Zuweisung:
8 GB
Alle (32)
20 Layer
10 Layer
4 Layer
16 GB
Alle (32)
Alle (40)
25 Layer
10 Layer
24 GB
Alle (32)
Alle (40)
Alle (60)
20 Layer
48GB
Alle (32)
Alle (40)
Alle (60)
Alle (80)
Leistungs-Benchmarks
Durchsatzvergleich (Llama 2 70B, RTX 3090)
llama.cpp (nur GPU)
20/80
~4 t/s
llama.cpp (nur CPU)
0/80
~1 t/s
PowerInfer
20/80 + Prädiktor
~12 t/s
3-fache Beschleunigung gegenüber standardmäßigem llama.cpp bei großer Modellinferenz auf Consumer-GPUs ist mit der neuronenbewussten Planung von PowerInfer typisch.
Als Dienst ausführen
Erstellen Sie einen systemd-Dienst für die dauerhafte API-Bereitstellung:
API-Nutzung
Sobald der Server läuft, verwenden Sie einen beliebigen OpenAI-kompatiblen Client:
Fehlerbehebung
CUDA Out of Memory
Langsame CPU-Inferenz
Build fehlgeschlagen
Häufiges Problem: Wenn cmake CUDA nicht finden kann, setzen Sie die CUDA_HOME Umgebungsvariable: export CUDA_HOME=/usr/local/cuda bevor Sie cmake ausführen.
GPU-Empfehlungen für Clore.ai
Das CPU/GPU-Hybrid-Design von PowerInfer verändert die Wirtschaftlichkeit beim Betrieb großer Modelle. Clore.ai-Server mit GPUs mit hohem VRAM UND schnellen CPUs sind ideal.
RTX 3090
24 GB
ca. 0,07–0,21 $/h
70B (mit 64 GB+ RAM)
~8–12 tok/s
RTX 4090
24 GB
ca. 0,14–0,42 $/h
70B (schnellere CPU-Auslagerung)
~12–18 tok/s
CPU ist genauso wichtig wie GPU: PowerInfer lagert „kalte“ Neuronen auf die CPU aus. Clore.ai-Server mit AMD-EPYC- oder Intel-Xeon-CPUs (viele Kerne, hohe Speicherbandbreite) übertreffen herkömmliche Single-Socket-Consumer-CPUs deutlich. Prüfen Sie die Serverspezifikationen, bevor Sie für große Modellaufgaben mieten.
Speicherbandbreiten-Engpass: Bei 70B-Modellen ist die Bandbreite des CPU-RAMs der begrenzende Faktor während der Berechnung kalter Neuronen. Server mit DDR5-ECC-RAM oder HBM-nahen Architekturen erzielen einen besseren Durchsatz.
Ressourcen
🐙 GitHub: github.com/SJTU-IPADS/PowerInfer
📄 Forschungspapier: PowerInfer: Schneller Betrieb großer Sprachmodelle mit einer Consumer-GPU
🤗 GGUF-Modelle: huggingface.co/TheBloke
🧩 SJTU IPADS Lab: ipads.se.sjtu.edu.cn
Zuletzt aktualisiert
War das hilfreich?