Entwickler schaltet Apples M4-Chip frei
Apples M4-Prozessoren verfügen über erhebliche Rechenleistung für KI-Anwendungen, doch der Technologiekonzern hält seine Komponenten traditionell streng unter Kontrolle. In der Praxis bedeutet dies, dass App-Entwickler die Neural Engine lediglich zum Ableiten oder Ausführen vortrainierter Modelle nutzen können, nicht aber, um direkt neue Algorithmen von Grund auf darauf zu entwickeln und zu trainieren.
Ein Forscher mit dem Online-Pseudonym „0x0SojalSec“ hat auf GitHub Quellcode veröffentlicht, der detailliert beschreibt, wie sich das volle Potenzial des Chips ausschöpfen und 15,8 TFLOPS versteckte Rechenleistung für maschinelles Lernen erzielen lassen. Obwohl dieser Wert heute keinen Rekord darstellt, ist die Leistung bemerkenswert, da sie vollständig außerhalb von Apples offizieller Entwicklungsumgebung erreicht wurde.
Da die Sicherheitseinstellungen des Unternehmens die direkte Kommunikation mit der neuronalen Engine für solch komplexe Aufgaben nicht zulassen, musste der Projektleiter einen Weg finden, ohne offizielle Softwaretools wie CoreML oder Metal zu verwenden. Auch die GPU stand ihm nicht zur Verfügung. Stattdessen entwickelte er eine eigene Zwischensprache. Diese maßgeschneiderte Softwarelösung fungiert als Brücke und ermöglicht die vollständige Rückpropagation von Fehlern sowie das direkte Lernen von Transformer-Modellen auf dem neuronalen Chip.
Aufgrund der werkseitig bedingten Hardwarebeschränkungen mussten einige äußerst ausgeklügelte Tricks implementiert werden, um die Stabilität des Betriebssystems zu gewährleisten. Falls ein Prozess während der intensiven Lernphase hängen bleibt oder einfriert, verwendet die eigens entwickelte Programmiersprache einen speziellen Befehl, um den Prozess neu zu starten. Dadurch aktualisiert das System seinen aktuellen Zustand und setzt die Datenverarbeitung fort, ohne dass die gesamte Anwendung abstürzt.
Eine wesentliche Herausforderung bei der Ausführung solch anspruchsvoller Workloads war die Ausführungsgeschwindigkeit. Um den gesamten Lernprozess so reibungslos wie möglich zu gestalten, konfigurierte der Entwickler das System so, dass alle Daten direkt in den Arbeitsspeicher geschrieben wurden. Durch die bewusste Vermeidung des deutlich langsameren Flash-Speichers blieb der gesamte Vorgang extrem schnell.




















