Ominięto ograniczenia programowe układu Apple M4. Autor projektu deklaruje 15,8 TFLOPS mocy dla zadań AI
Lead: Układ Apple M4 ma według autora projektu większy potencjał obliczeniowy w zadaniach sztucznej inteligencji, niż standardowo udostępnia oprogramowanie Apple. Dzięki inżynierii wstecznej i własnej warstwie pośredniej udało się ominąć ograniczenia Neural Engine, który oficjalnie służy przede wszystkim do inferencji.
Neural Engine w M4 poza standardowym zastosowaniem
W procesorach Apple, takich jak M4, Neural Engine jest wykorzystywany głównie do uruchamiania wcześniej wytrenowanych modeli AI. Oznacza to, że deweloperzy mogą korzystać z inferencji, ale nie otrzymują standardowego dostępu do pełnego trenowania nowych modeli bezpośrednio na tym bloku sprzętowym.
Użytkownik X działający jako @0x0SojalSec poinformował, że przeanalizował działanie układu metodą inżynierii wstecznej i opublikował kod w repozytorium GitHub. Z jego relacji wynika, że komunikacja z M4 została zrealizowana bez użycia narzędzi Apple takich jak CoreML i Metal, a także bez wykorzystywania GPU.
Własny MIL i praca wyłącznie w pamięci RAM
Kluczowym elementem projektu ma być autorski MIL, czyli Model Intermediate Language, przygotowany od podstaw. Ponieważ sprzęt i interfejsy programowe Apple są ograniczone, autor zastosował niestandardowe techniki utrzymywania działania procesu treningowego.
Jednym z opisanych mechanizmów jest użycie polecenia exec(), które ma pozwalać na ponowne uruchomienie procesu w sytuacji, gdy ten wymaga odświeżenia stanu i kontynuowania trenowania bez awarii.
Najważniejsze elementy opisanej metody
- ominięcie ograniczeń programowych M4 z użyciem inżynierii wstecznej,
- brak wykorzystania CoreML, Metal oraz GPU,
- zastosowanie autorskiego języka pośredniego MIL,
- utrzymywanie danych w pamięci RAM zamiast zapisu do pamięci NAND,
- deklarowane uruchomienie pełnej propagacji wstecznej i trenowania modeli transformerowych na ANE.
Deklarowane 15,8 TFLOPS dla zadań AI
Według informacji podanych przez @0x0SojalSec, po obejściu ograniczeń układ M4 może osiągać do 15,8 TFLOPS surowej mocy obliczeniowej w zadaniach AI. Autor podkreśla, że przeniesienie pracy do pamięci RAM miało znacząco przyspieszyć działanie w porównaniu z zapisem do pamięci NAND.
Źródło wskazuje, że taki poziom wydajności może wystarczyć do trenowania modeli AI na urządzeniach z M4, takich jak iPad lub Mac, bez konieczności korzystania z drogiego komputera lub zewnętrznej karty graficznej NVIDIA.
Nie wiadomo, czy metoda zadziała na nowszych układach
W materiale źródłowym zwrócono uwagę, że osiągnięcie dotyczy układu M4. Nie potwierdzono, czy ten sam autorski MIL oraz mechanizm oparty na exec() będą działały w taki sam sposób na nowszych platformach Apple Silicon, w tym na M5.