Accelerating Offloading-Based MoE Inference by Interleaving Concurrent Requests
Das Papier stellt Bevy vor, ein MoE-Inferenzsystem, das herkömmliche Prefetching-Methoden durch den Einsatz eines selbstbalancierenden Schedulers übertrifft, der konkurrierende Anfragen verschachtelt, um so das Abrufen von Experten mit der Berechnung zu überlappen, ohne sich auf unpräzise Vorhersagen zu verlassen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Im leisen Summen eines Personal Computers schlägt eine neue Art von Intelligenz Wurzeln. Große Sprachmodelle, die Motoren hinter modernen Chatbots und Schreibassistenten, wandern zunehmend aus massiven Rechenzentren auf lokale Maschinen wie Desktops und Workstations um. Dieser Wandel ermöglicht es Nutzern, diese leistungsstarken Werkzeuge ohne Internetverbindung zu verwenden, führt jedoch eine physische Einschränkung ein: Der Speicher des Computers ist begrenzt. Um diese Modelle unterzubringen, nutzen Forscher eine Technik namens „Mixture of Experts“ (Mischung von Experten). Stellen Sie sich eine riesige Bibliothek des Wissens vor, in der für jede gestellte Frage nur wenige spezifische Bücher aus dem Regal gezogen werden, während der Rest unberührt bleibt. Dies hält die Arbeit schnell und effizient. Auf einem persönlichen Gerät können jedoch selbst die „wenigen Bücher“, die für einen einzelnen Moment benötigt werden, nicht alle gleichzeitig in den aktiven Speicher des Computers passen. Wenn der Computer ein Buch benötigt, das nicht da ist, muss er sein Denken unterbrechen, um es von einem langsameren Speichermedium abzurufen, wodurch der Prozessor untätig wird und wartet.
Jahrelang war die Standardlösung für dieses Wartespiel die Vorhersage. Das System versucht zu erraten, welche Bücher als Nächstes benötigt werden, und ruft sie im Voraus ab, während der Prozessor an der aktuellen Aufgabe arbeitet. Dies ist wie ein Bibliothekar, der, während Sie ein Kapitel lesen, im Stillen die nächsten wahrscheinlichen Kapitel aus dem Regal zieht, damit sie bereitliegen, wenn Sie die Seite umblättern. Doch ein Team von Forschern der Seoul National University und der Yale University hat entdeckt, dass diese Strategie oft scheitert, wenn der Computer bereits einen kleinen Cache an Büchern in seinem aktiven Speicher hält. Da dieser Cache mit den nützlichsten Büchern gefüllt wird, werden die Vermutungen des Bibliothekars weniger genau, was Zeit und Bandbreite verschwendet, indem Bücher abgerufen werden, die niemals geöffnet werden. Anstatt zu versuchen, die Zukunft zu erraten, fanden die Forscher einen besseren Weg: Lassen Sie die Arbeit einfach in einer anderen Reihenfolge ablaufen. Indem man verschiedenen Anfragen erlaubt, in ihrem eigenen Tempo voranzuschreiten, kann das System genau das offenbaren, was als Nächstes benötigt wird, ohne zu raten, und die Leerlaufwartezeit in produktive Arbeit verwandeln.
Die Forscher unter der Leitung von Hongseung Yu und Kyunghan Lee entwickelten ein neues System namens Bevy, um diese Idee zu testen. Sie beobachteten, dass, wenn mehrere Anfragen gleichzeitig an das Modell gesendet werden – etwa wenn ein Nutzer um eine Code-Überprüfung bittet, während ein anderer Teil der Software eine E-Mail prüft –, die Anfragen nicht alle zur gleichen Zeit dieselben Bücher benötigen. In traditionellen Systemen wartet der Computer, bis jede einzelne Anfrage alle ihre notwendigen Bücher gesammelt hat, bevor er mit dem nächsten Schritt für irgendeine davon beginnt. Dies erzeugt einen Flaschenhals, bei dem der Prozessor stillsitzt, während das Speichermedium arbeitet. Bevy ändert diesen Rhythmus. Es erlaubt einer Anfrage, die alle ihre Bücher bereit hat, sofort zum nächsten Schritt überzugehen, während andere Anfragen auf die Ankunft ihrer fehlenden Bücher warten. Während die fertige Anfrage voranschreitet, offenbart sie genau, welche Bücher sie für den nächsten Schritt benötigt. Das System ruft dann diese spezifischen Bücher ab, während der Prozessor mit der fertigen Anfrage beschäftigt ist. Dies schafft eine nahtlose Überlappung, bei der das Speichermedium und der Prozessor gleichzeitig arbeiten, aber ohne jegliche Notwendigkeit für Vorhersagen.
Der Schlüssel zum reibungslosen Funktionieren ist ein selbstbalancierender Scheduler (Planer), der entscheidet, wie die Anfragen gruppiert werden. Wenn das System jede Anfrage einfach alleine laufen ließe, müsste der Prozessor dieselben gemeinsamen Bücher immer wieder für jede Anfrage aus dem Speicher lesen, was alles verlangsamen würde. Wenn es sie alle zu starr zusammenfasste, würde es den Vorteil verlieren, die schnellen Anfragen voranschreiten zu lassen. Bevy löst dies durch dynamische Gruppierung der Anfragen, Schicht für Schicht. Wenn viele Anfragen gleichzeitig bereit sind, fasst es sie zusammen, um die Effizienz zu maximieren. Wenn nur wenige bereit sind, weil andere noch auf Bücher warten, lässt es diese wenigen in kleineren Gruppen voranschreiten. Diese Flexibilität stellt sicher, dass der Prozessor nie untätig ist, während er auf die Bildung einer Gruppe wartet, und das Speichermedium nie untätig ist, während es auf den Abschluss einer Anfrage wartet. Das System passt sich in Echtzeit an die wechselnden Bedürfnisse der Anfragen an und schafft einen Fluss, in dem Berechnung und Abruf natürlich parallel stattfinden.
Die Ergebnisse dieses Ansatzes wurden auf zwei verschiedenen lokalen Computing-Plattformen gemessen, eine unter Verwendung eines Apple-Chips und die andere mit einem NVIDIA Jetson AGX Thor Developer Kit mit 128 GB Unified Memory und einer Samsung 9100 PRO 2 TB SSD, wobei zwei verschiedene große Sprachmodelle ausgeführt wurden. Die Forscher verglichen Bevy mit der Standardmethode, die in populärer Software wie llama.cpp verwendet wird, sowie mit den fortschrittlichsten verfügbaren Vorhersagesystemen. Sie fanden heraus, dass Bevy die anderen Systeme konsistent übertraf. In Tests mit variierenden Zahlen simultaner Anfragen lieferte Bevy bis zu 3,46-mal mehr Arbeit pro Sekunde als die Standardmethode und bis zu 1,55-mal mehr als das schnellste vorhersagebasierte System. Die Verbesserung war am signifikantesten, wenn der Computer viele Anfragen gleichzeitig bewältigen musste. Selbst als die Forscher das System mit einem großen Buch-Cache im Speicher testeten, bei dem Vorhersagesysteme aufgrund mangelnder Genauigkeit Schwierigkeiten hatten, behielt Bevy seine Geschwindigkeit bei. Dies liegt daran, dass Bevy niemals Zeit mit dem Abrufen von Büchern verschwendete, die es nicht brauchte; es rief nur das ab, was explizit von den durch das System laufenden Anfragen gefordert wurde.
Die Studie untersuchte auch, ob das Hinzufügen von Vorhersagen zu Bevy weiter helfen würde. Die Forscher versuchten, die neue Scheduling-Methode mit einem Vorhersagesystem zu kombinieren, in der Erwartung, dass die beiden zusammenarbeiten würden. Sie fanden jedoch heraus, dass die Vorhersage keinen Wert hinzufügte und die Dinge manchmal sogar verlangsamte. Da Bevy die Speicherverbindung so stark mit dem Abruf der exakt benötigten Bücher für die fertigen Anfragen beansprucht, bleibt keine freie Zeit mehr übrig, um vorhergesagte Bücher abzurufen. Zudem, wenn das System versucht vorherzusagen, rät es oft falsch und verschwendet Bandbreite für Bücher, die niemals verwendet werden. Die Forscher kamen zu dem Schluss, dass in dieser spezifischen Umgebung, in der ein lokaler Cache bereits viele der benötigten Artikel enthält, der Akt der Vorhersage nicht nur unnötig, sondern schädlich ist. Der effizienteste Weg besteht darin, die Anfragen ihr Bedürfnis offenbaren zu lassen, während sie ablaufen, und die Arbeit so zu planen, dass das System immer etwas Nützliches tut, sei es Berechnung oder Abruf.
Diese Arbeit deutet auf einen grundlegenden Wandel in der Verwaltung lokaler künstlicher Intelligenz hin. Sie zeigt, dass Effizienz nicht immer daraus entsteht, versucht, klüger über die Zukunft zu sein, sondern daraus, reaktionsfähiger auf die Gegenwart zu sein. Indem man Aufgaben erlaubt, in ihrem eigenen Tempo voranzuschreiten, und sie nur dann gruppiert, wenn es sinnvoll ist, eliminiert das System die Leerlaufzeiten, die die lokale KI lange Zeit geplagt haben. Die Ergebnisse basieren auf konkreten Messungen des Durchsatzes und der Zeit über mehrere Hardware-Setups hinweg und bieten ein klares Bild davon, wie diese neue Scheduling-Methode unter realen Bedingungen abschneidet. Die Forscher behaupten nicht, dass dies jedes Problem der lokalen Inferenz löst, aber sie haben demonstriert, dass für die spezifische Herausforderung, große, speicherhungrige Modelle auf persönlichen Geräten auszuführen, eine einfache Änderung der Reihenfolge der Operationen dramatische Verbesserungen bringen kann. Das System namens Bevy steht als praktisches Beispiel dafür, wie das Überdenken des Arbeitsflusses das volle Potenzial bestehender Hardware freisetzen kann, wodurch mächtige Intelligenz schneller und reaktionsfähiger direkt auf dem Schreibtisch des Nutzers wird.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.