- Beim Ausführen des Modells
deepseek_r1_distill_llama_8b_q40mit distributed-llama v0.12.2 auf vier Raspberry Pi 5 8GB lagen sowohl Evaluation- als auch Generierungsgeschwindigkeit höher als bei einer Konfiguration mit zwei Geräten - Die 2-Geräte-Konfiguration erreichte Evaluation 7,70 tok/s und Prediction 3,54 tok/s, die 4-Geräte-Konfiguration kam auf Evaluation 11,68 tok/s und Prediction 6,43 tok/s
- Die Prediction-Logs der 4-Geräte-Konfiguration zeigen etwa 155,60 ms pro Token, die 2-Geräte-Konfiguration etwa 282,22 ms pro Token; damit wird der Geschwindigkeitsunterschied durch mehr Nodes beim selben Modell sichtbar
- Ein anderer Nutzer teilte Ergebnisse mit 8 Nodes unter v0.12.7, 2.5G-LAN und einer Konfiguration auf Basis älterer Intel-CPUs: Evaluation 33,64 tok/s und Prediction 16,63 tok/s
- Zu Fällen, in denen der Prozess auf zwei Raspberry Pi 5 8GB wegen Speichermangels beendet wurde, kam die Antwort, dass mit
--max-seq-len 4096die Kontextgröße reduziert werden müsse
Ausführungsergebnisse der Raspberry-Pi-5-8GB-Konfiguration
- Das Testmodell ist
deepseek_r1_distill_llama_8b_q40, die Version von distributed-llama ist 0.12.2 - Verglichen werden Konfigurationen mit 2 x Raspberry Pi 5 8GB und 4 x Raspberry Pi 5 8GB
| Konfiguration | Evaluation | Prediction |
|---|---|---|
| 2 x Raspberry Pi 5 8GB | 7,70 tok/s | 3,54 tok/s |
| 4 x Raspberry Pi 5 8GB | 11,68 tok/s | 6,43 tok/s |
Log-Werte der 2-Geräte-Konfiguration
- Die Konfiguration mit 2 x Raspberry Pi 5 8GB verzeichnete bei der Evaluation folgende Werte
nBatches: 32nTokens: 19tokens/s: 7.70129.89 ms/tok
- Bei der Prediction wurden folgende Werte verzeichnet
nTokens: 77tokens/s: 3.54282.22 ms/tok
- Beim Beenden der Ausführung zeigt das Log Network is closed an
Log-Werte der 4-Geräte-Konfiguration
- Die Konfiguration mit 4 x Raspberry Pi 5 8GB verzeichnete bei der Evaluation folgende Werte
nBatches: 32nTokens: 19tokens/s: 11.6885.63 ms/tok
- Bei der Prediction wurden folgende Werte verzeichnet
nTokens: 77tokens/s: 6.43155.60 ms/tok
- Im Log erscheinen während der Token-Generierung wiederholt gesendete
864 kBund empfangene1191 kB
8-Node-Ergebnisse eines anderen Nutzers
- Ein Nutzer teilte Ergebnisse mit 8 Nodes unter distributed-llama v0.12.7
- Überwiegend ältere Intel-CPUs, Konfigurationen mit 4 oder 6 Kernen
- AVX2-Unterstützung
- 2.5G-LAN-Verbindung
- Die Ausführungsergebnisse dieser Konfiguration lauten wie folgt
- Evaluation:
33.64 tok/s,29.73 ms/tok - Prediction:
16.63 tok/s,60.13 ms/tok - Die Zahl der Prediction-Tokens beträgt
245
- Evaluation:
- Der verwendete Befehl hat die Form
./dllama inferencemit Angabe von Modell, Tokenizer,--buffer-float-type q80,--nthreads 6,--max-seq-len 4096, mehreren--workersund--steps 256
Ausführungsprobleme und Antworten
- Es wurde ein Fall geteilt, in dem bei einer Konfiguration mit zwei Raspberry Pi 5 8GB während der Ausführung RequiredMemory: 20474 MB angezeigt wurde und der Prozess anschließend mit
Killedbeendet wurde- Der Befehl des Root-Nodes enthält
--buffer-float-type q80,--steps 16,--nthreads 4und eine Worker-Adresse - Die Antwort lautete, dass mit
--max-seq-len 4096die Kontextgröße reduziert werden müsse
- Der Befehl des Root-Nodes enthält
- Ein anderer Nutzer berichtete von einem Verhalten, bei dem nach der Verbindung mit mehreren Workern auf den Prompt
what is 99+12nur Leerzeichen und Punkte ausgegeben wurden- Im Log erscheinen
RopeScaling: f=8.0, l=1.0, h=4.0, o=8192,RequiredMemory: 3310 MB,Chat template: deepSeek3 - Der Maintainer fragte nach der verwendeten Version und bat zu prüfen, ob die letzten Änderungen gepullt wurden und auf welcher CPU die Ausführung erfolgt
- Im Log erscheinen
1 Kommentare
Meinungen auf Hacker News
Ankündigungen, Deepseek R1 auf einem Raspberry Pi laufen zu lassen, folgen meist demselben Muster: Tatsächlich läuft eher Llama oder Qwen, modifiziert mit DeepSeeks Distillation-Technik
DeepSeek bringt destillierte große Sprachmodelle dazu, die eigene Ausgabe mit „Wait.“ zu unterbrechen, um bis zu einem gewissen Grad Schlussfolgern zu erzeugen; das ist aber deutlich schwächer als die Reasoning-Fähigkeit des vollständigen Modells und kann in eine Schleife aus endlosem „Wait.“ und Selbstzweifeln geraten, statt eine bereits gezogene Schlussfolgerung mit neuer Nuance weiterzuentwickeln
Allerdings ist DeepSeek-R1-Distill-Llama-8B laut Abschnitt Distilled Model Evaluation[1] im offiziellen R1-Repository ziemlich ordentlich und soll in einigen Benchmarks besser sein als 4o-0513 und Sonnet-1022.
Man sollte auch im Hinterkopf behalten, dass aus formalen Grammatiken gesampelt werden kann. llama.cpp hat GBNF, und mit lazy grammar[2] gibt es inzwischen ebenfalls eine Konfiguration, wodurch es für manche Zwecke recht brauchbar geworden ist. Das bedeutet, dass die Grammatik nachgelagert eingreift.
Außerdem gibt es Spielraum für zusätzliches Fine-Tuning. Mehrere Anbieter bieten inzwischen „RFT“-Dienste an, bei denen ein gewöhnlicher Datensatz für supervised Fine-Tuning mit synthetischen Reasoning-Daten angereichert wird, die ein großes R1 erzeugt hat. Deshalb könnten diese Ergebnisse als Vorabresultate deutlich wertvoller sein, als man zunächst denkt.
6 tok/s beim Decoding sind nicht schnell, aber Raspberry-Pi-Nutzern ist so etwas meist nicht besonders wichtig.
[1] https://github.com/deepseek-ai/DeepSeek-R1#distilled-model-e...
[2] https://github.com/ggerganov/llama.cpp/pull/9639
Mich interessiert, was es heißt, dass R1 ein Llama-Modell trainiert, und was an DeepSeeks Distillation-Methode besonders ist
Ein echtes „destilliertes“ Modell müsste von Grund auf darauf trainiert werden, ein größeres Modell vollständig nachzuahmen; das passiert hier nicht
Wie immer sollte man tok/s-Werte mit sehr großer Vorsicht betrachten.
In der Demo wird eine Frage mit weniger als 500 Tokens „gelöst“. Dass das überhaupt möglich ist, ist weiterhin erstaunlich, aber bei realen Problemen und realistisch nützlichen Kontextlängen für ein „denkendes“ Modell, also 8–16k Tokens, kommt man kaum in die Nähe dieser Geschwindigkeit. Selbst ein Epyc mit vielen Channels fällt ab einer Kontextlänge von etwa 4096 auf 2–4 tok/s zurück
pos=0 => P 138 ms S 864 kB R 1191 kB Connect
pos=2000 => P 215 ms S 864 kB R 1191 kB .
pos=4000 => P 256 ms S 864 kB R 1191 kB manager
pos=6000 => P 335 ms S 864 kB R 1191 kB the
Wenn das Modell nur ein wenig hilft, können sie schon deutlich fähiger werden als heute
Kein schlechtes Ergebnis, aber wenn man 320 £ für vier Pi 5 ausgibt, könnte man auch eine gebrauchte 12-GB-3080 bekommen, und die Token-Geschwindigkeit wäre vermutlich mehr als 10-mal höher
https://github.com/geerlingguy/ollama-benchmark?tab=readme-o...
Interessant ist hier, dass man Llama-Inferenz verteilt über mehrere Computer ausführen kann
Könnte man nicht wie bei Seti@HOME ein über die ganze Welt verteiltes, langsames vollständiges R1-Modell mit Tools verbinden und öffentlich tiefgehende, komplexe Aufgaben schlussfolgern lassen?
Das ist ein moderner Beowulf-Cluster
Für etwas mehr Geld als vier Pi 5 findet man bei eBay einen 1U-Dell-Server mit 32-Core-Epyc-CPU und 64 GB RAM, der mindestens um eine Größenordnung mehr Leistung bringt.
Wenn man im Homelab von einem Beowulf-Cluster sprechen will, sollte man meiner Meinung nach zumindest auf Compute-Nodes mit einem sehr günstigen FDR-Infiniband-Netzwerk Konfigurationen wie Slurm+Lustre oder k8s+OpenStack+Ceph laufen lassen. So etwas mit vier langsamen Nodes, das nicht einmal linear skaliert, ist schwer ernst zu nehmen
Ich habe nicht gesehen oder verstanden, wie mehrere Raspberry Pis parallel genutzt werden.
Es wäre gut, wenn jemand einen Hinweis geben könnte
Wann werden wir diese tollen neuen AI-Tools wohl per
apt-get installinstallieren können?brew install ollamaein guter Ausgangspunkt seinollama pullkommt dem schon ziemlich naheapt-get, aber die meisten Infrastrukturkomponenten unter „AI-Tools“ lassen sich perconda installinstallierenSie speichert Unterhaltungen und erleichtert auch das Herunterladen von Modellen
Wenn man dieses Modell auf dem Mac ausprobieren möchte: Das verwendete Modell sieht nach etwas wie DeepSeek-R1-Distill-Llama-8B aus, und mit dem neuen llm-mlx-Plugin kann man es so ausführen
brew install llm # or pipx install llm or uv tool install llmllm install llm-mlxllm mlx download-model mlx-community/DeepSeek-R1-Distill-Llama-8Bllm -m mlx-community/DeepSeek-R1-Distill-Llama-8B 'poem about an otter'Die Performance ist ebenfalls ziemlich gut; gerade eben kam ich beim Ausführen auf 22 Tokens/Sekunde: https://gist.github.com/simonw/dada46d027602d6e46ba9e4f48477...
Würde zusätzlicher Speicher helfen? Kürzlich ist ein RPi 5 mit 16 GB RAM erschienen
Solange das Modell in den Speicher passt, entscheidet in der Praxis die Speicherbandbreite über den Betrieb
Ein 8B-Parameter-Q4-Modell sollte auch auf einem einzelnen Pi mit 8 GB Platz finden
Als Adafruit kürzlich Bestand hatte, habe ich gerade so einen bekommen, aber kurz darauf war er wieder ausverkauft
Trotzdem gibt es unabhängig von der Performance Modelle, die mehr als 8 GB zum Ausführen verlangen und deshalb mit Ollama gar nicht laufen
Es braucht ein Produkt wie Alexa oder Google Home
Allerdings sollte es statt einer Cloud-Anbindung ein lokales großes Sprachmodell ausführen. Ich verstehe nicht, warum es so etwas noch nicht gibt oder niemand daran arbeitet
Gute große Sprachmodelle sind teuer; die eigentliche Frage ist also, ob man ein Modell einbauen kann, das nützlich genug ist, damit Leute es kaufen, und das Gerät trotzdem günstig genug bleibt, um Marge zu lassen
Ich bin nicht sicher, ob Tool-Nutzung möglich ist, aber Dinge, nach denen man fragen würde, wie das Wetter, lassen sich verfügbar machen