Apple opisuje Minions jako system, który rozdziela zadania inferencji — wykonywania modelu na danych — między nieaktywne komputery Mac z układami Apple Silicon. Zamiast zostawiać dostępne GPU bezczynne, system przydziela im mniejsze podzadania; badacze Apple podają, że część zadań mogła dzięki temu szybciej rozpocząć pracę. W pracy o Minions opisują zarówno sposób przydziału, jak i odzyskiwania przerwanych zadań.
Jak Minions dzieli pracę
Minion Server sprawdza zgłoszenie i dzieli je na podzadania. Minion Executor na komputerze Mac pobiera przypisaną pracę przez REST API, pobiera dane wejściowe i — jeśli trzeba — zapisuje lokalnie kopię modelu, po czym wykonuje obliczenia na GPU Apple Silicon. Wyniki trafiają do skonfigurowanego magazynu obiektowego; AWS S3 jest przykładem użytym w opisie systemu.
Wśród opisanych zastosowań są generowanie embeddingów z obsługiwanych modeli transformerowych Hugging Face oraz uzupełnianie odpowiedzi przez duże modele językowe (LLM) działające za pośrednictwem Ollama na uczestniczących komputerach Mac. Domyślnie zadania są obsługiwane w kolejności zgłoszeń. Właściciele executorów mogą ustawić preferencje dla zespołu, projektu i zadania.
Jak PostgreSQL pilnuje własności podzadań
PostgreSQL zapisuje, który executor przejął dane podzadanie. Ograniczenie unikalności obejmuje zespół, projekt, nazwę zadania i identyfikator podzadania: dla takiego zestawu w bazie może powstać tylko jeden wpis własności. Dzięki temu dwa komputery nie przejmują równocześnie tej samej pracy.
Co się dzieje, gdy executor przestaje odpowiadać
Minion Watchdog monitoruje aktywne wykonania. Executory wysyłają sygnał kontrolny co pięć minut; gdy executor przestaje odpowiadać, watchdog udostępnia niedokończone podzadanie innemu executorowi. W pracy wymieniono między innymi utratę połączenia sieciowego, uśpienie lub wyłączenie komputera oraz celowe zakończenie procesu jako przyczyny takiej przerwy.
Zespoły mogą obserwować stan pracy w panelach Grafana. Wskaźniki obejmują liczbę executorów zarejestrowanych, dostępnych online, zajętych i bezczynnych, a także liczbę zadań aktywnych, ukończonych i nieudanych oraz ich typ inferencji. Dane tych paneli pochodzą z PostgreSQL.
Wdrożenia obejmujące zespół lub organizację mogą korzystać z osobnych baz PostgreSQL i oddzielnych pul executorów, aby uwzględnić kwestie poufności danych.
Co oznacza wynik dotyczący oczekiwania na GPU
Badacze Apple opisują, że część zadań wcześniej czekała na dostęp do GPU ponad 10 godzin, a w Minions często mogła rozpocząć się w ciągu kilku minut. To obserwacja czasu oczekiwania przed rozpoczęciem pracy, opisana w badaniu obejmującym wiele zespołów, a nie pomiar czasu wykonania modelu. Badacze przedstawiają ten wynik jako efekt operacyjny systemu.
Jakie zastosowania opisano
Praca dotyczy rozdzielania zadań inferencyjnych na podzadania wykonywane przez różne komputery Mac. Badacze wskazują generowanie embeddingów i uzupełnianie odpowiedzi przez LLM jako obecne kategorie zadań. Rozproszony trening modeli przedstawiają jako przyszły kierunek prac; możliwość połączenia urządzeń z różnych organizacji lub szerszej społeczności opisują warunkowo, zależnie od bezpiecznej federacji.