Academische machine learning vereist uitgebreide toolsets voor modeltraining en -evaluatie, maar de overgrote meerderheid van academisch werk is meer gebaseerd op modelcapaciteit dan op de energiekosten van het inzetten van die modellen. Dit zet modelbouwers in het nadeel bij het ontwikkelen van oplossingen voor consumentenapparaten. Met een relatief onbeperkt energiebudget zijn modelbouwers in de cloud verder gegaan dan denken in termen van microwatt (uW). Bij gebrek aan een intuïtief begrip voor machtsverhoudingen, worden systeemontwerpen vaak onderhandeld tussen teams van machine learning en embedded engineers die niet dezelfde taal spreken. We willen modelleurs helpen om tot de best mogelijke oplossing te komen zonder dat je een elektrotechnisch diploma nodig hebt.

De eerste stap is het begrijpen van energie en kracht: energie is een maat voor het vermogen om een ​​taak uit te voeren (d.w.z. 'werk' doen), terwijl vermogen de snelheid is waarmee energie in de loop van de tijd wordt gebruikt. U kunt de energie per gevolgtrekking vinden als een statistiek voor een netwerk en vervolgens de gevolgtrekking per seconde toepassen om het gemiddelde stroomverbruik in de loop van de tijd te vinden. Een eenvoudig voorbeeld is een gloeilamp van 60 watt (W). Eén seconde is 60 joule energie voor de gloeilamp, gemiddeld 60 W vermogen. Als je de lamp een halve dag uitdoet, is het gemiddelde vermogen over een periode van 24 uur slechts 30W. De specifieke vergelijking voor watt is energie per seconde:

Vermogen (watt) = Energie (joule)/Tijd (seconden)

Meer recente innovaties hebben geleid tot LED-lampen, die dezelfde hoeveelheid licht kunnen geven als een gloeilamp van 60 W met een gemiddeld vermogen van slechts 6 W. Ineens kun je de lampen 10 keer langer voeden, of zelfs 10 gloeilampen plaatsen voor dezelfde energie.

Batterijgevoede apparaten bieden een andere dimensie, er is een beperkte hoeveelheid totale energie die in een batterij kan worden opgeslagen en de totale bedrijfstijd wordt bepaald door de snelheid waarmee deze wordt verbruikt. De batterijcapaciteit wordt meestal gerapporteerd in mW-uren (mWH), of soms in milliampère-uren (mAH) om aan te geven hoe lang de batterij een gemiddeld vermogen kan volhouden. Terug naar de gloeilamp, overweeg een licht dat 4 joule energie kan ontladen over een periode van 1 milliseconde, wat 4000 W piekvermogen is, maar als je dit maar 4 keer per dag doet, is het gemiddeld 0,18 W (of 180 mW ) van stroom gedurende de dag.

Efficiëntere gloeilampen

Het ideale neurale netwerk aan de rand (zoals geïllustreerd door de Syntiant Neural Decision Processor™) combineert het energieverbruik van LED-lampen met de timing van een cameraflitslamp: gebruik minder energie voor de inferentietaak en voer ook alleen gevolgtrekkingen uit als dat nodig is. Voor een bepaalde taak zal het totale energieverbruik lager zijn.

De beste manier om dat te kwantificeren is door te kijken naar de energie voor een volledige oplossing, en niet alleen naar de piekprestaties gerapporteerd door operations/watt (OPs/W). Veel oplossingen die hoge OP's/W claimen, kunnen die prestaties niet volhouden gedurende de duur van volledige netwerken. Om een ​​systeem volledig te evalueren, controleert u de volledige systeembenchmarks, zoals de TinyML Perf-benchmark waar Syntiant de enige oplossing met een neurale processor heeft ingediend. U kunt ook bekende benchmarkarchitecturen kiezen, zoals de door Google gespecificeerde MobileNetV1 (alpha=0,25). Zodra u zich op de volledige taak concentreert, verwijdert het de wiebelfactor in gedeeltelijke informatie.

Voorbeeldprompt voor siliciumproviders: “Vul de volgende tabel in voor 0.25MobileNetV1 zoals gespecificeerd door Google voor RGB128x128-ingangen.” Dit zijn de prestatieresultaten van de NDP200 met MobileNetV1 op kwartschaal, maar wat betekent dit? Hoe moeten we dit als modelbouwers interpreteren? Waarom willen we dit weten? Laten we rij voor rij bekijken.

 

  • Voedingsspanning en kloksnelheid: In halfgeleiders kunnen berekeningen worden versneld door de spanning te verhogen, maar het oplossingsvermogen is evenredig met het kwadraat van de spanning. Als u bijvoorbeeld van 0,9 V naar 1,1 V gaat, gaat het vermogen met bijna 50% omhoog. Dit wordt een belangrijke afweging bij het ontwerpen van oplossingen. Je moet net genoeg snelheid bieden voor de use-case, zonder de voedingsspanning onnodig te verhogen. Door de kloksnelheid naar 98 MHz te duwen, wordt de doorvoer verhoogd, maar als u de volt verhoogt om de chip te onderhouden die sneller werkt, maakt u elke individuele gevolgtrekking duurder in termen van stroom. Die spanningsverandering maakt een enorm verschil. U wilt dus dat uw prestatiecijfers worden weergegeven met een consistente spanning en kloksnelheid, zodat u geen chip koopt die de efficiëntie van de lage spanning en de doorvoer van de hoge spanning verwacht.
  • Inferentie energie en Inferentie Machtop Maximum Gevolgen Per Seconde:De combinatie van deze twee maatregelen kan je veel vertellen over de cijfers die de siliciumleverancier presenteert. In een ideaal geval zou het inferentievermogen bij maximale gevolgtrekkingen per seconde (Maximum Inferenties per seconde) * (Inferentie-energie) moeten zijn, omdat de chip in staat moet zijn om een ​​duty-cycle te doen, wat betekent dat hij alleen moet werken wanneer dat nodig is. Als je echter zo weinig draait, begint de statische kracht van de SoC er meer toe te doen dan de inferentiekracht.

Tip: wanneer je één inferentie uitvoert per seconde (d.w.z. 1 Hz), dan worden de inferentie-energie en het vermogen uitwisselbaar. U kunt denken in termen van 156 uJ of 156 uW.

  • SoC Static Power: Halfgeleiders verbruiken meer stroom wanneer ze onder belasting staan, maar zelfs als ze niet actief zijn, zijn er vaste kosten verbonden aan het van stroom houden en klokken van de chip. De statische kracht van de SoC beantwoordt de vraag, aangenomen dat de chip de inputs en gewichten van het neurale netwerk al opslaat (d.w.z. ze hoeven niet van een externe bron te worden geladen), wat zijn de stroomvereisten, afgezien van de kosten van gevolgtrekking?” Door de statische kracht van de SoC expliciet te vermelden, kun je de krachteffecten van wijzigingen in de framesnelheden kennen.

Framerate Math: Met de inferentie-energie en SoC Static Power-schattingen bent u in staat om back-of-the-envelope wiskunde uit te voeren voor verschillende framesnelheden. De inferentiekosten moeten ongeveer lineair worden geschaald, dus werken met 10 gevolgtrekkingen per seconde kost 1560 uW, wat vervolgens wordt opgeteld bij de vaste kosten van het statische vermogen van de SoC. Deze cijfers zijn goed genoeg om oplossingsontwerp op modelniveau te doen, maar elektrotechnische collega's moeten worden geraadpleegd om andere componenten van het oplossingsvermogen te integreren, zoals het sensorvermogen en de kosten voor geheugenoverdracht. Gelukkig veranderen deze power-elementen van oplossingen doorgaans niet als reactie op veranderende neurale architecturen. U kunt modelontwerpen herhalen zonder de sensorkosten voortdurend opnieuw te berekenen.

Oplossingsvermogen = (SoC Static Power) + (Frame Rate)*(Inference Energy)

  • Taakprestatiewijziging:De meeste siliciumproviders zullen de neurale architectuur niet in zijn exacte vorm gebruiken zoals die wordt geboden door de openbare referentie. Met de NDP200 kunt u bijvoorbeeld de numerieke precisie van activeringen selecteren. Afhankelijk van uw selecties, zullen de taakprestaties enigszins veranderen. Als u niet om een ​​taakprestatienummer vraagt, zal het silicium waarschijnlijk op de minimale resolutie werken. Veel succes met het oplossen van de taak met een gewicht van 1 bit, vooroordelen en activeringen…
  • Maximale gevolgtrekkingen per seconde: u moet weten hoe vaak u het netwerk kunt gebruiken sinds de doorvoer in real-time toepassingen zijn nauw verbonden met taakprestaties. (Ons volgende bericht, “Duty Cycling for Modelers” zal hier meer inzicht in geven.)

Dus nu je de essentiële statistieken van edge-processors kent, hoe kunnen deze uw neurale architecturen informeren? In onze volgende blogpost zullen we in detail beschrijven wat liefkozend “Flash Bulb Solutions” als een manier om neurale capaciteit door de tijd heen te besteden aan enorm efficiënte oplossingen.

Rouzbeh Shirvani, Ph.D., en Sean McGregor, Ph.D.
Machine Learning Architects, Syntiant

0

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *