RedFuser: An Automatic Operator Fusion Framework for Cascaded Reductions on AI Accelerators

RedFuser is een automatisch framework dat cascaderende reductie-operaties in AI-modellen efficiënt samenvoegt tot een enkele lus, waardoor een snelheidsverhoging van 2 tot 5 keer wordt bereikt ten opzichte van bestaande compilers.

Xinsheng Tang, Yangcheng Li, Nan Wang, Zhiyi Shu, Xingyu Ling, Junna Xing, Peng Zhou, Qiang Liu

Gepubliceerd Thu, 12 Ma
📖 4 min leestijd☕ Koffiepauze-leesvoer

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

RedFuser: De "Super-Kok" voor AI-keukens

Stel je voor dat een AI-model (zoals een slimme chatbot) een gigantische receptenboek is. Om een antwoord te geven, moet de computer duizenden kleine berekeningen uitvoeren. In de wereld van AI noemen we deze berekeningen "operatoren".

Het probleem is dat de huidige software (de "koks") deze berekeningen vaak stap voor stap, één voor één, uitvoert. Het is alsof je een taart maakt, maar eerst deeg maakt, dat in een bak doet, de bak uit de oven haalt, deeg weer uit de bak haalt, het op een bord legt, en pas dan deeg weer in de oven doet voor de volgende laag. Je loopt constant heen en weer naar de oven en de koelkast. Dit kost veel tijd en energie.

RedFuser is een nieuw slimme tool die dit probleem oplost. Het is een automatisch systeem dat deze losse stappen samenvoegt tot één efficiënte, soepele beweging.

Hier is hoe het werkt, vertaald naar alledaagse taal:

1. Het Probleem: De "Kettingreactie" van Wachten

In AI-modellen zijn er bepaalde berekeningen die in een ketting hangen. Je kunt pas de tweede stap doen als de eerste klaar is.

  • Voorbeeld: Stel je voor dat je een grote menigte mensen moet tellen, en daarna het gemiddelde gewicht van die mensen moet berekenen.
  • De oude manier: Je telt eerst iedereen (stap 1), schrijft het getal op een briefje, loopt naar een ander kantoor, leest het briefje, en begint dan pas met wegen (stap 2). Tussendoor loop je heen en weer, en je moet het briefje steeds opnieuw lezen.
  • De inefficiëntie: De computer moet steeds dezelfde gegevens uit het geheugen (de koelkast) halen, verwerken, opslaan, en weer ophalen. Dit is als een bezorgdienst die elke bestelling apart aflevert in plaats van één grote vrachtwagen te vullen.

2. De Oplossing: RedFuser als de "Meester-Kok"

RedFuser kijkt naar deze losse stappen en zegt: "Wacht even, jullie doen dit allemaal in dezelfde keuken. Laten we het in één keer doen!"

Het doet dit door twee slimme trucjes toe te passen:

Truc 1: De "Alles-in-Één" Pan (Operator Fusion)

In plaats van het deeg te maken, op te bergen, en later weer te gebruiken, doet de kok het deeg maken, het bakken en het serveren in één continue stroom.

  • In de computer: RedFuser pakt de losse berekeningen en smelt ze samen tot één enkele, krachtige instructie. De computer hoeft de gegevens niet meer op te slaan en weer op te halen. Het blijft in het snelle, lokale geheugen van de chip.
  • Het resultaat: Geen meer heen en weer lopen naar de koelkast. Alles gebeurt in één beweging.

Truc 2: De "Streaming" Methode (Incremental Computation)

Soms is de menigte zo groot dat hij niet in één keer in de keuken past. De oude methoden probeerden alles in het geheugen te proppen, wat leidde tot chaos en vertraging.

  • De nieuwe manier: RedFuser gebruikt een "streaming" aanpak. Stel je voor dat je een rivier hebt. In plaats van te wachten tot de hele rivier is opgevangen in een reservoir (wat te groot is), vang je het water op terwijl het stroomt, verwerk je het direct, en stuur je het direct door.
  • Waarom is dit slim? Je hoeft niet te wachten tot alles binnen is. Je kunt alvast beginnen met het volgende stukje terwijl je het vorige verwerkt. Dit betekent dat de computer nooit stopt om te wachten en altijd voluit draait, zelfs bij gigantische hoeveelheden data.

3. Wat levert dit op?

De auteurs van het paper hebben RedFuser getest op moderne AI-chips (zoals die van NVIDIA). De resultaten zijn indrukwekkend:

  • 2 tot 5 keer sneller: AI-modellen draaien veel sneller dan met de huidige standaardsoftware.
  • Net zo goed als handwerk: Vaak schrijven experts hun eigen code om dit snel te maken. RedFuser doet dit automatisch en komt uit op hetzelfde hoge niveau, maar dan zonder dat een mens urenlang hoeft te puzzelen.
  • Toepasbaar op alles: Of het nu gaat om het begrijpen van taal (zoals in chatbots), het aanbevelen van films, of het analyseren van medische beelden; waar er deze "ketting-berekeningen" zijn, werkt RedFuser.

Samenvattend

Stel je voor dat AI-berekeningen een drukke metrostation zijn.

  • De oude software laat elke passagier een apart ticket halen, wachten in een rij, en dan pas de trein opstappen.
  • RedFuser is het systeem dat alle passagiers in één groep samenbrengt, hen direct door de poort laat lopen en ze direct in de trein zet, terwijl de trein al vertrekt.

Het is een automatische "snelheidsverhoging" die ervoor zorgt dat onze AI-toekomst niet vastloopt in trage berekeningen, maar soepel en razendsnel vooruit gaat.