PIM-SHERPA: Software Method for On-device LLM Inference by Resolving PIM Memory Attribute and Layout Inconsistencies

Dit paper introduceert PIM-SHERPA, een softwaremethode die de inconsistenties in geheugenattributen en lay-out oplost om efficiënte on-device inferentie van grote taalmodellen op PIM-systemen mogelijk te maken.

Sunjung Lee, Sanghoon Cha, Hyeonsu Kim, Seungwoo Seo, Yuhwan Ro, Sukhan Lee, Byeongho Kim, Yongjun Park, Kyomin Sohn, Seungwon Lee, Jaehoon Yu

Gepubliceerd Wed, 11 Ma
📖 4 min leestijd☕ Koffiepauze-leesvoer

Each language version is independently generated for its own context, not a direct translation.

Stel je voor dat je een zeer slimme, digitale assistent (een "Grote Taalmodel" of LLM) op je telefoon wilt laten draaien. Deze assistent kan praten, vertalen en vragen beantwoorden. Maar er is een probleem: deze assistent is enorm en vraagt veel van het geheugen van je telefoon.

Om dit snel te laten werken, hebben onderzoekers een slimme techniek bedacht genaamd PIM (Processing-In-Memory). In plaats van dat de processor (de hersenen) alle gegevens moet ophalen bij het geheugen (de bibliotheek), doet de assistent zijn rekenwerk direct in de bibliotheek zelf. Dit is veel sneller.

Maar hier zit een addertje onder het gras, en dat is precies wat dit papier, PIM-SHERPA, oplost.

Het Probleem: Twee verschillende werelden

Het probleem is dat de assistent twee verschillende manieren van werken heeft, en deze botsen met elkaar:

  1. De "Voorbereiding" (Prefill): Als je een lange tekst invoert, moet de assistent eerst alles lezen en begrijpen. Hierbij is het slim om de gegevens in een cache te stoppen. Denk aan een cache als een werktafel vlak bij de assistent. Als de assistent iets vaak nodig heeft, pakt hij het snel van de tafel. Dit is supersnel.
  2. De "Antwoord" (Decode): Als de assistent één woord per keer gaat schrijven, moet hij direct naar de bibliotheek (het geheugen) gaan om de regels te raadplegen. Hier werkt de PIM-techniek het beste. Maar voor PIM te werken, mag de assistent geen gebruik maken van de werktafel (cache). Hij moet direct naar de bibliotheek rennen. Als de gegevens op de werktafel liggen, denkt de assistent: "Ah, daar heb ik het al!" en hij gaat niet naar de bibliotheek. Dan werkt de snelle PIM-techniek niet.

De botsing:

  • Voor de voorbereiding wil je de gegevens op de werktafel (cache).
  • Voor het antwoord wil je dat ze niet op de werktafel liggen, maar direct in de bibliotheek (non-cacheable).

Als je dit oplost door twee volledige kopieën van de assistent te maken (één voor de werktafel, één voor de bibliotheek), heb je dubbel zoveel ruimte nodig. Je telefoon is dan vol, en je kunt geen grote modellen meer draaien.

De Oplossing: PIM-SHERPA

De onderzoekers hebben PIM-SHERPA bedacht. Dit is een slimme software-methode die geen extra hardware nodig heeft. Ze gebruiken twee slimme trucs:

Truc 1: De "Dubbele Buffer" (DDB) – Het Vervoerbandje

Stel je voor dat je een fabriek hebt.

  • De ene machine (de CPU) werkt aan de huidige taak.
  • Tegelijkertijd draait er een vervoerbandje (de copy-thread) die de volgende set instructies alvast van de bibliotheek haalt en op een klein, tijdelijk tafeltje (de cache-buffer) legt.
  • Zodra de eerste machine klaar is, pakt hij de nieuwe instructies van dat kleine tafeltje, terwijl het vervoerbandje alweer aan het werk is voor de daarna volgende stap.

Dit betekent dat het "verplaatsen" van de gegevens (het aanpassen van de lay-out) gebeurt terwijl de assistent al aan het rekenen is. Je merkt er niets van, want het wachten valt samen met het werken.

Truc 2: "Online Herverrang" (OWR) – De Slimme Koerier

Soms is de tekst die je invoert zo lang, dat het rekenen zelf de langste tijd kost. In dat geval maakt het niet uit als je even stopt om de gegevens te verplaatsen.

  • De software wacht tot het moment dat de assistent klaar is met een stap.
  • Dan stuurt hij direct een koerier (de copy-thread) om de benodigde gegevens uit de bibliotheek te halen, ze om te vormen tot een formaat dat de assistent begrijpt, en ze op de werktafel te leggen.
  • Omdat het rekenen zo lang duurt, is de koerier al klaar voordat de assistent weer iets nodig heeft.

Waarom is dit geweldig?

  1. Ruimtebesparing: In plaats van twee volledige kopieën van de assistent te hebben (wat je telefoon vol zou maken), gebruiken ze maar één kopie en een heel klein extra tafeltje. Dit bespaart bijna 50% aan geheugenruimte. Je kunt dus veel slimmere modellen op je telefoon draaien.
  2. Snelheid: Het is net zo snel als de theoretische maximumsnelheid. De assistent hoeft niet te wachten op de gegevens.
  3. Geen nieuwe hardware: Je hoeft je telefoon niet te vervangen. Het werkt gewoon met de software die er nu al is.

Samenvattend

PIM-SHERPA is als een slimme manager die ervoor zorgt dat zijn assistent altijd de juiste gereedschappen op de juiste plek heeft, zonder dat hij twee keer zoveel gereedschapskisten nodig heeft. Hij haalt de volgende set gereedschappen alvast op terwijl de assistent aan het werk is, zodat er nooit stilstand ontstaat. Hierdoor kunnen we straks veel krachtige AI-assistenten hebben die direct op onze telefoons werken, zonder dat we een dure nieuwe telefoon hoeven te kopen.