Er komt veel meer kijken bij het begrijpen van de mogelijkheden van een AI-engine dan TOPS per watt. Een nogal willekeurige maatstaf voor het aantal bewerkingen van een motor per vermogenseenheid, deze metriek mist volledig het punt dat een enkele bewerking op de ene motor nuttiger werk kan opleveren dan een veelvoud aan bewerkingen op een andere motor. In ieder geval is TOPS/W zeker niet de enige specificatie die een systeemarchitect of chipontwerper zou moeten gebruiken bij het bepalen van de beste AI-engine voor hun unieke applicatiebehoeften. Elke ervaren systeemontwerper zal u vertellen dat factoren zoals softwarestack, chipgrootte/gebiedsvereisten, geschiktheid voor specifieke neurale netwerken en andere vaak belangrijker zijn.

Toch is TOPS/W vaak een van de eerste prestatiebenchmarks die worden geleverd door makers van NPU (Neural Processing Units), waaronder Expedera, en het kan nuttig zijn als het wordt beschouwd in de context van de onderliggende testomstandigheden. Helaas is er geen gestandaardiseerde manier om de hardware te configureren of benchmarkresultaten te rapporteren en dit maakt het een uitdaging bij het vergelijken van verschillende NPU's.

Laten we eens kijken hoe de onderliggende testomstandigheden een rol spelen bij het bekijken van TOPS/W-benchmarkgegevens .

Frequentie als variant in TOPS/W

De TOPS-statistiek wordt gedefinieerd volgens de formule: TOPS = MAC's * Frequentie * 2. Laten we beginnen met het frequentiegedeelte van de vergelijking. Er is geen 'beste' of 'meest correcte' frequentie die een NPU-maker zou moeten gebruiken. De frequentie is evenzeer afhankelijk van het procesknooppunt als van het NPU-ontwerp en zal variëren van NPU tot NPU. Hetzelfde IP-adres zal bijvoorbeeld verschillende resultaten opleveren wanneer verschillende frequenties worden gebruikt. Overweeg dat een 54K MAC-engine op 1GHz 108 TOPS produceert, terwijl dezelfde 54K MAC-engine op 1,25GHz 135 TOPS oplevert. Het verhogen van de frequentie resulteert in meer TOPS, maar ten koste van een onevenredig verhoogd stroomverbruik. In het geval van chipgebaseerde NPU's zal de maximale verwerkingsfrequentie vast zijn, terwijl voor IP-gebaseerde NPU's (zoals Expedera's) de frequenties zullen afhangen van de daadwerkelijke siliciumimplementatie. Bij het vergelijken van benchmarkresultaten van verschillende leveranciers is het belangrijk om te normaliseren voor eventuele verschillen in de frequentie die voor het testen wordt gebruikt.

Neurale netwerk(en) gebruikt als variant in TOPS/W

Na normalisatie voor frequentie, moeten we vervolgens de gebruikte neurale netwerken onderzoeken. Neurale netwerken hebben een groot aantal kenmerken.

De bovenstaande figuur laat zien hoe vijf veelgebruikte neurale netwerken enorme verschillen in verwerking kunnen hebben. ResNet 50 heeft bijvoorbeeld 27X minder bewerkingen dan Unet, maar meer dan 12X de gewichten. Bijgevolg zullen de verwerkingsvereisten (en prestaties) voor elk variëren. Door dezelfde engine lopen, zullen deze twee netwerken verschillende resultaten opleveren. Door concurrerende motoren te lopen, zullen de twee netwerken waarschijnlijk zeer uiteenlopende resultaten opleveren die niet noodzakelijkerwijs indicatief zijn voor daadwerkelijke concurrentieprestaties. Om een ​​nauwkeurige onderlinge vergelijking van AI-engines te krijgen, moeten we identieke netwerken gebruiken.

Precisie als variant in TOPS/W

Het is even belangrijk om rekening te houden met de precisie van die netwerken. Een engine die een neuraal netwerk op een INT4-niveau van precisie draait, hoeft slechts de helft van de gegevens te verwerken in vergelijking met een INT8-versie van hetzelfde neurale netwerk, wat leidt tot een veel lagere verwerkingsbelasting. Idealiter rapporteren NPU-providers gegevens met hetzelfde nauwkeurigheidsniveau voor alle lagen van het netwerk – of het nu gaat om stroom of prestaties (of beide). In de praktijk zullen sommige engines de precisie in bepaalde verwerkingsintensieve lagen verminderen om binnen de vermogensgrenzen te blijven. Hoewel deze benadering niet inherent correct of incorrect is, kan het verwarrend zijn voor benchmarking, omdat een AI-engine die de precisie in een of meer lagen verlaagt, de schijn kan wekken van verwerkingsvoordelen ten opzichte van een andere engine die een hoger precisieniveau in het hele netwerk toepast.

Spaarzaamheid en snoeien als variant in TOPS/W

De volgende vraag die moet worden gesteld, is of er bewerkingsbesparende technieken zoals sparsity of snoei worden gebruikt. Zowel spaarzaamheid als snoeien zijn algemeen aanvaarde methoden om de verwerkingsbehoeften te verminderen of het stroomverbruik van een AI-engine te verlagen door het vermijden van berekeningen op basis van 0-waarden in vermenigvuldigingsvergelijkingen of het verwijderen van overtolligheden in de minst belangrijke delen van modellen. Het gebruik van deze technieken kan leiden tot aanzienlijke PPA-winsten (prestaties, vermogen, oppervlakte). Sommige netwerken laten 30% sparsity of meer toe met zeer kleine negatieve effecten op de nauwkeurigheid van het netwerk. Indien niet gerapporteerd in de aannames van TOPS/W, zou het vorige voorbeeld een kunstmatig prestatievoordeel van 30% opleveren ten opzichte van een andere NPU waar 0 sparsity wordt gebruikt op hetzelfde netwerk.

Procesnode als variant in TOPS/W

Inzicht in de onderliggende voorwaarden voor het testen helpt bij het creëren van een gelijk speelveld voor het vergelijken van TOPS-resultaten voor verschillende NPU's. Idealiter kunnen benchmarkingvoorwaarden worden geconfigureerd of geïnterpoleerd om nauw aan te sluiten bij uw toepassingsvereisten. Maar u zult waarschijnlijk stappen moeten ondernemen bij het vergelijken van NPU's, waaronder de normalisatie van de verwerkingsfrequentie, het gebruik van een identiek neuraal netwerk (en) met identieke precisie en het toepassen (of niet) van schaarste en overal snoeien.

We moeten nu het procesknooppunt beschouwen als het gaat om stroomverbruik. Een van de grote voordelen van het overstappen naar kleinere procesknooppunten is dat kleinere knooppunten over het algemeen minder stroom nodig hebben voor dezelfde actie. Een NPU in TSMC 5nm zal bijvoorbeeld waarschijnlijk ongeveer 25% minder stroom verbruiken dan dezelfde NPU in TSMC 7nm. Dit geldt voor zowel IP- als chipgebaseerde NPU's. Omdat procesknooppunten een krachtige invloed hebben op de prestaties, moet hiermee rekening worden gehouden bij het vergelijken van benchmarkgegevens. Het is belangrijk om aan een NPU-leverancier te vragen of de vermogensgetallen zijn gemeten in daadwerkelijk silicium, geëxtrapoleerd uit daadwerkelijk silicium of gebaseerd zijn op simulatie. Als daadwerkelijk silicium is gebruikt, moet de leverancier aangeven welk procesknooppunt.

Geheugenstroomverbruik als een variant in TOPS/W

Een hot topic binnen de AI-industrie is hoe het stroomverbruik van het geheugen in een TOPS/W-gesprek te verantwoorden. Sommige AI-providers doen dat, andere niet. Alle AI-engines hebben geheugen nodig – sommige hebben enorme hoeveelheden geheugen nodig in vergelijking met andere. Een redelijke strategie is om na te denken over hoeveel geheugen optimaal is voor uw toepassing en de gerapporteerde resultaten dienovereenkomstig te normaliseren.

Gebruik als variant in TOPS/W

Zoals we kunnen zien, is het niet eenvoudig om het prestatiepotentieel van een NPU te beoordelen en te vergelijken. En toch is er nog een factor die vaak over het hoofd wordt gezien: processorgebruik. Zoals alle processors worden NPU's niet 100% gebruikt. Dit betekent dat processors gedurende een bepaald percentage van de tijd inactief zijn in afwachting van de volgende gegevensset, omdat die gegevens in het geheugen verschuiven. Hoewel processors 'sweet spots' kunnen hebben binnen hun prestatiebereik waar het gebruik hoog is, varieert dit over het algemeen enorm binnen het prestatiebereik. Een hoge bezettingsgraad is een goede zaak omdat het de inactieve tijd minimaliseert en vastloopt die de prestaties kunnen belemmeren. Tegelijkertijd vermindert het het benodigde vermogen en de benodigde ruimte. Dit komt omdat in principe een processor met een bezettingsgraad van 90% het werk kan doen van twee vergelijkbare processors met een bezettingsgraad van 45%. Expedera berekent het gebruik als volgt: Utilization = Totale werkelijke rekenbewerkingen die zijn uitgevoerd voor NN-inferentie/TOPS.

De juiste NPU voor uw toepassing vinden

Het zou zeker gemakkelijker zijn als alle NPU-makers dit zouden verstrekken TOPS/W-specificaties op een standaard manier of in ieder geval alle onderliggende configuratie-informatie die hierboven is besproken. Om de evaluatie voor onze klanten gemakkelijker te maken, biedt Expedera de onderstaande gedetailleerde informatie over hoe we onze NPU benchmarken om 18 TOPS/W te behalen. Als u wilt onderzoeken of onze NPU geschikt is voor uw toepassing, neem dan contact met ons op. We zullen u graag de resultaten geven die specifiek zijn voor uw toepassingsbelasting.

0

Geef een antwoord

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