Succesen med maskinlæring hviler på skalerbarhed

Leveret af Arm





Steve Roddy er Vice President, Machine Learning Group, hos Arm.

Forandring er konstant, og kunstig intelligens (AI) og maskinlæring (ML) ændrer alt igen. For udviklere, der forsøger at bringe nye produkter og tjenester på markedet, der udnytter AI og ML, forstærkes udfordringerne af det faktum, at teknologilandskabet stadig er under udvikling.



I modsætning til den traditionelle indlejrede sektor, som udviser et lineært forhold mellem behovet for mere behandlingsydeevne og den måde, ydeevnen bruges på, er der en forskel mellem AI og ML, og de hardwareplatforme, de vil køre på: ML ændrer sig konstant.

Besøg indholdscentret

  • Skalerbar maskinlæring

Bevægelsen væk fra sekventiel tænkning

ML vil sandsynligvis blive brugt overalt, ligesom traditionel indlejret software bruges i dag. Men i modsætning til traditionel kode, som er skrevet linje for linje i et sekventielt mønster (selvom selv om autogenerering bruges), vil ML blive implementeret som modeller, skabt af rammer, der lærer. Modeller vil i en meget reel forstand blive født. Og som enhver form for afkom, kan du aldrig rigtig være sikker på, hvad du får, før det ankommer.

For udviklere vil den forudsigelige karakter af indlejret software derfor forsvinde eller ændre sig betydeligt. Værktøjer er ved at blive udviklet, som hjælper med at forudsige, hvordan en model vil fungere, eller vil pålægge visse begrænsninger på den måde, modellen er dannet for at overholde platformen, men disse er begyndende og på ingen måde et vidundermiddel. Det er sandsynligt, at tilpasning til systemets begrænsninger vil føre til et tab i nøjagtighed. Karakteren af ​​ML er, at den leverer den nødvendige nøjagtighed på den medfølgende hardware. Det følger derfor, at hvis hardwaren er i stand til at tilpasse sig, kan du undgå at gå på kompromis med nøjagtigheden.



MIT ARM Logo

Der er ingen one-size-fits-all til maskinlæring. Ingeniører skal designe systemer, der tilbyder skalerbar ydeevne og kan justere den type behandlingsressource, de leverer, baseret på den aktuelle opgave.

Den måde en model klarer sig på på en fast hardwareplatform vil også ændre sig. Den forudsigelige karakter af indlejret software har længe været en grundpille i design; faktisk ideen om, at kodens karakteristika vil ændre sig, efter at den er blevet implementeret, er ingeniørernes mareridt. Indlejrede systemer er udviklet inden for ydeevneparametre, en konvolut baseret på effekt, omkostninger, varmeafledning, størrelse, vægt og et hvilket som helst antal målbare elementer, der kan byttes ud mod hinanden for at nå definerede mål. Det er i bund og grund, hvordan indlejret udvikling altid er blevet udført, men det er ikke sådan, det vil blive gjort i fremtiden.

Skalerbarhed er den nye norm

I stedet bliver ingeniører nødt til at designe systemer, der tilbyder skalerbar ydeevne, som er i stand til dynamisk at justere den type behandlingsressource, de leverer, baseret på den aktuelle opgave. Dette er anderledes end hvad indlejrede ingeniører kan være fortrolige med lige nu. I nogle år har indlejrede processorer haft mulighed for at variere deres driftsfrekvens og forsyningsspænding baseret på arbejdsbelastning. Grundlæggende kan en processors kerne køre langsommere, når den ikke er optaget; nedskalering af hovedurfrekvensen betyder direkte, at færre transistorer tænder og slukker pr. sekund, hvilket sparer strøm. Når kernen virkelig skal have travlt, skaleres clockfrekvensen op, hvilket øger gennemløbet. Der er en sammenhæng mellem forsyningsspænding og klokfrekvens; ved at reducere begge dele forstærkes mængden af ​​sparet strøm. Denne form for skalering vil ikke være nok til at levere den kraft og ydeevne, der er nødvendig i de indlejrede enheder, der nu udvikles til at køre ML-modeller.



Det er fordi den måde, vi måler ydeevne på, vil ændre sig. Lige nu bliver processorer typisk målt i forhold til operationer per sekund; vi måler det nu i teraops eller billioner af operationer per sekund (TOPS). At bruge TOPS til at måle ydeevnen af ​​en processor, der udfører inferenser, giver ikke så meget mening, som det gør, når man udfører sekventiel kode, fordi den måde, modellen kører på, ikke er direkte sammenlignelig med almindelig indlejret software. ML-processorer vil blive målt på den nøjagtighed, de opnår, når de leverer et givet antal slutninger pr. sekund for en given mængde strøm. Vi har ikke en standardmåling for det endnu, men vi kan sige, at blot at øge clock-frekvensen for at opfylde slutningerne/s-målet er ikke garanteret og vil sandsynligvis sprænge strømbudgettet uden at forbedre nøjagtigheden.

Vejen til inferens er fyldt med variabler

Hvorfor? Årsagen ligger i måden ML-modeller fungerer på. Med mange lag af sandsynlighed for at gå igennem, er der lige så mange variabler, der kan ændre vejen gennem disse lag. Den virkelige verden vil have en meget større indflydelse på den måde, ML-modeller udføres på, med langt mere variabilitet end lineær sekventiel indlejret kode. Tag naturlig sprogbehandling og talegenkendelse som et eksempel: Talerens stemme og kadence vil alle spille en rolle i modellens effektivitet, men der kan også være et samspil mellem disse parametre, der resulterer i en anderledes oplevelse under forskellige forhold. Blot at øge processorens hastighed i dette tilfælde returnerer muligvis ikke det ønskede resultat.

Ydermere er et af de definerende træk ved ML dens evne til at lære. Selvom forstærkningslæring ikke anvendes i selve enheden, er det stadig muligt, at data vil blive ført tilbage til en mainframe, hvor modellen kan justeres baseret på de observerede resultater. Selv uden denne feedback er det sandsynligt, at modellen vil blive forbedret over tid, udelukkende på grund af den måde, ML stadig udvikler sig på. Dette vil føre til, at en ny model bliver oprettet og implementeret (ved at bruge over-the-air-opdateringer, for eksempel), som så vil have potentielt helt andre behandlingskrav, der fungerer forskelligt under de samme eller lignende forhold.



ML-modellernes skiftende karakter betyder, at mens nuværende CPU-arkitekturer kan bruges og bliver brugt til ML, kan nutidens arkitekturer næsten helt sikkert ikke give den mest optimale måde at udføre dem på. Ja, modeller kan køre på CPU'er ved at bruge alle de sædvanlige ALU-funktioner, der findes i de fleste processorer. De kan også drage fordel af meget parallelle arkitekturer, der indeholder massivt flere forekomster af disse funktioner, såsom GPU'er, men det er allerede klart, at GPU'er ikke er den bedste måde at udføre ML-modeller på. Faktisk har vi allerede eksempler på neurale behandlingsenheder, og halvlederindustrien arbejder hårdt på at udvikle helt nye arkitekturer til at eksekvere ML-modeller mere effektivt. På et tidspunkt bliver enten hardwaren eller softwaren fikset for at lade den anden komme videre. Den rigtige måde at løse dette på er at forpligte sig til en fælles softwareramme, der kan bruges på tværs af kompatible, men skalerbare hardwareplatforme, så begge udvikler sig sammen.

Fleksible heterogene arkitekturer

Ved at gøre dette kan den skalerbarhed, der er nødvendig for at understøtte AI og ML, udvides fra kernen af ​​netværket til selve kanten, uden at låse arkitekturen ned til en fast platform. Project Trillium er Arms heterogene ML-beregningsplatform sammensat af kerner og software. Arm udvider Project Trillium til at adressere ML på ethvert punkt i netværket. Den almindelige softwareplatform her er Arms neurale netværkssoftwarebiblioteker, Arm NN, som kan køre på tværs af Arm-processorplatforme og også er kompatible med førende tredjeparts neurale netværksrammer. Hardwaren inkluderer de eksisterende Arm Cortex-A og Arm Mali GPU-processorer, der bliver forbedret til AI og ML, samt helt nye processorer til ML-acceleration.

Med hensyn til skalerbarhed kan ML køre på processorer, der er så små og ressourcebegrænsede i Cortex-M-klassen, og lige så mange funktioner som Mali GPU'erne. Der er dog brug for ægte skalerbarhed for at imødekomme alle behovene i ML fra kernen til kanten, og det er her, næste trin i processorudviklingen kommer ind. Neurale processorenheder eller NPU'er repræsenterer den nye generation af processorarkitektur, der vil understøtte ML i flere applikationer.

Only Arm tilbyder dette niveau af skalerbarhed på tværs af ML-landskabet. At vælge skalerbare arkitekturer, der kan bestå af MCU'er, CPU'er, GPU'er og NPU'er, vil hjælpe fremtidssikre hardwareplatforme mod nye softwareapplikationer, der ikke engang er blevet udtænkt endnu.

Der er mange ubekendte med hensyn til, hvilke ML-modeller vi vil skabe i fremtiden, hvor meget computerkraft de skal bruge for at levere den ønskede nøjagtighed, hvor hurtigt dataloger vil være i stand til at forbedre modeller, så de har brug for mindre strøm – alt sammen af disse overvejelser har en direkte indflydelse på den underliggende hardware. Det eneste, vi ved, er, at opfyldelse af slutbrugeres skiftende forventninger kræver en fleksibel og skalerbar platform.

skjule