ChatPaper.aiChatPaper

PRIMA.CPP: Beschleunigung der Inferenz von 70B-skaligen LLMs auf ressourcenarmen Alltags-Home-Clustern

PRIMA.CPP: Speeding Up 70B-Scale LLM Inference on Low-Resource Everyday Home Clusters

April 7, 2025
Autoren: Zonghang Li, Tao Li, Wenjiao Feng, Mohsen Guizani, Hongfang Yu
cs.AI

Zusammenfassung

Die Einführung von DeepSeek R1 und QwQ 32B hat die Leistungsgrenzen für den Betrieb von fortschrittlichen großen Sprachmodellen (LLMs) auf Heimgeräten durchbrochen. Während die Verbraucherhardware immer leistungsfähiger wird und die Modellquantisierung sich verbessert, erfordern bestehende Endgerätelösungen immer noch GPU-Cluster, großen RAM/VRAM und hohe Bandbreite, was weit über die Kapazitäten eines typischen Heimclusters hinausgeht. Dieses Papier stellt prima.cpp vor, ein verteiltes Inferenzsystem, das 70B-Modelle auf alltäglichen Heimgeräten unter Verwendung einer Mischung aus CPU/GPU, geringem RAM/VRAM, Wi-Fi und plattformübergreifender Unterstützung ausführt. Es verwendet mmap zur Verwaltung der Modellgewichte und führt piped-ring-Parallelität mit Prefetching ein, um das Laden von der Festplatte zu verbergen. Durch die Modellierung von Heterogenität in Berechnung, Kommunikation, Festplatte, Speicher (und dessen Verwaltungsverhalten) und Betriebssystem weist es die Modellschichten optimal der CPU und GPU jedes Geräts zu, wodurch die Token-Latenz weiter reduziert wird. Ein elegantes Algorithmus namens Halda wird vorgeschlagen, um dieses NP-schwere Zuordnungsproblem zu lösen. Wir evaluieren prima.cpp auf einem typischen Vier-Knoten-Heimcluster. Es übertrifft llama.cpp, exo und dllama bei 30B+-Modellen, während der Speicherdruck unter 6 % bleibt. Dies bringt fortschrittliche 30B-70B-Modelle wie Llama 3, DeepSeek R1, Qwen 2.5 und QwQ auf Heimassistenten und macht fortschrittliche KI für Einzelpersonen wirklich zugänglich. Der Code ist Open Source und verfügbar unter https://github.com/Lizonghang/prima.cpp.
English
Emergency of DeepSeek R1 and QwQ 32B have broken through performance barriers for running frontier large language models (LLMs) on home devices. While consumer hardware is getting stronger and model quantization is improving, existing end-side solutions still demand GPU clusters, large RAM/VRAM, and high bandwidth, far beyond what a common home cluster can handle. This paper introduces prima.cpp, a distributed inference system that runs 70B-scale models on everyday home devices using a mix of CPU/GPU, low RAM/VRAM, Wi-Fi, and cross-platform support. It uses mmap to manage model weights and introduces piped-ring parallelism with prefetching to hide disk loading. By modeling heterogeneity in computation, communication, disk, memory (and its management behavior), and OS, it optimally assigns model layers to each device's CPU and GPU, further reducing token latency. An elegant algorithm named Halda is proposed to solve this NP-hard assignment problem. We evaluate prima.cpp on a common four-node home cluster. It outperforms llama.cpp, exo, and dllama on 30B+ models while keeping memory pressure below 6%. This brings frontier 30B-70B models, such as Llama 3, DeepSeek R1, Qwen 2.5, and QwQ to home assistants, making advanced AI truly accessible to individuals. The code is open source and available at https://github.com/Lizonghang/prima.cpp.

Summary

AI-Generated Summary

PDF1267April 15, 2025