Hardware für lokale KI: Speicher, Bandbreite, Verbrauch

Am 17. Dezember 2024 senkte NVIDIA den Preis seines Entwicklerboards Jetson Orin Nano von 499 auf 249 Dollar und veröffentlichte ein Software-Update für bereits verkaufte Exemplare. Keine Komponente änderte sich, aber der Speicherdurchsatz stieg von 65 auf 102 GB/s. Laut den Messungen des Herstellers erzeugt ein Llama-3.1-Modell mit 8 Milliarden Parametern darauf seither 19 Tokens pro Sekunde statt 14. Die Episode fasst die Regel zusammen, die die Hardware einer lokalen KI bestimmt: Größe und Geschwindigkeit des Speichers zählen vor der Rechenleistung.

Ein Sprachmodell ist eine Datei, die für jedes Wort neu gelesen wird

Ein Sprachmodell, die Art von Software, die ChatGPT oder Le Chat von Mistral antreibt, liegt als Datei vor, die Milliarden von Zahlen enthält. Man nennt sie Parameter oder Gewichte: Das sind die während des Trainings angepassten Werte, die bestimmen, wie das Modell Wörter aneinanderreiht. Ein Modell, das „8B“ heißt, enthält 8 Milliarden davon.

Jede Zahl belegt einen Platz, der von ihrer Genauigkeit abhängt. Bei 16 Bit, dem Format, in dem die meisten Modelle verteilt werden, braucht ein Parameter zwei Byte. Acht Milliarden Parameter ergeben also 16 Milliarden Byte, rund 15 Gibibyte (GiB, die binäre Einheit, die die Werkzeuge anzeigen). Die Dokumentation von llama.cpp, einer freien und viel genutzten Laufzeitumgebung, um Modelle auf gewöhnlichen Maschinen auszuführen, nennt für Llama 3.1 8B in diesem Format 14,96 GiB.

Um ein Token zu erzeugen, also ein Wortfragment, liest das Modell nahezu alle diese Parameter. Dann beginnt es für das nächste Token von vorn. Eine Datei von 15 GiB wird so Dutzende Male pro Sekunde neu gelesen, während die Antwort erscheint. Daraus folgen zwei Bedingungen. Die Datei muss vollständig in einen schnellen Speicher passen, sonst holt die Maschine den Rest von der Festplatte und die Geschwindigkeit bricht ein. Und der Durchsatz dieses Speichers gibt das Tempo der Antwort vor.

Kapazität: der Speicher, in den das Modell passen muss

Ein klassischer PC verfügt über zwei Speicher. Der Arbeitsspeicher, RAM, dient dem Hauptprozessor. Der Videospeicher, VRAM, ist auf der Grafikkarte verlötet und dient dem Grafikprozessor, der GPU. Der zweite ist viel schneller, aber kleiner und teurer. Die GeForce RTX 5090, NVIDIAs leistungsstärkste Karte für den Massenmarkt, seit dem 30. Januar 2025 ab 1.999 Dollar erhältlich, trägt 32 GB GDDR7-Speicher. Das ist eine Obergrenze: Ein schwereres Modell passt nicht auf eine einzelne Karte.

Andere Maschinen nutzen einen einheitlichen Speicher, einen einzigen Vorrat, den Prozessor und GPU teilen. So ist es bei den Chips von Apple. Laut dem Datenblatt von Apple lässt sich der Mac Studio mit dem Chip M5 Max bis 128 GB und mit dem M5 Ultra bis 512 GB konfigurieren. Dasselbe Prinzip hat der DGX Spark von NVIDIA, ein Gerät mit 15 cm Kantenlänge und 1,2 kg, das 128 GB LPDDR5X-Speicher vereint. NVIDIA stellt ihn als fähig dar, Modelle mit bis zu 200 Milliarden Parametern auszuführen.

Der Unterschied wird entscheidend, sobald man ein Modell mittlerer Größe anstrebt. Ein Modell mit 70 Milliarden Parametern, auf rund 4,9 Bit pro Parameter komprimiert, wiegt etwa 43 GB, nach der Rechnung 70 Milliarden × 4,9 ÷ 8. Es passt nicht in die 32 GB einer RTX 5090. Es passt in 128 GB einheitlichen Speicher und lässt Platz für den Rest.

Bandbreite: was die Schreibgeschwindigkeit bestimmt

Die Speicherbandbreite ist der Durchsatz, mit dem der Chip seinen Speicher liest, angegeben in Gigabyte pro Sekunde. In seinem Leitfaden zur Optimierung der Inferenz, dem Begriff für die Ausführung eines bereits trainierten Modells, erklärt NVIDIA, dass die Textgenerierung speichergebunden ist: Der Großteil der Zeit geht dafür drauf, Gewichte und Zwischendaten zu den Recheneinheiten zu übertragen, nicht dafür, zu rechnen.

Daraus ergibt sich eine einfache Schätzung: Die maximale Zahl der Tokens pro Sekunde entspricht ungefähr der Bandbreite geteilt durch das Gewicht des Modells. Der Jetson Orin Nano Super erlaubt es, dies zu überprüfen. Llama 3.1 8B in 4 Bit wiegt etwa 4,6 GB, und die Karte liest 102 GB/s, daher eine theoretische Obergrenze von 22 Tokens pro Sekunde. NVIDIA misst 19,1, also 87 % der Obergrenze. Vor dem Update, bei 65 GB/s, lag der Messwert bei 14. Die Geschwindigkeit folgte nicht exakt dem Durchsatz (37 % Zuwachs bei 57 % mehr Bandbreite), aber die Regel liefert die richtige Größenordnung.

Die Herstellerdatenblätter nennen folgende Durchsätze. Der Jetson Orin Nano Super liest 102 GB/s und der Jetson AGX Orin, in den Versionen mit 32 und 64 GB, 204,8 GB/s. Der Jetson AGX Thor und der DGX Spark weisen jeweils 273 GB/s aus. Der Mac Studio erreicht je nach Konfiguration 460 oder 614 GB/s mit dem M5 Max und 1,2 TB/s mit dem M5 Ultra. Die RTX 5090 kommt auf 1.792 GB/s, aber nur auf 32 GB.

Diese Zahlen erklären eine häufige Enttäuschung. Eine Maschine, die mit hoher Rechenleistung, aber langsamem Speicher beworben wird, schreibt langsam. Umgekehrt wirkt eine Maschine mit bescheidener Rechenleistung und schnellem Speicher im Gespräch reaktionsfreudig.

Quantisierung: weniger Bit pro Parameter

Wenn das Gewicht des Modells die Geschwindigkeit begrenzt, kann man es verringern. Die Quantisierung besteht darin, jeden Parameter mit weniger Bit zu speichern, 8 oder 4 statt 16. Das Prinzip erinnert an die Kompression eines Fotos als JPEG: Man nimmt einen Genauigkeitsverlust zugunsten einer leichteren Datei in Kauf.

Die Dokumentation von llama.cpp veröffentlicht Messwerte für Llama 3.1 8B. In 16 Bit ist die Datei 14,96 GiB groß, und die Generierung erreicht 29 Tokens pro Sekunde. Im Format Q8_0, das durchschnittlich 8,5 Bit pro Parameter nutzt, sind es 7,95 GiB bei 51 Tokens pro Sekunde. Im Format Q4_K_M, mit durchschnittlich 4,9 Bit, sinkt sie auf 4,58 GiB und steigt auf 72 Tokens pro Sekunde. Die Datei wird um den Faktor 3,3 kleiner, und die Schreibgeschwindigkeit verdoppelt sich auf das 2,5-Fache. Das Lesen der Frage hingegen wird etwas langsamer, von 923 auf 822 Tokens pro Sekunde, weil diese Phase von der Rechenleistung abhängt und die Dekompression zusätzlichen Aufwand bringt.

Der Qualitätsverlust existiert. Er ist umso spürbarer, je kleiner das Modell und je stärker die Kompression ist. Formate nahe 4 Bit wie Q4_K_M sind zum häufigsten Kompromiss bei lokalen Einsätzen geworden. Auf 2 oder 3 Bit herunterzugehen, erlaubt es, ein größeres Modell auf derselben Maschine unterzubringen, mit mehr Fehlern, was man an den eigenen Aufgaben messen muss, bevor man es übernimmt.

Die Frage lesen und die Antwort schreiben: zwei verschiedene Geschwindigkeiten

Ein Modell verarbeitet keine Wörter, sondern Tokens, Textstücke von wenigen Zeichen. Im Französischen entspricht ein gängiges Wort einem oder zwei Tokens. Die Arbeit läuft in zwei Phasen. Das Prefill liest die gesamte Anfrage, Frage und angehängte Dokumente, und verarbeitet die Tokens parallel: Es hängt vor allem von der Rechenleistung ab. Die Generierung schreibt anschließend die Antwort Token für Token: Sie hängt von der Bandbreite ab.

Die von den Mitwirkenden an llama.cpp zu Apple-Chips veröffentlichten Messwerte zeigen den Unterschied. Bei Llama 2 7B in 16 Bit liest ein M4 Max mit 40 Grafikkernen 923 Tokens pro Sekunde und schreibt 32. Ein M5 Max gleicher Konfiguration liest 3.158 und schreibt 37. Das Lesen wird um den Faktor 3,4 schneller, das Schreiben legt um 17 % zu. Zwischen beiden Chips ist die Bandbreite von 546 auf 614 GB/s gestiegen, also um 12 %. Das Schreiben folgt dem Speicher, das Lesen folgt der Rechenleistung.

In der Praxis zählen beide Werte. Bei einer kurzen Frage fällt nur die Generierung auf, und ab etwa fünfzehn Tokens pro Sekunde erscheint der Text schneller, als man ihn liest. Beim Zusammenfassen eines Berichts von 50 Seiten, den man auf etwa 30.000 Tokens schätzen kann, lässt das Prefill warten: Bei 900 Tokens pro Sekunde dauert es gut eine halbe Minute bis zum ersten Wort, bei 3.000 Tokens pro Sekunde etwa zehn Sekunden.

Auch der Kontext belegt Speicher

Der Kontext ist die Textmenge, die das Modell zu einem gegebenen Zeitpunkt berücksichtigt: die Frage, die gelieferten Dokumente, der Verlauf des Austauschs. Um nicht bei jedem Token alles neu zu berechnen, behält das Modell Zwischenergebnisse für jedes bereits gelesene Token. Das ist der Key-Value-Cache, kurz KV-Cache.

Hugging Face liefert dafür die Formel und ein Beispiel. Bei Llama 2 7B in 16 Bit belegt jedes Token etwa 0,5 MB Cache, sodass 10.000 Tokens fast 5 GB entsprechen, ein Drittel des Modellgewichts. Der Leitfaden von NVIDIA kommt auf dieselbe Größenordnung, etwa 2 GB für 4.096 Tokens. Neuere Modelle senken diese Kosten, indem sie einen Teil dieser Daten zwischen den Aufmerksamkeitsköpfen teilen, eine Technik namens Grouped-Query Attention. Mit den veröffentlichten Eigenschaften von Llama 3.1 8B (32 Schichten, 8 Key-Value-Köpfe der Dimension 128) ergibt dieselbe Formel etwa 0,13 MB pro Token, also 1,3 GB für 10.000 Tokens. Diese letzte Zahl ist unsere Berechnung.

Dieser Cache vervielfacht sich mit der Zahl der offenen Gespräche. Zehn Personen, die jeweils an einem Dokument von 10.000 Tokens arbeiten, belegen mit Llama 3.1 8B etwa 13 GB Cache, zusätzlich zu den 4,6 GB des Modells. Eine Maschine mit 8 GB, die dieses Modell einer Person bereitstellt, wird es keinem Team bereitstellen. Neuere Laufzeitumgebungen können diesen Cache komprimieren, wie Hugging Face beschreibt, aber die Ausgangsdimensionierung bleibt diese.

CPU, GPU und NPU

Die CPU, der Hauptprozessor, ist ein Allrounder. Sie führt wenige Operationen gleichzeitig aus und lässt ein kleines Modell langsam laufen. Die GPU, für die Grafikdarstellung entwickelt, führt Tausende gleicher Operationen parallel aus, was der Berechnung eines neuronalen Netzes entspricht. Sie führt heute die große Mehrheit der Sprachmodelle aus.

Die NPU, die neuronale Verarbeitungseinheit, ist eine auf die Operationen neuronaler Netze spezialisierte Schaltung, die für geringen Verbrauch ausgelegt ist. Microsoft verlangt mehr als 40 TOPS, also 40 Billionen Operationen pro Sekunde, damit ein Computer die Bezeichnung Copilot+ PC tragen darf. Die Dokumentation präzisiert, dass viele NPUs nur Ganzzahlen mit niedriger Genauigkeit wie INT8 verarbeiten und die Modelle dafür umgewandelt werden müssen. Die NPU eignet sich für leichte, kontinuierliche Aufgaben wie Echtzeitübersetzung oder das Weichzeichnen des Hintergrunds in Videokonferenzen. Für ein Sprachmodell bleibt sie von der Bandbreite des übrigen Chips abhängig.

Die TOPS-Zahl ist daher mit Vorsicht zu lesen. NVIDIA gibt für den Jetson Orin Nano Super 67 TOPS an und präzisiert, dass es sich um „sparse“-TOPS handelt, einen Rechenmodus, der voraussetzt, dass ein Teil der Operationen übersprungen werden kann. Im dichten Modus fällt die Zahl auf 33. Keine der beiden sagt, wie schnell die Karte eine Antwort schreiben wird.

Drei Modellgrößen, mehrere Maschinen

Die folgenden Schätzungen wenden die Regel Bandbreite geteilt durch Modellgewicht an. Es sind theoretische Obergrenzen, von uns aus den Herstellerdatenblättern berechnet. Die tatsächliche Geschwindigkeit liegt darunter: Beim Jetson erreichte sie 87 % davon.

Ein Modell mit 8 Milliarden Parametern in 4 Bit, etwa 4,6 GB, passt auf alle genannten Maschinen. Der Jetson Orin Nano Super mit 8 GB Speicher und einem Verbrauch von 7 bis 25 W lässt es mit gemessenen 19 Tokens pro Sekunde laufen, mit wenig Spielraum für den Kontext. Eine RTX 5090 hätte eine Obergrenze nahe 390 Tokens pro Sekunde. Für eine Person genügt die eingebettete Karte. Bei mehreren gleichzeitigen Nutzern fehlt der Speicher, bevor die Geschwindigkeit fehlt.

Ein Modell mit 20 bis 35 Milliarden Parametern wiegt in 4 Bit 12 bis 21 GB. Es passt auf eine RTX 5090 ebenso wie auf einen Jetson AGX Orin mit 64 GB. Bei Letzterem liegt die Obergrenze für ein Modell von 20 GB bei 204,8 GB/s um etwa 10 Tokens pro Sekunde; bei der RTX 5090 um etwa 90.

Ein Modell mit 70 Milliarden Parametern in 4 Bit, etwa 43 GB, passt nicht auf eine RTX 5090. Auf einem DGX Spark mit 273 GB/s liegt seine Obergrenze bei etwa 6 Tokens pro Sekunde. Auf einem Mac Studio M5 Max mit 614 GB/s bei etwa 14. Auf einem M5 Ultra mit 1,2 TB/s bei etwa 28. Die Kapazität erlaubt es, das Modell zu laden, die Bandbreite entscheidet, ob es angenehm zu nutzen ist.

Verbrauch, Wärme und Lärm

Der gesamte von einer Maschine verbrauchte Strom endet als Wärme. Die RTX 5090 hat eine gesamte Grafikleistung von 575 W, und NVIDIA verlangt für den aufnehmenden PC ein Netzteil von mindestens 1.000 W. Das entspricht der Größenordnung eines kleinen Heizlüfters, dessen Wärme durch Ventilatoren abgeführt wird. Am anderen Ende arbeitet der Jetson Orin Nano Super zwischen 7 und 25 W und der Jetson AGX Orin zwischen 15 und 60 W. Der DGX Spark hat ein Netzteil mit 240 W für einen Chip mit 140 W, und NVIDIA gibt 35 dB(A) im Betrieb an. Apple nennt für den Mac Studio eine maximale Dauerleistung von 480 W.

Über ein Jahr lässt sich der Unterschied beziffern. Eine Maschine, die dauerhaft 60 W verbraucht, braucht etwa 525 kWh pro Jahr (60 W × 8.760 Stunden). Bei 600 W sind es etwa 5.260 kWh. Diese Rechnungen setzen eine konstante Last voraus, was den tatsächlichen Verbrauch einer oft im Leerlauf befindlichen Maschine überschätzt, aber sie zeigen den Faktor zehn, der die beiden Familien trennt.

Lärm und Wärme entscheiden darüber, wo die Maschine aufgestellt wird. Ein PC mit einer High-End-Spielekarte ist für Sitzungen von einigen Stunden in einem belüfteten Raum gedacht. In einem Schrank verstaut, senkt er zum Selbstschutz seine Taktfrequenz und schaltet sich dann ab. Die Jetson-Module sind für Roboter und Industrieausrüstung ausgelegt, mit vom Hersteller festgelegten Leistungsbereichen und für den Dauerbetrieb. Dieses Kriterium fällt auf einem Datenblatt wenig ins Gewicht und nach zwei Jahren Betrieb sehr.

Eine Maschine in vier Rechnungen dimensionieren

Die Methode besteht aus vier Schritten. Zuerst berechnet man das Gewicht des oder der gewählten Modelle: Zahl der Parameter mal Bit pro Parameter, geteilt durch 8. Dann addiert man den Kontext-Cache, multipliziert mit der Zahl der erwarteten gleichzeitigen Gespräche. Man vergleicht die Summe mit dem verfügbaren Speicher und lässt eine Reserve für das System. Schließlich teilt man die Bandbreite durch das Modellgewicht, um die Geschwindigkeitsobergrenze zu erhalten, und prüft dann Verbrauch und Lärm im Hinblick auf den Aufstellort.

Nehmen wir ein Team von zehn Personen, das ein Modell mit 30 Milliarden Parametern in 4 Bit will, um an Dokumenten von 10.000 Tokens zu arbeiten. Das Modell wiegt etwa 18 GB. Der Cache liegt je nach Architektur zwischen 2 und 5 GB pro Nutzer, also bei 20 bis 50 GB für das Team. Es braucht also eine Maschine mit 64 bis 128 GB und in erster Näherung mindestens 300 GB/s Bandbreite, um mehr als 15 Tokens pro Sekunde zu erreichen. Diese Zahlen sind Schätzungen; nur Tests auf der anvisierten Maschine bestätigen sie.

Dieses Raster wendet HOMN an, um seine Geräte zu dimensionieren: von den Modellen und der Nutzerzahl ausgehen und daraus Speicher, Durchsatz und thermische Auslegung ableiten. Ein Datenblatt, das Speicherkapazität oder Bandbreite auslässt, erlaubt diese Rechnung nicht, gleichgültig, wie viele TOPS angegeben sind.

Wie viel Speicher braucht man, um ein LLM lokal zu betreiben?

Das Gewicht eines Modells in Byte entspricht ungefähr der Zahl der Parameter mal Bit pro Parameter, geteilt durch 8. Ein Modell mit 8 Milliarden Parametern wiegt in 16 Bit etwa 16 GB und in 4 Bit 4,6 GB. Hinzu kommt der Kontext-Cache, der mit der Länge der Dokumente und der Zahl gleichzeitiger Nutzer wächst.

Warum zählt die Speicherbandbreite bei einem LLM mehr als die Rechenleistung?

Um jedes Token zu schreiben, liest das Modell nahezu alle seine Parameter im Speicher neu. Die Generierungsgeschwindigkeit ist daher durch die Bandbreite geteilt durch das Modellgewicht begrenzt. Die Rechenleistung zählt vor allem beim Lesen langer Dokumente, dem Prefill.

Was ist die Quantisierung eines KI-Modells?

Das ist die Speicherung der Parameter mit weniger Bit, zum Beispiel 4 statt 16. Laut der Dokumentation von llama.cpp geht Llama 3.1 8B damit auf der Testmaschine von 14,96 auf 4,58 GiB und von 29 auf 72 Tokens pro Sekunde. Die Qualität sinkt leicht, bei kleinen Modellen stärker.

Genügt ein PC mit NPU für eine lokale KI im Unternehmen?

Eine NPU eignet sich für leichte Aufgaben wie Transkription oder ein kleines Modell, das eine einzelne Person nutzt. Sie teilt Speicher und Bandbreite mit dem Rest des Chips, was Größe und Geschwindigkeit der Sprachmodelle begrenzt. Um ein Team zu bedienen, haben Speicherkapazität und Durchsatz Vorrang vor den angegebenen TOPS.