Multi-DNN Inference of Sparse Models on Edge SoCs

Deze paper introduceert SparseLoom, een demonstratiesysteem dat 'model stitching' toepast om subgrafen van sparse modellen te herschikken zonder opnieuw te trainen, waardoor multi-DNN-inferentie op Edge-SoCs aanzienlijk efficiënter wordt met een reductie van SLO-overtredingen tot 74% en een doorvoerverhoging tot 2,31x.

Jiawei Luo, Di Wu, Simon Dobson, Blesson Varghese

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 slimme, draagbare computer hebt (zoals een moderne smartphone of een bril voor augmented reality). Deze computer moet op hetzelfde moment heel veel verschillende taken uitvoeren: het herkennen van wat je zegt, het analyseren van beelden, het begrijpen van je stemming en het herkennen van bewegingen.

Vroeger was dit lastig. De software die deze taken doet (de "modellen") was vaak te zwaar of te traag. Om het sneller te maken, maakten ontwikkelaars "versneden" versies van deze software: minder nauwkeurig maar wel supersnel, of juist heel nauwkeurig maar wat trager.

Het probleem? De bestaande systemen konden maar één versie per taak kiezen. Als de situatie veranderde (bijvoorbeeld: "we hebben nu snellere reacties nodig, maar mogen iets minder nauwkeurig zijn"), kon het systeem niet snel schakelen. Het resultaat: de computer werd traag, of de taken faalden.

SparseLoom is een nieuwe uitvinding van onderzoekers van de Universiteit van St Andrews die dit probleem oplost. Hier is hoe het werkt, vertaald naar alledaagse taal:

1. Het idee: "Stikken" in plaats van "Bakken"

Stel je voor dat je een enorme bibliotheek hebt met verschillende versies van hetzelfde boek.

  • Versie A: Het volledige boek (duurzaam, maar zwaar).
  • Versie B: Een samenvatting (snel, maar mist details).
  • Versie C: Een versie met alleen de belangrijkste hoofdstukken.

Tot nu toe moesten mensen kiezen: of het hele boek, of de samenvatting.

SparseLoom doet iets heel slims: het stikt (stitching) deze boeken in elkaar. Het pakt het eerste hoofdstuk uit het volledige boek, het tweede hoofdstuk uit de samenvatting en het derde hoofdstuk uit de versie met alleen de belangrijkste stukken.

  • Het resultaat: Een gloednieuw boek dat precies de balans heeft die je op dat moment nodig hebt.
  • Het grote voordeel: Ze hoeven het boek niet opnieuw te schrijven (geen "re-training"). Ze plakken gewoon bestaande stukken aan elkaar. Hierdoor ontstaan er duizenden nieuwe, perfecte combinaties in plaats van slechts een paar vaste opties.

2. De uitdagingen en de oplossing

Maar het stikken van duizenden nieuwe boeken brengt drie grote problemen met zich mee. De onderzoekers hebben voor elk een slimme oplossing bedacht:

Uitdaging 1: De "Proeflees"-Pijn

Als je duizenden nieuwe boeken maakt, moet je ze allemaal eerst testen om te zien of ze goed werken. Dat kost eeuwen tijd.

  • De oplossing (De Snelheidsschatting): In plaats van elk boek letterlijk te lezen, heeft SparseLoom een slimme "schattingsservice". Deze kijkt naar de stukjes die erin zitten en zegt: "Ah, dit hoofdstuk komt uit een goed boek en dat stukje uit een snel boek; samen wordt dit waarschijnlijk een goed en snel boek."
  • Het effect: Ze hoeven niet alles te testen. De tijd die ze kwijt zijn aan het voorbereiden van het systeem daalt met wel 99%.

Uitdaging 2: De verkeerde "Werkplek"

Stel je voor dat je een team hebt: een snelle renner (GPU), een sterke krachtsporter (CPU) en een slimme denker (NPU). Als je taken verkeerd verdeelt (bijvoorbeeld: de renner doet de zware krachtsport), gaat het mis.

  • De oplossing (De Slimme Planner): De oude systemen deden alles in een vaste volgorde. SparseLoom is een slimme planner die op de vlucht bedenkt: "Voor dit specifieke samengestelde boek is het het snelst als de denker eerst begint, gevolgd door de renner."
  • Het effect: Het systeem werkt veel sneller en kan meer taken tegelijk afhandelen (tot 2,3 keer sneller).

Uitdaging 3: De volle kast

Als je duizenden boeken in je kast (het geheugen) wilt hebben zodat je er snel bij kunt, heb je een enorme kast nodig. Dat past niet in je telefoon.

  • De oplossing (De Populaire Selectie): In plaats van alles op te slaan, kijkt SparseLoom welke hoofdstukken het vaakst nodig zijn. Het slaat alleen die "populaire" stukken op in de kast. Als er een nieuw boek nodig is dat een zeldzaam hoofdstuk bevat, laadt dat er even snel bij.
  • Het effect: Ze hebben 28% minder geheugen nodig, maar het systeem werkt net zo goed.

Waarom is dit belangrijk?

Vroeger moest je kiezen tussen snelheid en kwaliteit. Met SparseLoom krijg je het beste van beide werelden.

  • Je telefoon of bril wordt sneller.
  • Taken falen minder vaak (bijvoorbeeld: je stemherkenning werkt ook als je snel moet reageren).
  • Het systeem past zich automatisch aan aan wat je nodig hebt op dat moment, zonder dat je er iets voor hoeft te doen.

Kortom: SparseLoom is als een meester-kok die niet alleen kookt met vaste recepten, maar op het moment zelf de perfecte maaltijd samenstelt uit de beste ingrediënten die hij in de koelkast heeft, zonder dat hij de hele keuken opnieuw hoeft in te richten.