RabbitZ INFO

Stable Diffusion auf dem Raspberry Pi: KI-Bilder lokal erzeugen – ohne Cloud, ohne Abo

img
März
30
Wer KI-Bilder generieren möchte, denkt meist an teure Cloud-Dienste oder leistungsstarke Grafikkarten. Doch das Open-Source-Projekt OnnxStream macht es möglich, Stable Diffusion direkt auf einem Raspberry Pi auszuführen – datenschutzfreundlich, kostenlos und vollständig offline. Wir zeigen, wie die Installation funktioniert und welche Modelle sich für welche Hardware eignen.

 

Bildgenerierung per KI gilt als ressourcenhungrig: Empfohlen werden mindestens 8 GB RAM und eine dedizierte Grafikkarte mit VRAM im zweistelligen Gigabyte-Bereich. Wer diese Voraussetzungen nicht erfüllt, greift meist auf kostenpflichtige Cloud-Dienste wie Midjourney oder Adobe Firefly zurück – und gibt dabei die Kontrolle über seine Prompts und generierten Inhalte aus der Hand. Das Open-Source-Projekt OnnxStream dreht dieses Paradigma um: Dank ausgefeilter Speicheroptimierungen läuft Stable Diffusion sogar auf einem Raspberry Pi Zero 2 mit gerade einmal 512 MB RAM. Ein Raspberry Pi 5 liefert dabei in rund drei Minuten ein fertiges Bild – ganz ohne Internetverbindung, ohne Nutzungsbeschränkungen und ohne monatliche Kosten.

Was ist Stable Diffusion – und warum ist Open Source entscheidend?

Stable Diffusion ist ein sogenanntes Latent Diffusion Model (LDM), das von Stability AI in Zusammenarbeit mit der Ludwig-Maximilians-Universität München entwickelt wurde. Im Gegensatz zu proprietären Konkurrenten wie DALL-E (OpenAI) oder Imagen (Google) ist Stable Diffusion vollständig quelloffen. Das bedeutet: Die Modellgewichte können heruntergeladen, lokal gespeichert und ohne Internetverbindung genutzt werden.

Dieser offene Ansatz hat weitreichende Konsequenzen für Datenschutz und Nutzungsfreiheit. Wer Bilder lokal generiert, sendet keine Prompts an externe Server, unterliegt keinen Inhaltsfiltern kommerzieller Anbieter und muss sich nicht mit Abomodellen oder Nutzungslimits auseinandersetzen. Gerade für kreative Projekte, Prototypen oder datenschutzsensible Anwendungen ist das ein erheblicher Vorteil.

OnnxStream: Das Herzstück der Raspberry-Pi-Lösung

Das von Vito Plantamura entwickelte Open-Source-Projekt OnnxStream ist eine schlanke Inferenzbibliothek für ONNX-Modelle, die speziell auf minimalen Speicherverbrauch ausgelegt ist. Während gängige Machine-Learning-Frameworks wie OnnxRuntime auf maximale Geschwindigkeit optimieren – und dabei den RAM-Verbrauch in Kauf nehmen –, verfolgt OnnxStream den umgekehrten Ansatz: Speichereffizienz hat Vorrang, auch wenn dies auf Kosten der Inferenzgeschwindigkeit geht.

Das Ergebnis ist beeindruckend: OnnxStream benötigt laut GitHub-Dokumentation bis zu 55-mal weniger Arbeitsspeicher als OnnxRuntime, bei einer Verlangsamung von lediglich 50 bis 200 Prozent. Konkret bedeutet das: Stable Diffusion 1.5, das normalerweise 8 GB RAM voraussetzt, läuft mit OnnxStream in unter 300 MB – und damit problemlos auf einem Raspberry Pi Zero 2.

Technische Schlüsseloptimierungen

  • Entkopplung von Inferenz-Engine und Gewichts-Provider: OnnxStream trennt die Berechnung von der Bereitstellung der Modellgewichte. Ein sogenannter WeightsProvider kann Gewichte bei Bedarf nachladen, zwischenspeichern oder sogar direkt von einem HTTP-Server streamen – ohne Schreibzugriff auf die Festplatte.
  • Statische und dynamische Quantisierung: Modellgewichte werden auf 8-Bit-Präzision reduziert (UINT8), was den Speicherbedarf drastisch senkt. Für den VAE-Decoder von Stable Diffusion 1.5 reicht statische W8A8-Quantisierung aus, um den RAM-Verbrauch auf 260 MB zu drücken.
  • Tiled Decoding für SDXL: Stable Diffusion XL 1.0 erzeugt 1024×1024-Pixel-Bilder, deren VAE-Decoder im Vollbetrieb 4,4 GB RAM benötigt. OnnxStream löst dieses Problem durch kachelbasiertes Dekodieren: Das Bild wird in 25 überlappende Teilbereiche aufgeteilt, separat dekodiert und nahtlos zusammengesetzt – bei einem Speicherverbrauch von unter 300 MB.
  • XNNPACK-Beschleunigung: Rechenintensive Operationen wie Matrizenmultiplikation und Faltungen werden über Googles XNNPACK-Bibliothek beschleunigt. Die Compiler-Option -DMAX_SPEED=ON steigert die Performance auf dem Raspberry Pi um über 50 Prozent.

Unterstützte Modelle im Überblick

OnnxStream unterstützt aktuell drei Varianten von Stable Diffusion, die sich in Bildqualität, Geschwindigkeit und Speicherbedarf unterscheiden:

ModellAuflösungRAM (OnnxStream)Zeit (Pi Zero 2)Zeit (Pi 5)
Stable Diffusion 1.5512×512 px~260 MBca. 1,5 Std.ca. 3 Min.
Stable Diffusion XL 1.01024×1024 px~298 MBca. 11 Std.ca. 30–60 Min.
SDXL Turbo 1.0512×512 px~298 MBca. 29 Min. (1 Step)ca. 3 Min. (1 Step)

Quellen: OnnxStream GitHub-Repository (vitoplantamura), Towards Data Science (Pye Sone Kyaw, Januar 2024). Zeiten mit MAX_SPEED-Compiler-Option.

Für den Alltagseinsatz empfiehlt sich SDXL Turbo: Das Modell erzeugt bereits mit einem einzigen Diffusionsschritt qualitativ überzeugende 512×512-Bilder und ist damit auf dem Raspberry Pi 5 in rund drei Minuten fertig – deutlich schneller als die Vollversionen.

Hardware-Vergleich: Welcher Raspberry Pi eignet sich am besten?

ModellRAMCPU-KernePreis (ca.)Eignung
Raspberry Pi Zero 2 W512 MB4 × Cortex-A53~15 €⚠ Möglich, sehr langsam
Raspberry Pi 4 (4 GB)4 GB4 × Cortex-A72~55 € Gut geeignet
Raspberry Pi 5 (8 GB)8 GB4 × Cortex-A76~80 €✅ Empfohlen

Für den produktiven Einsatz ist der Raspberry Pi 5 mit aktiver Kühlung die klare Empfehlung. Der leistungsstärkere Cortex-A76-Prozessor und der größere RAM-Puffer sorgen dafür, dass SDXL Turbo in rund drei Minuten ein Bild liefert. Ohne aktive Kühlung kann der Pi 5 unter Dauerlast drosseln – ein Kühlkörper oder ein aktiver Lüfter ist daher Pflicht.

Voraussetzungen und Vorbereitung

Bevor OnnxStream kompiliert werden kann, müssen einige Pakete installiert und Vorbereitungen getroffen werden:

  • Betriebssystem: Raspberry Pi OS (64-Bit, Bookworm oder neuer) – die 64-Bit-Version ist zwingend erforderlich, da OnnxStream auf ARM64 optimiert ist
  • SD-Karte: Mindestens 16 GB, empfohlen 32 GB oder mehr (die SDXL-Turbo-Gewichte belegen allein rund 8 GB)
  • Pakete: cmake, git und git-lfs müssen installiert sein
  • Internetverbindung: Nur für den einmaligen Download der Modellgewichte von Hugging Face erforderlich
  • Aktive Kühlung: Beim Raspberry Pi 5 dringend empfohlen, um Throttling während der mehrstündigen Kompilierung zu vermeiden

Die Installation der Abhängigkeiten erfolgt über den Paketmanager:

sudo apt-get update
sudo apt-get install -y cmake git git-lfs

OnnxStream kompilieren: Schritt-für-Schritt-Anleitung

Die Kompilierung besteht aus zwei Hauptschritten: dem Aufbau der XNNPACK-Bibliothek und dem anschließenden Kompilieren von OnnxStream selbst. Der gesamte Vorgang dauert auf einem Raspberry Pi 5 etwa 20 bis 40 Minuten.

Schritt 1: XNNPACK kompilieren

XNNPACK ist Googles Bibliothek für hocheffiziente neuronale Netzwerk-Operationen auf ARM-Prozessoren. OnnxStream nutzt sie für beschleunigte Matrizenmultiplikationen und Faltungsoperationen. Wichtig: Es muss ein spezifischer, vom OnnxStream-Entwickler getesteter Commit verwendet werden, um Kompatibilitätsprobleme zu vermeiden.

git clone https://github.com/google/XNNPACK.git
cd XNNPACK
git checkout 579de32260742a24166ecd13213d2e60af862675
mkdir build && cd build
cmake -DXNNPACK_BUILD_TESTS=OFF -DXNNPACK_BUILD_BENCHMARKS=OFF ..
cmake --build . --config Release

Schritt 2: OnnxStream kompilieren

Nach dem erfolgreichen Build von XNNPACK wird OnnxStream selbst kompiliert. Die Option -DMAX_SPEED=ON ist auf dem Raspberry Pi besonders wichtig: Sie aktiviert ARM-spezifische Optimierungen, die die Inferenzgeschwindigkeit um über 50 Prozent steigern.

cd ~
git clone https://github.com/vitoplantamura/OnnxStream.git
cd OnnxStream/src
mkdir build && cd build
cmake -DMAX_SPEED=ON -DXNNPACK_DIR=~/XNNPACK ..
cmake --build . --config Release

Schritt 3: Modellgewichte herunterladen

Die Modellgewichte für SDXL Turbo werden von Hugging Face bezogen. Der Download umfasst rund 8 GB und kann je nach Internetverbindung einige Zeit in Anspruch nehmen:

git lfs install
git clone --depth=1 https://huggingface.co/AeroX2/stable-diffusion-xl-turbo-1.0-onnxstream

Schritt 4: Erstes Bild generieren

Nach dem erfolgreichen Download kann das erste Bild erzeugt werden. Der folgende Befehl generiert ein 512×512-Pixel-Bild mit einem einzigen Diffusionsschritt:

cd ~/OnnxStream/src/build/
./sd --turbo 
  --models-path ~/stable-diffusion-xl-turbo-1.0-onnxstream 
  --prompt "A futuristic city at sunset, cinematic lighting" 
  --steps 1 
  --output mein_bild.png

Die wichtigsten Parameter im Überblick: --prompt definiert den Bildinhalt, --steps die Anzahl der Diffusionsschritte (bei SDXL Turbo reicht 1–3), --neg-prompt schließt unerwünschte Bildelemente aus (nur bei SD 1.5 und SDXL 1.0 unterstützt) und --seed legt den Zufallswert für reproduzierbare Ergebnisse fest.

Praxiserfahrungen und realistische Erwartungen

Im Praxistest auf einem Raspberry Pi 5 mit 8 GB RAM und aktivem Lüfter liefert SDXL Turbo mit einem einzigen Diffusionsschritt bereits überraschend ansprechende Ergebnisse. Die Bildqualität ist mit kommerziellen Cloud-Diensten nicht vergleichbar, für kreative Experimente, Prototypen oder automatisierte Bildgenerierung im Heimnetzwerk aber absolut ausreichend.

Wer mehr Qualität benötigt, kann die Schrittzahl auf 3 bis 5 erhöhen – die Generierungszeit steigt entsprechend linear an. Ein Vergleich zeigt: Mit einem Schritt entsteht ein solides Bild in rund 3 Minuten, mit drei Schritten dauert es etwa 9 Minuten, liefert aber deutlich schärfere Details und kohärentere Strukturen.

Auf dem Raspberry Pi Zero 2 ist die Nutzung technisch möglich, aber für den Alltag kaum praktikabel: SD 1.5 benötigt dort rund 1,5 Stunden pro Bild. Interessant ist das dennoch als Proof-of-Concept – und für spezielle Anwendungen wie automatisch wechselnde Bilderrahmen, bei denen Geschwindigkeit keine Rolle spielt.

Kreative Anwendungsszenarien für den Raspberry Pi als KI-Bildgenerator

  • Digitaler KI-Bilderrahmen: Der Raspberry Pi generiert alle paar Stunden ein neues Bild basierend auf einem vordefinierten Prompt-Set und zeigt es auf einem angeschlossenen Display oder E-Ink-Screen an
  • Lokaler Kreativ-Server im Heimnetzwerk: Über eine einfache Web-API können andere Geräte im Netzwerk Bildgenerierungsaufträge an den Pi senden – ohne Cloud-Abhängigkeit
  • Datenschutzsensible Bildgenerierung: Für Unternehmen oder Privatpersonen, die keine Prompts an externe Server übermitteln möchten, bietet der lokale Betrieb maximale Kontrolle
  • Bildungsprojekte: Schüler und Studierende können die Funktionsweise von Diffusionsmodellen direkt auf erschwinglicher Hardware nachvollziehen und experimentieren
  • Automatisierte Content-Erstellung: In Kombination mit Skripten lassen sich Bilder für Blogs, Social-Media-Posts oder Präsentationen vollautomatisch und kostenlos generieren

OnnxStream im Kontext: Edge-AI als wachsender Trend

OnnxStream ist kein Einzelfall – es steht exemplarisch für einen breiteren Trend in der KI-Entwicklung: Edge-AI, also die Verlagerung von KI-Berechnungen weg von zentralen Rechenzentren hin zu lokalen, ressourcenbeschränkten Geräten. Laut einer Analyse von IDC soll der Markt für Edge-AI-Hardware bis 2027 auf über 50 Milliarden US-Dollar wachsen, getrieben von Datenschutzanforderungen, Latenzoptimierung und dem Wunsch nach Unabhängigkeit von Cloud-Anbietern.

Projekte wie OnnxStream zeigen, dass selbst komplexe generative Modelle mit cleverer Softwareoptimierung auf Mikrocomputern lauffähig sind. Neben Stable Diffusion unterstützt OnnxStream inzwischen auch Sprachmodelle wie TinyLlama 1.1B und Mistral 7B sowie das Objekterkennungsmodell YOLOv8 – allesamt im Browser via WebAssembly oder lokal auf ARM-Hardware ausführbar.

Lokale KI-Bildgenerierung: Mehr als ein Bastelprojekt

Stable Diffusion auf dem Raspberry Pi ist weit mehr als ein technisches Kuriosum. Es demonstriert eindrucksvoll, wohin die Reise in der KI-Entwicklung geht: weg von monolithischen Cloud-Diensten, hin zu dezentralen, datenschutzfreundlichen Lösungen auf Alltagshardware. Wer bereit ist, etwas Zeit in die Einrichtung zu investieren, erhält einen vollwertigen, kostenlosen KI-Bildgenerator – für unter 80 Euro Hardware-Kosten und ohne laufende Gebühren.

Für Einsteiger empfiehlt sich der Start mit SDXL Turbo auf einem Raspberry Pi 5: Die Einrichtung ist in etwa einer Stunde abgeschlossen, und das erste selbst generierte Bild wartet bereits nach drei Minuten. Wer tiefer einsteigen möchte, findet in der aktiven OnnxStream-Community auf GitHub zahlreiche Erweiterungen, Skripte und Anwendungsbeispiele – von der automatisierten Batch-Generierung bis hin zur Integration in Smart-Home-Systeme.

Der Beitrag Stable Diffusion auf dem Raspberry Pi: KI-Bilder lokal erzeugen – ohne Cloud, ohne Abo erschien zuerst auf Hardware News.


Quelle: Stable Diffusion auf dem Raspberry Pi: KI-Bilder lokal erzeugen – ohne Cloud, ohne Abo