Design av AI kan endres med åpen kildekode Apache TVM og litt hjelp fra oppstart OctoML

0
138

Tiernan Ray

Av Tiernan Ray | 25. november 2021 | Emne: Kunstig intelligens

De siste årene har kunstig intelligens-programmer ført til endringer i utformingen av databrikker, og nye datamaskiner har også muliggjort nye typer nevrale nettverk i AI. Det er en tilbakemeldingssløyfe som er kraftig.

I sentrum av det sitter programvareteknologien som konverterer nevrale nettprogrammer til å kjøre på ny maskinvare. Og i sentrum av det sitter et nylig åpen kildekode-prosjekt som får fart.

Apache TVM er en kompilator som fungerer annerledes enn andre kompilatorer. I stedet for å gjøre et program om til typiske brikkeinstruksjoner for en CPU eller GPU, studerer den “grafen” for beregningsoperasjoner i et nevralt nett, i TensorFlow- eller Pytorch-form, for eksempel konvolusjoner og andre transformasjoner, og finner ut hvordan de best kan kartlegges. operasjoner til maskinvare basert på avhengigheter mellom operasjonene.

I hjertet av denne operasjonen sitter en to år gammel oppstart, OctoML, som tilbyr ApacheTVM som en tjeneste. Som utforsket i mars av ZDNets George Anadiotis, er OctoML innen MLOps, og hjelper til med å operasjonalisere AI. Selskapet bruker TVM for å hjelpe bedrifter med å optimalisere sine nevrale nett for et bredt utvalg maskinvare.

Også: OctoML får $28 millioner for å gå på markedet med åpen kildekode Apache TVM, en de facto-standard for MLOps

I den siste utviklingen innen tilbakemeldingssløyfen for maskinvare og forskning kan TVMs optimaliseringsprosess allerede være i ferd med å forme aspekter ved hvordan AI utvikles.

“Allerede i forskning kjører folk modellkandidater gjennom plattformen vår og ser på ytelsen,” sa OctoML-medgründer Luis Ceze, som fungerer som administrerende direktør, i et intervju med ZDNet via Zoom. De detaljerte ytelsesmålingene betyr at ML-utviklere kan “faktisk evaluere modellene og velge den som har de ønskede egenskapene.”

I dag brukes TVM utelukkende for inferens, den delen av AI hvor et fullt utviklet nevralt nettverk brukes til å lage spådommer basert på nye data. Men nedover veien vil TVM utvide til trening, prosessen med først å utvikle det nevrale nettverket.

“Allerede i forskning kjører folk modellkandidater gjennom plattformen vår og ser på ytelsen,” sier Luis Ceze, medgründer og administrerende direktør for oppstart OctoML, som kommersialiserer åpen kildekode Apache TVM-kompilatoren for maskinlæring, og gjør den til en skytjeneste. De detaljerte ytelsesberegningene betyr at ML-utviklere kan “faktisk evaluere modellene og velge den som har de ønskede egenskapene.”

“Opplæring og arkitektursøk er i veikartet vårt,” sa Ceze, og refererte til prosessen med å designe nevrale nettarkitekturer automatisk, ved å la nevrale nett søke etter det optimale nettverksdesignet. “Det er en naturlig forlengelse av vår land-og-utvid-tilnærming” til å selge den kommersielle tjenesten til TVM, sa han.

Vil nevrale nettutviklere da bruke TVM til å påvirke hvordan de trener?

“Hvis de ikke er det ennå, mistenker jeg at de vil begynne det,” sa Ceze. «Noen som kommer til oss med en treningsjobb, vi kan trene modellen for deg» mens vi tar hensyn til hvordan den trente modellen ville prestert på maskinvare.

Den voksende rollen til TVM, og OctoML-tjenesten, er en konsekvens av at teknologien er en bredere plattform enn hva en kompilator vanligvis representerer.

“Du kan tenke på TVM og OctoML i forlengelse som et fleksibelt, ML-basert automatiseringslag for akselerasjon som kjører på toppen av all slags forskjellig maskinvare der maskinlæringsmodeller kjører – GPUer, CPUer, TPUer, akseleratorer i skyen,” sa Ceze til ZDNet.

“Hver av disse maskinvarene, det spiller ingen rolle hvilken, har sin egen måte å skrive og utføre kode på,” sa han. “Å skrive den koden og finne ut hvordan man best kan bruke denne maskinvaren i dag gjøres i dag for hånd på tvers av ML-utviklerne og maskinvareleverandørene.”

Kompilatoren og tjenesten erstatter den håndjusteringen – i dag på slutningsnivå, med modellen klar for distribusjon, i morgen, kanskje, i selve utviklingen/opplæringen.

Også: AI endrer hele datamaskinens natur

Kjernen i TVMs appell er større ytelse når det gjelder gjennomstrømning og latens, og effektivitet når det gjelder datamaskinens strømforbruk. Det blir mer og mer viktig for nevrale nett som stadig blir større og mer utfordrende å løpe.

“Noen av disse modellene bruker en vanvittig mengde databehandling,” observerte Ceze, spesielt naturlige språkbehandlingsmodeller som OpenAIs GPT-3 som skaleres til en billion nevrale vekter, eller parametere, og mer.

Ettersom slike modeller skaleres opp, kommer de med “ekstrem kostnader,” sa han, “ikke bare i treningstiden, men også serveringstiden” for slutninger. “Det er tilfellet for alle moderne maskinlæringsmodeller.”

Som en konsekvens, uten å optimere modellene “med en størrelsesorden,” sa Ceze, er de mest kompliserte modellene egentlig ikke levedyktige i produksjon, de forblir bare forskningskurioser.

Men å utføre optimalisering med TVM innebærer sin egen kompleksitet. “Det er massevis av arbeid å få resultater slik de skal være,” observerte Ceze.

OctoML forenkler ting ved å gjøre TVM mer til en trykknappsak.

«Det er en optimaliseringsplattform», er hvordan Ceze karakteriserer skytjenesten.

“Fra sluttbrukerens synspunkt laster de opp modellen, de sammenligner modellene og optimerer verdiene på et stort sett med maskinvaremål,” er hvordan Ceze beskrev tjenesten.

“Nøkkelen er at dette er automatisk – ingen svette og tårer fra ingeniører på lavt nivå som skriver kode,” sa Ceze.

OctoML gjør utviklingsarbeidet for å sikre at modellene kan optimaliseres for en økende maskinvarekonstellasjon.

“Nøkkelen her er å få det beste ut av hver maskinvare.” Det betyr “spesialisering av maskinkoden til de spesifikke parameterne for den spesifikke maskinlæringsmodellen på et spesifikt maskinvaremål.” Noe som en individuell konvolusjon i et typisk konvolusjonelt nevralt nettverk kan bli optimalisert for å passe til en bestemt maskinvareblokk av en bestemt maskinvareakselerator.

Resultatene er påviselige. I benchmark-tester publisert i september for MLPerf-testpakken for nevral nettslutning, hadde OctoML en toppscore for slutningsytelse for den ærverdige ResNet-bildegjenkjenningsalgoritmen når det gjelder bilder behandlet per sekund.

OctoML-tjenesten har vært i en pre-release, tidlig tilgangstilstand siden desember i fjor.

For å fremme sin plattformstrategi kunngjorde OctoML tidligere denne måneden at de hadde mottatt 85 millioner dollar i en serie C-finansieringsrunde fra hedgefondet Tiger Global Management, sammen med eksisterende investorer Addition, Madrona Venture Group og Amplify Partners. Finansieringsrunden bringer OctoMLs totale finansiering til $132 millioner.

Finansieringen er en del av OctoMLs innsats for å spre innflytelsen fra Apache TVM til mer og mer AI-maskinvare. Også denne måneden kunngjorde OctoML et partnerskap med ARM Ltd., det britiske selskapet som er i ferd med å bli kjøpt av AI-brikkekraftsenteret Nvidia. Det følger tidligere annonsert partnerskap med Advanced Micro Devices og Qualcomm. Nvidia jobber også med OctoML.

ARM-partnerskapet forventes å spre bruken av OctoMLs tjeneste til lisenshaverne av ARM CPU-kjernen, som dominerer mobiltelefoner, nettverk og tingenes internett.

Tilbakemeldingssløyfen vil sannsynligvis føre til andre endringer i tillegg til design av nevrale nett. Det kan påvirke mer bredt hvordan ML er kommersiell distribuert, som tross alt er hele poenget med MLOps.

Som optimering via TVM sprer seg, kan teknologien dramatisk øke portabiliteten i ML-servering, spår Ceze.

Fordi skyen tilbyr alle slags avveininger med alle slags maskinvaretilbud, betyr det å kunne optimalisere på farten for forskjellige maskinvaremål til syvende og sist å kunne bevege seg mer smidig fra ett mål til et annet.

“I hovedsak er det nyttig å kunne presse mer ytelse ut av et maskinvaremål i skyen fordi det gir mer målfleksibilitet,” er hvordan Ceze beskrev det. “Å kunne optimere automatisk gir portabilitet, og portabilitet gir valg.”

Det inkluderer å kjøre på all tilgjengelig maskinvare i en skykonfigurasjon, men også å velge maskinvaren som tilfeldigvis er billigere for de samme SLAene, for eksempel latens, gjennomstrømning og kostnad i dollar.

Med to maskiner som har lik forsinkelse på ResNet, for eksempel, “vil du alltid ta den høyeste gjennomstrømningen per dollar,” maskinen som er mer økonomisk. “Så lenge jeg treffer SLAene, vil jeg kjøre det så billig som mulig.”

Skyprioriteter | Digital transformasjon | CXO | Internet of Things | Innovasjon | Enterprise Software