Sparse by Command: Task-Conditional Compute Skipping for Multi-Task Inference Accelerators
Dit artikel presenteert "Sparse by Command", een hardware-software co-design aanpak die taakcommando's benut om onnodige berekeningen dynamisch over te slaan via lichtgewicht gating-netwerken en een gespecialiseerde tiled accelerator, waarmee tot 76% FLOP-reductie en een 2,4x latentieversnelling wordt bereikt voor multi-task inferentie zonder de modelarchitectuur te wijzigen.
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
Stel je voor dat jij de dirigent bent van een enorm, hoogtechnologisch orkest. In de wereld van kunstmatige intelligentie is dit orkest een "neuraal netwerk", een breinachtig computerprogramma dat beslissingen neemt. Normaal gesproken, wanneer dit orkest een muziekstuk speelt, pakt elke muzikant zijn instrument op en speelt mee, ongeacht wat voor soort lied er wordt uitgevoerd. Als het lied een zachte wiegeliedje is, spelen de zware drums en de schallende trompetten nog steeds op vol volume, ook al heeft het lied daar geen behoefte aan. Dit is ongelooflijk verspillend. Het verbruikt veel energie en kost veel tijd, net zoals met een enorme vrachtwagen naar de winkel op de hoek rijden om slechts één appel te kopen.
In het specifieke veld van "multi-task inference" is dit probleem zelfs nog groter. Hier wordt één enkel computerbrein gevraagd om tegelijkertijd veel verschillende taken uit te voeren, zoals het besturen van een auto, het remmen of het naar links afslaan. Het probleem is dat de computer niet weet welke taak hij aan het uitvoeren is totdat hij begint met werken, dus bereidt hij zich voor op alle taken tegelijk, waarbij hij energie verspilt aan zaken die hij op dat moment niet nodig heeft. Wetenschappers hebben geprobeerd dit op te lossen door de computer "sparse" te maken, wat een chic woord is voor "leeg" of "ijjl". Ze hebben geprobeerd de computer te vertellen dat hij sommige noten moet overslaan, maar meestal moet de computer nog steeds elke enkele noot controleren om te zien of hij hem moet overslaan, wat tijd en energie kost. Dit artikel stelt een simpele vraag: Wat als de computer precies wist welk werk hij ging doen voordat hij begon met spelen, zodat hij de muzikanten kon vertellen hun instrumenten neer te leggen voordat ze ze überhaupt oppakten?
De auteurs van dit artikel, een team uit Hong Kong en Huawei, hebben een slim nieuw systeem gebouwd genaamd "Sparse by Command" dat dit probleem oplost. Ze realiseerden zich dat in taken zoals autonoom rijden, de "opdracht" (zoals "sla linksaf" of "rem") al bekend is ver voordat de computer begint naar de weg te kijken. Ze gebruikten deze gratis beschikbare informatie om een slimme schakelbord te creëren. In plaats van dat de computer moet raden welke delen van zijn brein hij moet gebruiken, kijkt een piepklein, supersnel hulpnetwerk naar de opdracht en zet direct een schakelaar om om de specifieke delen van het hoofdbrein die op dat moment niet nodig zijn, uit te schakelen.
Denk aan een slim huis. Als je tegen je huis zegt "ik ga slapen", dimt het systeem niet alleen de lichten in de woonkamer; het weet dat je niet in de keuken bent, dus schakelt het de stroom naar de keukenlampen volledig uit voordat je er zelfs maar naar toe loopt. De auteurs hebben een speciale computerchip gebouwd (op een FPGA, wat een programmeerbare Lego-plaat voor elektronica is) die deze schakelaars begrijpt. Wanneer de opdracht zegt "rem", slaat de chip 76% van het werk over. Wanneer de opdracht zegt "sla linksaf", slaat hij ongeveer 71% over. Omdat de chip het werk fysiek stopt in plaats van alleen maar te doen alsof het het doet, bespaart het een enorme hoeveelheid tijd en batterijkracht.
De resultaten zijn zeer indrukwekkend. Wanneer ze dit testten op een gesimuleerd rijspel genaamd CARLA, werd het systeem veel sneller. De tijd die nodig was om een beslissing te nemen daalde van 9,12 milliseconden naar tussen de 3,74 en 4,44 milliseconden. Dat is een versnelling van ongeveer 2,1 tot 2,4 keer! Het verbruikte ook minder dan de helft van de energie, dalend van 263 millijoule naar ongeveer 108–128 millijoule per beslissing. Cruciaal was dat de auto niet crashte of de weg kwijtraakte; het voltooide nog steeds 100% van de rijroutes perfect.
Het artikel laat ook zien waarom deze aanpak beter is dan oudere methoden. Ze probeerden delen van het brein permanent te "prunen" (weg te snoeien), zoals het voor altijd verwijderen van de drums uit het orkest. Maar dat werkte niet goed, omdat je de drums soms wel en soms niet nodig hebt. Als je ze permanent verwijdert, kan het orkest de liedjes die de drums nodig hebben, niet meer spelen. Het "Sparse by Command"-systeem is slimmer omdat het alle muzikanten gereed houdt, maar ze alleen oproept wanneer het specifieke lied dat nodig heeft. Ze hebben dit zelfs getest op een ander type computerbrein (een Transformer) en ontdekten dat het daar ook werkte, wat suggereert dat dit idee gebruikt kan worden voor veel verschillende soorten slimme machines, niet alleen auto's.
Kortom, dit artikel bewijst dat als je een computer een duidelijke instructie geeft over wat hij moet doen, je hem kunt vertellen om al het onnodige drukwerk over te slaan. Door een aangepaste chip te bouwen die naar deze instructies luistert en fysiek het onnodige werk overslaat, hebben ze een slim systeem gemaakt dat sneller is, goedkoper is in gebruik en even goed is in zijn werk. Het is een herinnering dat de beste manier om efficiënt te zijn soms niet is om harder te werken, maar om precies te weten wat je niet moet doen.
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.