Accelerating Offloading-Based MoE Inference by Interleaving Concurrent Requests
Het artikel introduceert Bevy, een MoE-inferentiesysteem dat traditionele prefetching-methoden overtreft door een zelfbalancerende scheduler te gebruiken om gelijktijdige verzoeken te verweven, waardoor het ophalen van experts wordt overlapt met berekening zonder afhankelijk te zijn van onnauwkeurige voorspellingen.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
In het stille gezoem van een persoonlijke computer slaat een nieuw soort intelligentie wortel. Large language models, de motoren achter moderne chatbots en schrijfassistenten, verplaatsen zich steeds vaker van massale datacentra naar lokale machines zoals desktops en werkstations. Deze verschuiving stelt gebruikers in staat om deze krachtige hulpmiddelen te gebruiken zonder afhankelijk te zijn van het internet, maar het introduceert een fysieke beperking: het geheugen van de computer is beperkt. Om deze modellen passend te maken, gebruiken onderzoekers een techniek die "mixture of experts" wordt genoemd. Stel je een enorme bibliotheek met kennis voor waar, voor elke gestelde vraag, slechts enkele specifieke boeken uit de kast worden gepakt om gelezen te worden, terwijl de rest onaangeroerd blijft. Dit houdt het werk snel en efficiënt. Echter, op een persoonlijk apparaat passen zelfs de "enkele boeken" die nodig zijn voor een enkel moment mogelijk niet allemaal tegelijk in het actieve geheugen van de computer. Wanneer de computer een boek nodig heeft dat er niet is, moet hij zijn denken onderbreken om het uit een tragere opslag schijf te halen, waardoor de processor stilstaat en wacht.
Jarenlang was de standaardoplossing voor dit wachtspel voorspelling. Het systeem probeert te raden welke boeken als volgende nodig zullen zijn en haalt ze alvast op terwijl de processor bezig is met de huidige taak. Dit is als een bibliothecaris die, terwijl jij een hoofdstuk leest, stilletjes de volgende waarschijnlijke hoofdstukken uit de kast pakt zodat ze klaarstaan wanneer je de pagina omslaat. Maar een team van onderzoekers van de Seoul National University en Yale University heeft ontdekt dat deze strategie vaak faalt wanneer de computer al een kleine cache van boeken in zijn actieve geheugen bewaart. Naarmate die cache vol raakt met de meest nuttige boeken, worden de gissingen van de bibliothecaris minder accuraat, wat tijd en bandbreedte verspilt aan het ophalen van boeken die nooit geopend zullen worden. In plaats van te proberen de toekomst te raden, vonden de onderzoekers een betere manier: laat het werk simpelweg in een andere volgorde gebeuren. Door verschillende verzoeken toe te staan op hun eigen tempo voort te bewegen, kan het systeem precies onthullen wat er als volgende nodig is zonder te raden, waardoor de wachttijd wordt omgezet in productief werk.
De onderzoekers, onder leiding van Hongseung Yu en Kyunghan Lee, bouwden een nieuw systeem genaamd Bevy om dit idee te testen. Ze observeerden dat wanneer meerdere verzoeken tegelijkertijd naar het model worden gestuurd — zoals wanneer een gebruiker vraagt om een code-review terwijl een ander deel van de software een e-mail controleert — de verzoeken niet allemaal op hetzelfde moment dezelfde boeken nodig hebben. In traditionele systemen wacht de computer tot elk verzoek alle benodigde boeken heeft verzameld voordat hij de volgende stap voor een van hen begint. Dit creëert een flessenhals waarbij de processor stilzit terwijl de opslag schijf werkt. Bevy verandert dit ritme. Het staat een verzoek dat al al zijn boeken gereed heeft, toe om direct naar de volgende stap te gaan, terwijl andere verzoeken wachten tot hun ontbrekende boeken zijn gearriveerd. Terwijl het gereedstaande verzoek vooruitgaat, onthult het precies welke boeken het voor de volgende stap nodig zal hebben. Het systeem haalt vervolgens die specifieke boeken op terwijl de processor bezig is met het gereedstaande verzoek. Dit creëert een naadloze overlap waarbij de opslag schijf en de processor beide tegelijkertijd werken, maar zonder enige noodzaak tot voorspelling.
De sleutel tot het soepel laten verlopen hiervan is een zelfbalancerende scheduler die beslist hoe de verzoeken gegroepeerd worden. Als het systeem simpelweg elk verzoek alleen zou laten draaien, zou de processor steeds opnieuw dezelfde gedeelde boeken uit het geheugen moeten lezen voor elk verzoek, wat alles vertraagt. Als het ze allemaal te rigide zou groeperen, zou het het voordeel verliezen van het sneller laten gaan van de snelle verzoeken. Bevy lost dit op door verzoeken dynamisch te groeperen, laag voor laag. Als veel verzoeken tegelijkertijd gereed zijn, groepeert het ze samen om de efficiëntie te maximaliseren. Als er slechts enkele gereed zijn omdat anderen nog wachten op boeken, laat het deze enkele in kleinere groepen vooruitlopen. Deze flexibiliteit zorgt ervoor dat de processor nooit stilstaat wachtend op het vormen van een groep, en de opslag schijf nooit stilstaat wachtend op het voltooien van een verzoek. Het systeem past zich in realtime aan de veranderende behoeften van de verzoeken aan, waardoor een flow ontstaat waarin berekening en het ophalen van gegevens natuurlijk parallel plaatsvinden.
De resultaten van deze aanpak werden gemeten op twee verschillende lokale computingsystemen, één gebruikmakend van een Apple-chip en de andere een NVIDIA Jetson AGX Thor Developer Kit met 128 GB unified memory en een Samsung 9100 PRO 2 TB SSD, waarbij twee verschillende large language models werden gedraaid. De onderzoekers vergeleken Bevy met de standaardmethode die wordt gebruikt in populaire software zoals llama.cpp, evenals met de meest geavanceerde voorspellingsgebaseerde systemen die beschikbaar zijn. Ze ontdekten dat Bevy de anderen consequent versloeg. In tests met variërende aantallen gelijktijdige verzoeken leverde Bevy tot wel 3,46 keer meer werk per seconde als de standaardmethode en tot 1,55 keer meer dan het snelste voorspellingsgebaseerde systeem. De verbetering was het meest significant wanneer de computer veel verzoeken tegelijkertijd moest beheren. Zelfs toen de onderzoekers het systeem testten met een grote cache van boeken die al in het geheugen zat, waarbij voorspellingssystemen worstelden met een lage nauwkeurigheid, behield Bevy zijn snelheid. Dit komt omdat Bevy geen tijd verspilde aan het ophalen van boeken die het niet nodig had; het haalde alleen op wat expliciet vereist was door de verzoeken die door het systeem bewogen.
De studie onderzocht ook of het toevoegen van voorspelling bovenop Bevy verder zou helpen. De onderzoekers probeerden de nieuwe scheduling methode te combineren met een voorspellingssysteem, in de verwachting dat de twee samen zouden werken. Echter, ze ontdekten dat de voorspelling geen waarde toevoegde en de boel soms zelfs vertraagde. Omdat Bevy de opslagverbinding zo druk houdt met het ophalen van de exacte boeken die nodig zijn voor de gereedstaande verzoeken, is er geen vrije tijd meer over om voorspelde boeken op te halen. Bovendien, wanneer het systeem probeert te voorspellen, gaat het er vaak naast, wat bandbreedte verspilt aan boeken die nooit gebruikt zullen worden. De onderzoekers concludeerden dat in deze specifieke omgeving, waar een lokale cache al veel van de benodigde items bevat, de handeling van het voorspellen niet alleen onnodig maar zelfs schadelijk is. De meest efficiënte weg is om de verzoeken hun behoeften te laten onthullen naarmate ze vorderen en de taken te plannen zodat het systeem altijd iets nuttigs doet, of dat nu berekening of het ophalen van gegevens is.
Dit werk suggereert een fundamentele verschuiving in hoe lokale kunstmatige intelligentie beheerd kan worden. Het laat zien dat efficiëntie niet altijd voortkomt uit het proberen slimmer te zijn over de toekomst, maar uit het responsiever zijn op het heden. Door taken toe te staan op hun eigen tempo voort te bewegen en ze alleen te groeperen wanneer dat zinvol is, elimineert het systeem de wachttijd die lokale AI al lang teistert. De bevindingen zijn gebaseerd op concrete metingen van doorvoer en timing over meerdere hardware-opstellingen, wat een duidelijk beeld geeft van hoe deze nieuwe scheduling methode presteert onder realistische omstandigheden. De onderzoekers beweerden niet dat dit elk probleem van lokale inferentie oplost, maar zij hebben aangetoond dat voor de specifieke uitdaging van het draaien van grote, geheugenintensieve modellen op persoonlijke apparaten, een eenvoudige verandering in de volgorde van operaties spectaculaire verbeteringen kan opleveren. Het systeem, genaamd Bevy, staat als een praktisch voorbeeld van hoe het heroverwegen van de workflow de volledige potentie van bestaande hardware kan ontsluiten, waardoor krachtige intelligentie sneller en responsiever wordt, direct op de bureau van de gebruiker.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.