PowerInfer

CPU/GPU-hybride LLM-Inferenz, die Aktivierungs-Lokalität ausnutzt — Führe 70B-Parameter-Modelle auf einer einzigen Consumer-GPU aus, indem die Berechnung intelligent zwischen CPU und GPU aufgeteilt wird.

🌟 8.000+ GitHub-Sterne | Entwickelt an der SJTU IPADS | MIT-Lizenz


Was ist PowerInfer?

PowerInfer ist eine leistungsstarke Inferenz-Engine für Large Language Models, die eine zentrale Erkenntnis ausnutzt: LLMs zeigen starke Aktivierungs-Lokalität — eine kleine Teilmenge von Neuronen ("heiße Neuronen") wird konsistent über die meisten Inferenzschritte hinweg aktiviert, während die Mehrheit inaktiv bleibt.

PowerInfer nutzt diese Eigenschaft um:

  1. Halte heiße Neuronen auf der GPU für schnelle Berechnung

  2. Verlagere kalte Neuronen auf CPU/RAM ohne nennenswerten Qualitätsverlust

  3. Routiere dynamisch Berechnung zwischen CPU und GPU basierend auf Aktivierungsmustern

Das Ergebnis: Du kannst ein 70B-Modell mit nur 16GB VRAM statt mehr als 140GB ausschließlich auf GPU ausführen.

Wesentliche Fähigkeiten

  • Unterstützung für Consumer-GPUs — RTX 3090/4090 können 70B-Modelle ausführen

  • Neuronen-bewusste Planung — ein Prädiktor bestimmt pro Inferenz CPU- vs. GPU-Routing

  • Minimale Qualitätsverschlechterung — erhält >95% der Full-Precision-Qualität

  • Kompatibilität mit llama.cpp — Unterstützung des GGUF-Formats

  • NUMA-bewusstes CPU-Offloading — optimiert für CPUs mit hoher Kernzahl

Warum PowerInfer auf Clore.ai verwenden?

Clore.ai vermietet GPUs zu deutlich niedrigeren Kosten als Cloud-Alternativen. Mit PowerInfer:

  • Führe aus Llama 2 70B auf einer einzigen RTX 4090 (24GB VRAM)

  • Reduziere GPU-Mietkosten im Vergleich zu Multi-GPU-Setups

  • Verarbeite lange Kontextfenster mit CPU-RAM als Überlauf

  • Führe Modelle aus, die früher teure A100/H100-Instanzen erforderten


Hardwareanforderungen

Modellgröße
Min. VRAM
Empfohlenes RAM
Leistung

7B

4GB

16GB

Ausgezeichnet

13B

6GB

32GB

Sehr gut

34B

12GB

64GB

Gut

70B

16GB

128GB

Mäßig

circle-info

CPU ist wichtig: PowerInfer verlagert kalte Neuronen auf die CPU. Eine CPU mit hoher Kernzahl (AMD EPYC, Intel Xeon) und schneller Speicherbandbreite verbessert die Durchsatzrate für große Modelle erheblich.


Schnellstart auf Clore.ai

Schritt 1: Wähle deinen Server

Auf clore.aiarrow-up-right Marktplatz, filtere nach:

  • NVIDIA GPU mit 16GB+ VRAM (RTX 3090, RTX 4090, A100)

  • Hohe CPU-Kernanzahl (idealerweise 16+ Kerne)

  • 64GB+ RAM für 70B-Modelle, 32GB für 13B-Modelle

Schritt 2: Erstelle ein benutzerdefiniertes Docker-Image

PowerInfer benötigt ein benutzerdefiniertes Docker-Setup. Verwende dieses Dockerfile:

Baue und pushe zu Docker Hub oder verwende inline mit Clore.ai:

Schritt 3: Bereitstellung auf Clore.ai

Setze in deiner Clore.ai-Bestellung:

  • Docker-Image: deinname/powerinfer:latest

  • Ports: 22 (SSH)

  • Umgebung: NVIDIA_VISIBLE_DEVICES=all


PowerInfer aus dem Quellcode bauen

Wenn du es vorziehst, im Container zu bauen:

Build überprüfen


Modelle beschaffen

GGUF-Modelle herunterladen

PowerInfer verwendet das GGUF-Format (wie llama.cpp):

Neuron-Prädiktor erzeugen (erforderlich für PowerInfer)

PowerInfer benötigt für jedes Modell einen Neuron-Aktivierungs-Prädiktor. Das ist der entscheidende Unterschied zu llama.cpp:

circle-exclamation

Inferenz ausführen

Einfache Inferenz (kein Prädiktor)

Zum Testen ohne Prädiktor-Generierung (standardmäßige GPU/CPU-Aufteilung):

PowerInfer-Modus (mit Prädiktor)

Voller PowerInfer-Modus mit neuronenbewusstem Routing:

Interaktiver Chat-Modus

Server-Modus (OpenAI-kompatible API)


Optimierung der GPU-Layer-Aufteilung

Der --gpu-layers Parameter bestimmt, wie viele Transformer-Layers auf der GPU verbleiben sollen. Passe dies anhand deines VRAM an:

Layer-Zuweisungsleitfaden:

GPU-VRAM
7B-Modell
13B-Modell
34B-Modell
70B-Modell

8GB

Alle (32)

20 Layers

10 Layers

4 Layers

16GB

Alle (32)

Alle (40)

25 Layers

10 Layers

24GB

Alle (32)

Alle (40)

Alle (60)

20 Layers

48GB

Alle (32)

Alle (40)

Alle (60)

Alle (80)


Leistungs-Benchmarks

Durchsatzvergleich (Llama 2 70B, RTX 3090)

Engine
GPU-Layers
Tokens/Sek

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

circle-check

Als Dienst betreiben

Erstelle einen systemd-Service für persistentes API-Serving:


API-Nutzung

Sobald der Server läuft, verwende jeden OpenAI-kompatiblen Client:


Fehlerbehebung

CUDA: zu wenig Speicher

Langsame CPU-Inferenz

Build schlägt fehl

triangle-exclamation

Clore.ai GPU-Empfehlungen

Das CPU/GPU-hybride Design von PowerInfer verändert die Wirtschaftlichkeit des Betriebs großer Modelle. Clore.ai-Server mit GPUs mit hohem VRAM UND schnellen CPUs sind ideal.

GPU
VRAM
Clore.ai-Preis
Max. Modell (Q4)
Durchsatz (Llama 2 70B Q4)

RTX 3090

24 GB

~$0.12/Stunde

70B (mit 64GB+ RAM)

~8–12 tok/s

RTX 4090

24 GB

~$0.70/Stunde

70B (schnelleres CPU-Offload)

~12–18 tok/s

A100 40GB

40 GB

~$1.20/Stunde

70B (minimales Offload)

~35–45 tok/s

A100 80GB

80 GB

~$2.00/Stunde

70B Full-Precision

~50–60 tok/s

circle-info

PowerInfer Sweet Spot: Die RTX 3090 für ~$0.12/Stunde, die Llama 2 70B Q4 ausführt, ist ein Durchbruch für preisbewusste Nutzer. Du erhältst ein 70B-Modell für 10–12× weniger als die Miete einer A100. Der Durchsatz ist geringer (~10 tok/s), aber für Forschung oder geringen Traffic unschlagbar im Preis-Leistungs-Verhältnis.

CPU ist genauso wichtig wie GPU: PowerInfer verlagert "kalte" Neuronen auf die CPU. Clore.ai-Server mit AMD EPYC- oder Intel Xeon-CPUs (viele Kerne, hohe Speicherbandbreite) übertreffen Single-Socket-Consumer-CPUs deutlich. Prüfe die Server-Spezifikationen vor der Miete für große Modellaufgaben.

Speicherbandbreiten-Engpass: Bei 70B-Modellen ist die CPU-RAM-Bandbreite der begrenzende Faktor während der Berechnung kalter Neuronen. Server mit DDR5 ECC-RAM oder HBM-nahen Architekturen erzielen besseren Durchsatz.


Ressourcen

Zuletzt aktualisiert

War das hilfreich?