Het optimaliseren van de rekengrafiek van neurale netwerken voor nieuwe hardware kan zelfs de training van neurale netwerken veranderen, zegt startup OctoML.

In de afgelopen jaren hebben kunstmatige-intelligentieprogramma’s geleid tot veranderingen in het ontwerp van computerchips, en moderne computers hebben nieuwe soorten neurale netwerken in AI mogelijk gemaakt. 

Er is een krachtige feedback-lus gaande. In het midden van die lus bevindt zich softwaretechnologie die neurale netwerkprogramma’s omzet om op nieuwe hardware te draaien. En in het middelpunt daarvan staat een recent open-sourceproject dat aan kracht wint.

Apache TVM is een compiler die anders werkt dan andere compilers. In plaats van een programma om te zetten in typische chipinstructies voor een CPU of GPU, bestudeert het de “grafiek” van rekenbewerkingen in een neuraal net en zoekt uit hoe deze bewerkingen het beste kunnen worden toegewezen aan hardware op basis van afhankelijkheden tussen de bewerkingen.

De kern van die operatie is de twee jaar oude startup OctoML, die ApacheTVM als een service aanbiedt. OctoML bevindt zich op het gebied van MLOps en werkt het aan het operationaliseren van AI. Het bedrijf gebruikt TVM om bedrijven te helpen hun neurale netwerken te optimaliseren voor een breed scala aan hardware.

In de nieuwste ontwikkeling in de hardware- en onderzoekfeedback-lus, kan het optimalisatieproces van TVM al aspecten vormen van hoe AI wordt ontwikkeld.

Tegenwoordig wordt TVM uitsluitend gebruikt voor gevolgtrekking – het deel van AI waar een volledig ontwikkeld neuraal netwerk wordt gebruikt om voorspellingen te doen op basis van nieuwe gegevens. Maar later zal TVM uitbreiden naar training, het proces van het ontwikkelen van het neurale netwerk.

“Al in onderzoek laten mensen modelkandidaten door ons platform lopen, kijkend naar de prestaties”, zegt Luis Ceze, mede-oprichter en CEO van startup OctoML, dat de open-source Apache TVM-compiler voor machine learning commercialiseert en er een clouddienst van maakt. De gedetailleerde prestatiestatistieken betekenen dat ML-ontwikkelaars “de modellen daadwerkelijk kunnen evalueren en degene kunnen kiezen die de gewenste eigenschappen heeft”.

“Training en het zoeken naar architectuur staat in onze roadmap”, zegt Ceze, verwijzend naar het proces van het automatisch ontwerpen van neurale net-architecturen door neurale netwerken te laten zoeken naar het optimale netwerkontwerp. “Dat is een natuurlijke uitbreiding van onze land-and-expand-aanpak” op het verkopen van de commerciële dienst van TVM, legt hij uit.

Zullen ontwikkelaars van neurale netwerken dan TVM gebruiken om invloed uit te oefenen op hoe ze trainen?

“Als ze dat nog niet zijn, vermoed ik dat ze dat wel zullen doen”, zegt Ceze. Hij merkt ook op dat als je “naar ons toekomt met een trainingsopdracht, we het model voor je kunnen trainen”, rekening houdend met hoe het getrainde model zou presteren op hardware.

Die groeiende rol van TVM — en de OctoML-service — is een gevolg van het feit dat de technologie een breder platform is dan wat een compiler doorgaans vertegenwoordigt. “Je kunt TVM en OctoML bij uitbreiding zien als een flexibele, op ML gebaseerde automatiserings-laag voor versnelling die bovenop allerlei verschillende hardware draait waar machine learning-modellen worden uitgevoerd – GPU’s, CPU’s, TPU’s, accelerators in de cloud,” vertelt Ceze.

“Elk van deze stukjes hardware – het maakt niet uit welke – heeft zijn eigen manier om code te schrijven en uit te voeren”, voegt hij eraan toe. “Het schrijven van die code en uitzoeken hoe deze hardware vandaag het beste kan worden gebruikt, wordt vandaag de dag met de hand gedaan door de ML-ontwikkelaars en de hardwareleveranciers.”

De compiler en de service vervangen die handmatige afstemming – vandaag op het inferentieniveau, met het model dat klaar is voor gebruik, morgen misschien in de daadwerkelijke ontwikkeling/training.

De kern van de aantrekkingskracht van TVM zijn betere prestaties in termen van doorvoer en latentie, evenals efficiëntie in termen van computerstroomverbruik. Dat wordt steeds belangrijker voor neurale netwerken die steeds groter en uitdagender worden om te gebruiken.

“Sommige van deze modellen gebruiken waanzinnig veel rekenkracht”, merkt Ceze op. Dit geldt met name voor modellen voor natuurlijke taalverwerking, zoals OpenAI’s GPT-3, die worden geschaald naar een biljoen neurale gewichten of parameters en meer. Naarmate dergelijke modellen opschalen, komen ze met “extreme kosten” en “niet alleen in de trainingstijd, maar ook de serveertijd” voor gevolgtrekking. “Dat is het geval voor alle moderne machine learning-modellen”, zegt Ceze.

Als gevolg hiervan zijn de meest gecompliceerde modellen niet echt levensvatbaar in productie zonder de modellen “met een orde van grootte” te optimaliseren; het blijven slechts onderzoeks-rariteiten. Maar het uitvoeren van optimalisatie met TVM brengt zijn eigen complexiteit met zich mee. “Het is een hoop werk om resultaten te krijgen zoals ze moeten zijn”, legt Ceze uit.

OctoML vereenvoudigt de zaken door TVM meer een kwestie van een druk op de knop te maken. Ceze omschrijft de clouddienst als ‘een optimalisatieplatform’. “Vanuit het oogpunt van de eindgebruiker uploaden ze het model, vergelijken ze de modellen en optimaliseren ze de waarden op een groot aantal hardwaredoelen”, zegt Ceze. Hij voegt eraan toe dat “de sleutel is dat dit automatisch gaat – geen zweet en tranen van low-level engineers die code schrijven.”

OctoML doet het ontwikkelingswerk om ervoor te zorgen dat de modellen kunnen worden geoptimaliseerd voor een toenemende constellatie van hardware. Dat betekent “de machinecode specialiseren naar de specifieke parameters van dat specifieke machine learning-model op een specifiek hardwaredoel”. Een individuele convolutie in een typisch convolutioneel neuraal netwerk kan bijvoorbeeld worden geoptimaliseerd om te passen bij een bepaald hardwareblok van een bepaalde hardware versneller.

De OctoML-service bevindt zich sinds december 2020 in een pre-release, vroege toegangsstatus. Deze maand kondigde OctoML een samenwerking aan met ARM Ltd., het Britse bedrijf dat momenteel wordt gekocht door AI-chip-krachtpatser Nvidia. Dat volgt op eerder aangekondigde samenwerkingen met Advanced Micro Devices en Qualcomm. Nvidia werkt ook met OctoML. Het ARM-partnerschap zal naar verwachting het gebruik van OctoML’s service uitbreiden naar de licentiehouders van de ARM CPU-kern, die mobiele telefoons, netwerken en het internet der dingen domineert.

De feedback-lus zal waarschijnlijk leiden tot andere veranderingen naast het ontwerp van neurale netten. Het kan een bredere invloed hebben op de manier waarop ML commercieel wordt ingezet, wat tenslotte het hele punt is van MLOps.

Naarmate optimalisatie via TVM zich verspreidt, zou de technologie de portabiliteit in ML-serving drastisch kunnen vergroten, voorspelt Ceze. Omdat de cloud compromissen biedt met allerlei soorten hardware-aanbiedingen, betekent het kunnen optimaliseren voor verschillende hardwaredoelen uiteindelijk dat je behendiger van het ene naar het andere doel kunt gaan.

“In wezen is het handig om meer prestaties uit elk hardwaredoel in de cloud te kunnen persen, omdat het meer doelflexibiliteit biedt”, beschrijft Ceze. “In staat zijn om automatisch te optimaliseren geeft draagbaarheid, en draagbaarheid geeft keuze.”

Dat omvat het draaien op alle beschikbare hardware in een cloudconfiguratie, maar ook het kiezen van hardware die goedkoper is voor dezelfde SLA’s, zoals latentie, doorvoer en kosten in dollars. “Zolang ik de SLA’s haal, wil ik het zo goedkoop mogelijk draaien”, zegt Ceze.