14 Jul

Facebook en Microsoft lanceren vandaag het Open Neural Network Exchange (ONNX)-formaat, een standaard voor het coderen van deep learning-modellen waarmee modellen tussen frameworks kunnen worden gedeeld. ONNX is de eerste stap naar een open ecosysteem waarin AI-ontwikkelaars snel kunnen schakelen tussen geavanceerde tools en de ideale combinatie voor hun behoeften kunnen vinden.


Ingenieurs en onderzoekers kunnen uit verschillende AI-frameworks kiezen bij het bouwen van leermodellen. Ontwikkelaars moeten aan het begin van een project functies kiezen en zich committeren aan een framework. Vaak zijn de tijdens onderzoek en ontwikkeling gekozen kenmerken niet dezelfde als de kenmerken die voor verzending naar productie gewenst zijn. Veel bedrijven hebben hun toevlucht genomen tot een verscheidenheid aan innovatieve oplossingen om de kloof tussen verschillende bedrijfsmodi te overbruggen, zoals het verplichten van onderzoekers om in het productiesysteem te werken of het handmatig vertalen van modellen.

We hebben met Microsoft samengewerkt om ONNX te creëren om deze kloof te overbruggen en AI-ontwikkelaars in staat te stellen het framework te kiezen dat het beste past bij de huidige fase van hun project en snel over te schakelen tussen frameworks naarmate het project vordert. In september zullen Caffe2, PyTorch en Cognitive Toolkit allemaal ondersteuning voor ONNX toevoegen, waardoor modellen die in het ene framework zijn geleerd, kunnen worden overgedragen naar een ander voor gevolgtrekking. We moedigen de gemeenschap aan om mee te doen en ONNX in hun ecosysteem te promoten. Om de innovatiesnelheid in de AI-gemeenschap te verhogen, moet interoperabiliteit tussen meerdere frameworks mogelijk worden gemaakt en moet het proces van onderzoek tot productie worden versneld.

ONNX op Facebook

Bij Facebook is ONNX een belangrijk aspect van onze deep learning-strategie. We verleggen altijd de AI-grens en ontwikkelen betere leeralgoritmen in de AI-teams van Facebook (FAIR en AML). We willen de superieure technologie zo snel mogelijk beschikbaar maken voor mensen in onze toepassingen als we een doorbraak maken. We willen de werelden van AI-onderzoek en producten dichter bij elkaar brengen met ONNX, zodat we sneller kunnen creëren en implementeren.

Mensen die experimenteren met nieuwe modellen, vooral die in onderzoek, willen de grootst mogelijke flexibiliteit en expressiviteit bij het ontwerpen van neurale netwerken - van dynamische neurale netwerken tot het ondersteunen van gradiënten van gradiënten - terwijl de prestaties van het standaard ConvNet behouden blijven. Onderzoekers willen ook snel itereren, wat hoogwaardige interactieve ontwikkelings- en foutopsporingstools vereist.PyTorch is gemaakt om de grenzen van onderzoekskaders te verleggen, onderzoekers te bevrijden van platformbeperkingen en hen in staat te stellen hun ideeën gemakkelijker dan voorheen te communiceren.

Productpijplijnen daarentegen voeren elke dag training en inferentie uit op grote hoeveelheden nieuwe gegevens, terwijl het model in wezen ongewijzigd blijft. Het gebruik van tactieken zoals kwantisering en het ontwikkelen van zorgvuldig met de hand afgestemde code om de code die relevant is voor het specifieke model van het product te micro-optimaliseren, bespaart middelen. [GG1] Caffe2 is ontworpen met producten, mobiele apparaten en hoge prestaties in gedachten. De binnenkant van Caffe2 is veelzijdig en goed geoptimaliseerd, waardoor we grotere en betere modellen op zwakke hardware kunnen leveren door elke truc in het boek toe te passen.

We kunnen het beste van twee werelden hebben met ONNX. Veel typische neurale netwerkmodellen kunnen nu vanuit PyTorch worden geëxporteerd en op Caffe2 worden geïmplementeerd. Dit is de eerste stap om onze meest recente onderzoeksontwikkelingen zo snel mogelijk in productie te nemen. We zullen ONNX de komende maanden verbeteren en verbeteringen aan Caffe2 en PyTorch leveren om ze beter interoperabel te maken.

Hoe het werkt

Om een grafiek uit het programma te extraheren, hebben we een tracer gemaakt, die de uitvoering van het programma 'traceert' of registreert terwijl het draait. Het traceren van het programma vermindert de complexiteit en maakt het gemakkelijker om het als een grafiek te beschrijven.

Overweeg het volgende stukje code om te laten zien hoe het werkt:

x = y * 2

if someComplicatedFunction():  

 z = x + y

anders:   z = x * y

ONNX zou conditionals en someComplicatedFunction() moeten hebben om deze code direct te exporteren, waardoor het in feite een programmeertaal voor algemene doeleinden wordt. Tijdens gevolgtrekking is de uitkomst van een of andere gecompliceerde functie() echter altijd hetzelfde in veel deep learning-modellen. In PyTorch-voorwaardelijk is er bijvoorbeeld vaak enige berekening van de afmetingen of afmetingen van invoertensoren. In veel gevallen is een enkel spoor over de code aanzienlijk eenvoudiger en kan het eenvoudig worden beschreven in ONNX:

#someComplicatedFunction() == True

x = y * 2

z = x + y

Onze tracer werkt momenteel met een verscheidenheid aan typische neurale netwerken, maar niet met enkele van de meer gecompliceerde programma's van PyTorch, zoals programma's die dynamische stroomregeling gebruiken. Na verloop van tijd zullen we ONNX en de tracer verbeteren om deze programma's te ondersteunen, zodat ontwikkelaars de volledige vrijheid van PyTorch kunnen combineren met de krachtige, betrouwbare implementatiefuncties van Caffe2.

Wat is het volgende

Vandaag brengen we nieuwe versies van Caffe2 en PyTorch uit die ONNX-ondersteuning bevatten. We hopen dat je net zo blij bent met de nieuwe functies als wij! Ze bevinden zich nog in de beginfase, dus we hopen dat u een kijkje neemt en feedback en suggesties geeft. We blijven ONNX, PyTorch en Caffe2 ontwikkelen om ervoor te zorgen dat ontwikkelaars de meest up-to-date AI-tools hebben, dus houd ons in de gaten voor extra upgrades!Als er een probleem is, neem dan contact met mij op via Facebook Nummer.

Je bent ook Lees meer:-THE SUITE LIFE: 4 TIPS VOOR EEN BETER BEHEERSBARE GMAIL-INBOX

Comments
* The email will not be published on the website.
I BUILT MY SITE FOR FREE USING