Eigenzinnig en open machine learning: De nuances van het gebruik van Facebook ‘ s PyTorch

0
134

Nul

De release van PyTorch 1.0 beta was onderdeel van het grote nieuws van afgelopen week is de machine learning (ML) oktober fest, samen met het snel.ai, Neuton, en MLFlow. Met AI wordt wat het nu is, en machine learning voeding van een goede deal van wat er gebeurt op, zoals nieuws rimpelingen veroorzaken dan de ML gemeenschap.

Ook op: Facebook open-source AI kader PyTorch 1.0

Op vorige week Vonk AI Summity Europa, hadden we de kans om te bespreken met een aantal van de rocksterren van deze gemeenschap. MLFlow de nieuwe versie werd gepresenteerd in Databricks CEO Matei Zaharia de keynote, en PyTorch 1.0 werd gepresenteerd in Facebook AI Research Engineer Soumith Chintala ‘ s keynote.

Chintala is de bedenker en projectleider van PyTorch, één van de top machine learning kaders. Na zijn keynote, ZDNet sprak met Chintala op een aantal onderwerpen, variërend van Facebook motivatie en strategie voor PyTorch, om de details van het gebruik ervan.

Hoeveel machine learning kaders heeft de wereld nodig?

Het lijkt een triviale vraag, maar we voelden dat we hadden om het te krijgen uit de weg: Wat is de gedachte achter Facebook betrokken te raken en te investeren middelen in zijn eigen ML kader met PyTorch? Vooral gezien het feit dat er een ander ML kader ondersteund door Facebook, Caffe2.

Voor cloud-leveranciers zoals AWS, Google, Microsoft, er is een zeer duidelijke prikkel: hoe meer mensen gebruik maken van hun ML kaders, de meer compute en storage resources uiteindelijk zal aangetrokken in de richting van hun respectieve wolken. Maar welke inzet heeft Facebook zijn in dit spel? Waarom besteden de middelen — menselijk en anders — nodig voor het ontwikkelen en onderhouden van niet één, maar twee ML kaders, en waar gaat het heen?

Ook: Snel.ai ‘ s software kan radicaal te democratiseren AI

De gedachte achter dit was niet zo naar voren als u denkt misschien, zei Chintala. Hij en de PyTorch team om dit op te bouwen, gewoon omdat ze zijn eigenwijs en wilde iets knip op hun behoeften:

“Google’ s TensorFlow werd uitgebracht in 2015. We hebben geprobeerd het te gebruiken, maar waren niet super blij mee. Voordat we geprobeerd Caffe1, Theano, en de Fakkel. Op het moment, we waren met Fakkel en Caffe1 voor onderzoek en productie. Het veld is er veel veranderd, en we voelden ons een nieuwe tool nodig was. Leek niemand anders werd het gebouw, niet op de manier die we dachten nodig zal zijn in de toekomst.

Dus we vonden dat we het moeten bouwen. We lieten zien dat het voor sommige mensen, en ze vonden het fantastisch. Er is een sterke open source cultuur in Facebook, dus zijn we open source, en het was weg. Maar het doel was vooral om gelukkig te worden. Het was niet omdat we niet willen vertrouwen op Google of Microsoft.”

chintala.jpg

Soumith Chintala is een Research Engineer bij Facebook AI-Onderzoek en de schepper van PyTorch. Zijn motivatie voor het maken van het? Het hebben van iets dat werkt volgens zijn behoeften.

Chintala werkt nu full-time op PyTorch, en zijn team bevat iets tussen de 10 en 15 mensen. Hoewel intellectuele nieuwsgierigheid en adviezen rekening kan worden gehouden voor het nemen van de stap te maken PyTorch, het verklaart niet waarom Facebook zou toewijzen deze mensen aan het werk op PyTorch op de lange termijn. Of toch niet?

Ook: het Opstarten maakt gebruik van AI en machine learning voor real-time achtergrond controles

Chintala nemen is dat sommige mensen zouden moeten worden toegewezen aan zoiets toch. Als PyTorch had niet gemaakt, de andere optie is het aanpassen van enkele bestaande kader, die zou eindigen die dezelfde middelen. Maar dan, wat over Caffe2? Waarom onderhouden 2 ML kaders?

Machine Learning in Facebook AI-Onderzoek en in de productie

Ten eerste, PyTorch is nu officieel een Facebook ML kader om ze allemaal te regeren. PyTorch 1.0 markeert de eenwording van PyTorch en Caffe2. Vooruit gaan, Chintala is uitgelegd, is de keuze gemaakt was om PyTorch voor de front-end, en Caffe2 voor de back-end. Dit betekent dat er niets verandert voor gebruikers van vorige versies van PyTorch, maar Caffe2 front-end zal worden afgeschaft en de mensen zullen hebben om over te schakelen naar PyTorch.

Ook op: Facebook voorschotten computer vision met hashtagged foto ‘ s

Dit heeft te maken met de filosofie en het doel van elk kader. PyTorch was gericht aan onderzoekers die behoefte hebben aan flexibiliteit. Caffe2 was gericht op het actief in de productie op extreme schaal — iets van 300 biljoen conclusies per dag, als Chintala opgemerkt. Zoals u zich kunt voorstellen, het samenvoegen van de twee was geen sinecure:

“Het is niet alleen het samenvoegen van twee codebases, maar twee projecten en filosofieën. Het moeilijkste was nog steeds het technische, maar de cultuur was een goede tweede. Het was vooral over hoe de kaders evolueren, en hoe ze het aanpakken.

Bij de productie van schaal-code heeft verschillende behoeften en eigenschappen dan wanneer u voor onderzoek, waar u wilt dat iedereen in staat om hun ideeën kunnen uiten en zo creatief mogelijk te zijn,” Chintala zei.

fair.jpg

Facebook AI Onderzoek heeft meer dan 100 onderzoekers die werken aan diverse projecten. Open source publishing is de sleutel tot zijn filosofie, volgens Chintala.

Dit onderscheid werd ook uitgesproken bij de bespreking van de infrastructuur van mensen op Facebook AI-Onderzoek (REËLE) gebruiken. BEURS telt meer dan 100 mensen. Chintala opgemerkt dat zie je mensen in het doen van onderzoek op hun laptops, en hij persoonlijk maakt gebruik van lokale schijf voor de opslag van een lot, want het maakt het makkelijker voor hem om met bestanden te werken. Maar het hangt echt af van het project.

“We gebruiken ook Hive, Presto, en Spark. Een aantal projecten die echt het uiterste van de schaal, en voor degenen die we gebruiken organisatie-infrastructuur,” Chintala zei.

Ook: 10 manieren AI impact zullen hebben op de onderneming in 2018 TechRepublic

Een ander ding dat EERLIJK doet veel, volgens Chintala, is publiceren. Niet zomaar code, maar ook met onderzoek en data:

“In fundamenteel onderzoek, moet je om te werken met collega’ s in de gemeenschap, anders krijg je gescheiden. Je kan denken dat je aan iets werkt geweldig, en vervolgens publiceren vijf jaar later realiseren en het is verschrikkelijk. Wij richten ons op de open datasets, en het publiceren van de juiste afstand. En wij ook leverage grafiek structuren, tot op zekere hoogte.

Bijvoorbeeld, we maken gebruik van Wikipedia voor vraag beantwoorden. De structuur is grafiek-achtig, en er is ook de gestructureerde versie, DBpedia. We doen veel onderzoek op dialoog en vraag beantwoorden. Voor deze gebruiken we tekst datasets, en we creëren onze eigen. In de visie, gebruiken we op grote schaal visie datasets.

Een ander voorbeeld is hoe wij maken gebruik van hashtags te verbeteren vertaling. We kunnen foto ‘ s met veel hashtags beschrijven hetzelfde in verschillende talen, en we afbeeldingen en hashtags in een grafiek structuur en vervolgens de vertaling. Hoewel we zulke dingen doen, veel, ik weet niet meer hebben gewerkt met Facebook de social graph.”

Laag niveau, hoog niveau, en eigenwijs openheid

Op Vonk AI Top van de stage, Chintala toonde veel van de bijzonderheden van het werken met PyTorch. Wat indruk op ons was dat, voor het ongetrainde oog, veel van de stukjes code die Chintala gebruikt leek heel rauw en laag niveau. Dit, echter, is opzettelijk, en er zijn hoger niveau snelkoppelingen, als Chintala uitgelegd.

Neem het bouwen van een neuraal netwerk, bijvoorbeeld. In PyTorch, dit wordt gedaan via een functie die ziet er een beetje rommelig. Maar volgens Chintala, dit is wat de mensen willen:

“Dit is één van de grootste redenen waarom mensen gebruik maken van PyTorch. Deze functie beschrijft een neuraal netwerk. Het kan niet goed worden gestructureerd, maar het is waar mensen hun expressiviteit uit. Onze doelgroep is goed op de hoogte met deze, en ze willen om het te gebruiken op deze manier.

Laten we zeggen dat je wilt bouwen aan een recurrent neuraal netwerk, en je hebt een aantal tijdreeksen die u wilt gebruiken. In andere kaders moet u gebruik maken van een API, de bouw van een tijdreeks, enz. In PyTorch, kunt u gewoon gebruik maken van een for-lus. Gebruikers vinden deze meer intuïtieve, omdat er geen extra stap nodig – je hoeft alleen code schrijven.”

Niet alles is te laag niveau, echter. Chintala op gewezen dat voor state of the art modellen, zoals ResNet50, er zijn one-liners die in te kapselen en kan worden gebruikt in de code. PyTorch komt ook met een scala van vooraf getraind modellen (“model dierentuin”), out-of-the-box verdeeld mogelijkheden en integratie met probabilistische programmering, machine vertaling, de verwerking van natuurlijke taal, en meer.

Ook: AI betekent een levensduur van training CNET

Af en toe, deze kan kijken bedrieglijk eenvoudig. Zou dit een probleem? Bijvoorbeeld, bij de presentatie van PyTorch de abstractie voor gedistribueerde diep leren, het was moeilijk te geloven dat al de nitty-gritty details kan worden verzorgd door één regel code: Waar komt de dataset vandaan komen, welk knooppunt krijgt elk deel, enzovoort.

In dit geval, Chintala uitgelegd, gebruikers kunnen ingrijpen op een lager niveau en fine-tunen van de data laders, bijvoorbeeld. Maar het idee hier is dat in 90 procent van de gevallen is er een gestructureerde, goed gevormde patroon van hoe de meeste mensen doen gedistribueerd diep leren, en de one-liner is gebouwd als hefboom gebruiken. En het lijkt goed te werken, gezien de bijna perfecte lineaire schaal in de grafiek Chintala gedeeld.

pytorchnn.jpg

Dit is hoe u een neuraal netwerk in PyTorch. Het lijkt misschien op een laag niveau, maar dat is precies hoe de makers wilde worden.

Dus, ondanks het feit dat PyTorch is eigenwijs, het lijkt alsof de makers getracht een evenwicht te vinden met de mogelijkheid om verschillende gebruikspatronen, tenminste tot op zekere hoogte. Als Chintala opgemerkt, een van de doelstellingen was om PyTorch een pakket iemand in de Python ecosysteem kan gebruiken, ongeacht wat zij kunnen gebruiken momenteel.

Ook: Hoe Facebook schalen AI

De volledige Python ecosysteem kan worden gebruikt wordt PyTorch de belofte. In feite, er is een mechanisme van de zogenaamde zero-het-geheugen kopie op zijn plaats om dit te vergemakkelijken:

“Wij hebben niet het ‘not invented here’ – syndroom. U kunt een PyTorch tensor en sluit deze aan op NumPy. Het werkt door het creëren van een NumPy struct in C, en dan meteen het gebruik van een aanwijzer. Alles wat je hoeft te doen is een zeer goedkoop, bijna gratis, de exploitatie – query de C struct. In NumPy heel veel dingen zijn gedaan in C, en we gebruiken het ook.”

Dit lijkt een trivialiteit, maar het gaat om de gedachte achter PyTorch. Hoog of laag niveau, meningen en openheid met elkaar verweven zijn, of een balancing act. In alle eerlijkheid, veel van de open source ontwikkeling, onderzoek en Facebook zelf, lopen soortgelijke fijne lijntjes. Dit kan helpen de wereld profiteren van cutting edge onderzoek in de REËLE als EERLIJK onderzoekers en blijf up-to-date met de bredere gemeenschap.

Vorige en aanverwante dekking:

Wat is AI? Alles wat je moet weten

Een executive gids voor kunstmatige intelligentie, van machine learning en algemene AI-neurale netwerken.

Wat is diep leren? Alles wat je moet weten

De lowdown op diep leren: van hoe het zich verhoudt tot het bredere veld van machine-leren door te zien hoe aan de slag met het.

Wat is machine learning? Alles wat je moet weten

In deze gids wordt uitgelegd wat ‘machine learning’ is, hoe het is in verband met kunstmatige intelligentie, hoe het werkt en waarom het belangrijk is.

Wat is cloud computing? Alles wat u moet weten over

Een introductie van cloud computing recht vanaf de basis tot IaaS en PaaS -, hybride -, public en private cloud.

Verwante artikelen:

Er is geen rol voor de AI of data science: dit is een team inspanning Opstarten Verwanten brengt glimp van hoop voor AI AI-robotica: Het uitzicht vanuit de Chief Data Science Office Salesforce intro ‘ s van Einstein Stem, een AI-voice assistant voor ondernemingen is Het niet de banen AI is het vernietigen van dat stoort me, het is degenen die groeien

Verwante Onderwerpen:

Open Source

Digitale Transformatie

CXO

Het Internet van Dingen

Innovatie

Enterprise Software

0