Bodega Inference Engine: Optimierung der LLM-Inferenz für den einheitlichen Speicher von Apple Silicon

Bodega ist eine Inferenz-Engine, die speziell für die Unified-Memory-Architektur von Apple Silicon entwickelt wurde und über 2,5 Jahre mit Optimierungen nahe der Metal-Schicht auf MLX aufgebaut wurde. Sie adressiert die grundlegenden Durchsatzbeschränkungen, mit denen Entwickler konfrontiert sind, wenn sie LLMs auf Mac-Hardware ausführen.
Warum Apple Silicon eine andere Optimierung erfordert
Apple Silicon verwendet Unified Memory, bei dem CPU, GPU und Neural Engine einen gemeinsamen physischen Speicherpool über einen einzigen On-Chip-Bus teilen. Dies unterscheidet sich grundlegend von diskreten GPUs wie denen von NVIDIA, die separate VRAM- und System-RAM-Pools haben, die über PCIe verbunden sind. Die Speicherbandbreite reicht von ~400 GB/s beim M1 Max bis ~800 GB/s beim M3 Ultra (wobei die Cross-Die-Strafe den tatsächlichen Durchsatz auf das 1,6- bis 1,8-fache der Single-Die-Leistung reduziert).
Wichtige architektonische Implikationen:
- Decode ist speicherbandbreitenbeschränkt – jedes Token erfordert das Laden von Modellgewichten vom gemeinsamen Bus
- Prefill ist rechenbeschränkt – dominiert von GPU-TFLOPS für Matrix-Matrix-Multiplikation
- Der Speicherbus wird mit allem geteilt – KV-Cache, Modellgewichte, Betriebssystem und Anwendungen konkurrieren alle um die gleiche 400-800 GB/s Bandbreite
Diese Architektur macht direkte Portierungen der Batch-Implementierungen von vLLM oder llama.cpp auf MLX ineffektiv, da sie für unterschiedliche Speicherarchitekturen entwickelt wurden.
Was Bodega aufbaut
Der Entwickler studierte die Kerninterna von vLLM, einschließlich kontinuierlichem Batching, spekulativem Decoding, gechunktem Prefill und Prefix-Caching, und baute dann jede Komponente für MLX und Apples Unified-Memory-Modell neu auf.
Die zentrale Erkenntnis für kontinuierliches Batching: Das Generieren eines einzelnen Tokens für eine einzelne Sequenz lädt die vollständigen Modellgewichte für eine Matrix-Vektor-Multiplikation, was auf Hardware mit 400+ GB/s Bandbreite verschwenderisch ist. Die Lösung führt mehrere Sequenzen gleichzeitig aus, indem Gewichte × Matrix von Vektoren anstelle von Gewichten × einzelner Vektor verwendet werden.
Das KV-Cache-Management wurde für Unified Memory neu gestaltet, wo das Entfernen von Cache-Blöcken andere Kostenimplikationen hat als bei isolierten VRAM-Systemen.
Praktische Implikationen
Der Entwickler berichtet von Tests auf mehreren Apple-Silicon-Konfigurationen, darunter zwei M3 Ultras (256GB und 512GB), ein M4 Max 128GB und ein M1 Max 64GB. Die identifizierte gemeinsame Obergrenze ist der Single-User-Durchsatz mit einer Anfrage gleichzeitig und einer größtenteils inaktiven GPU.
Das Repository enthält Benchmarks, die mit einem einfachen curl-Skript für das Setup verifiziert werden können.
📖 Read the full source: r/LocalLLaMA
👀 Siehe auch

Claude AIs UltraThink-Funktion kehrt zurück mit praktischen Nutzungshinweisen
Claude AI hat die UltraThink-Funktion nach Nutzerfeedback wieder eingeführt. Mittlerer Aufwand ist jetzt die Standardeinstellung für Opus 4.6 (Max/Team), wobei Hoher Aufwand dauerhaft über /model verfügbar ist und UltraThink als einmalige Überschreibung für hohen Aufwand dient.

mycrab.space stellt SKILL.md und Prompt Autocomposer für standardisierte App-Bereitstellung vor
mycrab.space hat SKILL.md veröffentlicht, eine Markdown-Vorlage zur Definition von App-Abhängigkeiten und Konfigurationen, sowie einen Prompt Autocomposer, der aus diesen Dateien einsatzbereite Bereitstellungsbefehle generiert. Das System ermöglicht die Null-Konfiguration-Bereitstellung von Anwendungen wie VS Code im Browser, persönlichen Musik-Clouds und KI-Agenten-Schnittstellen.

Bio-inspiriertes Gedächtnissystem für lokale LLMs: Implementierung von LTP und selektivem Vergessen
Ein Entwickler hat einen lokalen MCP-Server erstellt, der bio-inspirierte Gedächtnismechaniken implementiert, einschließlich Long-Term-Potentiation-Verstärkung, selektivem Vergessen durch Zerfall und wöchentlichen Konsolidierungszyklen. Das System nutzt Hybridsuche mit sqlite-vec und Text-Fallbacks, eine nicht-blockierende Architektur mit asyncio-Executors und bewahrt den Zustand über eine persistente 'Soul'-Datei.

ClawProxy: Selbst gehosteter KI-Routing-Proxy mit Dashboard
ClawProxy ist ein Open-Source, selbst gehosteter Proxy, der die Verwaltung mehrerer KI-API-Schlüssel und Modelle zentralisiert. Er bietet einen einheitlichen Endpunkt, intelligente Schlüsselrotation, Provider-Fallback und Echtzeit-Protokollierung über ein React-Dashboard.