Noll
Vi kallade det för maskininlärning oktober Fest. Förra veckan såg nästan synkroniseras utbrytning av ett antal nyheter centrerad runt machine learning (ML): utsläpp av PyTorch 1.0 beta från Facebook, snabbt.ai, Neuton, Infer.NET och MLFlow.
Inte av misstag, förra veckan var också den tid när Gnista och AI-Toppmötet i Europa ägde rum. Den Europeiska versionen av Apache Gnista toppmöte. Dess titel i år har utökats till att omfatta AI, locka en hel del uppmärksamhet i ML gemenskapen. Tydligen fungerar den också som en datering som ML meddelanden är schemalagda.
Dessutom: Det förflutna, det nuvarande, och framtiden för streaming: Flink, Spark, och gänget
MLFlow är Databricks egna skapandet. Databricks är kommersiellt företag bakom Apache Gnista, så har MLFlow nya upplagan meddelade i Databricks CTO Matei Zaharia s keynote var väntat. ZDNet fångas upp med Zaharia att diskutera allt från antagandet mönster och användningsfall för konkurrens, programmeringsspråk, och framtiden för maskininlärning.
Enhetlig analytics

Matei Zaharia
Databricks’ motto är “unified analytics.” Som Databricks VD Ali Ghodsi konstaterade i sin keynote, målet är att samla data, teknik och människor, riva teknik och organisatoriska silos. Detta är en bred vision, och Databricks är inte den första som går ombord på denna resa.
Med fokus på teknik, det handlar om att föra samman data teknik och data vetenskap. Som Zaharia noteras, att alla börjar med data teknik:
“I ca 80 procent av användningsfall, folkpartiets mål är att göra data vetenskap eller maskininlärning. Men för att göra detta, du måste ha en ledning som kan på ett tillförlitligt sätt samla in data över tid.
Båda är viktiga, men du behöver data teknik för att göra resten. Vi riktar användare med stora volymer, vilket är mer utmanande. Om du använder Gnista för att göra distribuerad bearbetning, betyder det att du har massor av data.”
Också: Påstridig och öppna maskininlärning: nyanserna av att använda Facebook är PyTorch
Mer ofta att inte, det betyder också att dina data kommer från ett antal källor. Gnista, samt Delta, Databricks ” egenutvecklad plattform byggd på Spark, redan stöd för att läsa från och skriva till ett antal datakällor. Förmågan att använda Gnista som en bearbetning nav för olika datakällor har varit nyckeln till dess framgång.
Motivationen för att införa MLFlow. (Bild: Mani Parkhe och Tomas Nykodym / Databricks)
Nu, Databricks vill ta ytterligare ett steg, genom att förena olika maskininlärning ramar från labbet till produktion via MLFlow, och skapa en gemensam ram för data och utförande via Projektet Väte.
MLFlow: s mål är att bidra till att spåra experiment, dela och återanvända projekt, och productionize modeller. Det kan ses som en kombination av data vetenskap bärbara datorer ökat med funktioner såsom historia som finns i koden versionshantering system som Git, med beroende hantering och distribution funktioner som finns i de gillar Maven och Gradle.
MLFlow tillkännagavs i juni förra året, och det har redan ca 50 medarbetare från ett antal organisationer också använda den i produktion. Zaharia sa att de gör bra framsteg med MLFlow, och på denna punkt, målet är att få massor av feedback och förbättra MLFlow tills de är nöjda med det.
Förutom att du kan använda ML-modeller på Gnista och Delta, MLFlow kan också exportera dem som en REST-tjänst för att köras på vilken plattform som helst, eller på Kubernetes via Docker containerization. Molnbaserade miljöer stöds också, för närvarande AWS SageMaker och Azure ML, utnyttja avancerade funktioner såsom A/B-tester som erbjuds av dessa plattformar.
Också: Neuton: En ny, omvälvande neurala nätverk ramen för AI-program
Zaharia noteras att målet är att se till att modeller kan vara förpackade på ett program — till exempel, mobila applikationer. Det finns olika sätt att göra detta, tillade han, såsom exportera modellen som en Java-klass, men inte ett standardiserat sätt, och detta är en lucka MLFlow syftar till att åtgärda.
Framtidens lärande är distribuerat
Om du är bekant med ML modell för distribution, du kanske vet om PMML och PFA. PMML och PFA är befintliga standarder för förpackningar ML-modeller för spridning. Diskutera differentiering med dessa var anslutningen till den andra initiativ Databricks arbetar på ett Projekt Väte.
Projektet Väte mål är att förena state-of-the-art AI och big data i Apache Gnista. Vad detta innebär i praktiken är att förena data och utförande, erbjuder ett sätt för olika ML ramar för att utbyta data, och att standardisera utbildning och inferens processen.
För de uppgifter som en del, Projekt Väte bygger på Apache Pil. Apache Pil är en gemensam ansträngning för att representera stora data i minnet för maximal prestanda och interoperabilitet. Zaharia noteras att det redan stöder vissa typer av data, och kan utökas till mer: “Vi kan göra bättre.”
Också: Bearbetning time series data: Vad finns det för alternativ?
Så, varför inte återanvända PMML/PFA för den verkställande delen? Två ord, enligt Zaharia: Distribuerad utbildning. Zaharia noteras att medan PMML / PFA är inriktade mot förpackning modeller för spridning, och det finns en viss integration med dessa, båda har sina begränsningar. I själva verket, tillade han, det finns ingen standardmodell serialisering format som verkligen skär i det just nu:
“ONNX är en ny. Människor också tala om Tensorflow grafer, men ingen av dem täcker allt. Tensorflow graphs inte täcka saker som random skog. PMML omfattar inte djupt lära sig mycket väl.
I MLFlow, vi ser dessa via en mer grundläggande gränssnitt, som ” min modell är en funktion med vissa bibliotek jag behöver för att installera.’ Så ,vi bryr oss inte om hur modellen väljer att lagra bitar, utan om vad vi behöver för att installera.
Vi kan stödja distribuerad utbildning via något liknande MPI. Detta är ett mycket vanligt sätt att bygga High Performance Computing (HPC) jobb. Det har funnits i 20 år, och det fungerar!”
Denna författare kan intyga att båda påståenden, som MPI var vad vi brukade göra HPC forskning exakt 20 år sedan. Zaharia gick med på att lägga till att om möjligt de skulle vilja att återanvända befintliga eu-bidrag, med hänvisning till exempel Horovod, ett open-source ramverk för distribuerad ML byggd med Uber.
Zaharia noteras att Horovod är ett mer effektivt sätt att kommunicera i distribuerade djupt lärande med hjälp av MPI, och det fungerar med Tensorflow och PyTorch: “för Att använda detta du behöver för att köra en MPI jobb och mata den med data, och du måste tänka på hur partitionen uppgifterna.”
Också: 10 sätt AI kommer att påverka företaget i 2018 TechRepublic
Soumith Chintala, PyTorch projekt att leda, verkar dela Zaharia idéer om distribuerad utbildning är den nästa stora grej i djup inlärning, eftersom det har införts i senaste versionen av PyTorch. För state of the art inom detta, du kan också titta på Jim Dowling från Logiska Klockor AB prata om Distribueras Djupt Lärande med Apache Gnista och TensorFlow i Spark-och AI-Toppmötet (ovan).
Programmeringsspråk, transaktioner och adoption
Den del där Zaharia som nämns exporterande ML modeller som Java-klasser var ett bra tillfälle att diskutera programmeringsspråk stöd och antagandet mönster på Spark. Generellt, Zaharia iakttagelser ligger i linje med den känslan i gemenskapen:
“Jag tror att vi mest se Python, R, och Java i data-vetenskap och lärande projekt, och då är det en drop-off.
I MLFlow vi började med Python, och lagt till Java, Scala, och R. Användning varierar med användning, och det är därför vi försöker stödja så många som möjligt. Den vanligaste särskilt för nya ML projekt tenderar att vara Python, men det finns många områden där R har fantastiska bibliotek och människor som använder det. I andra områden, särskilt för storskaliga installationer, människor använder Java eller Scala.”
Detta var också ett bra tillfälle att diskutera Apache Balk. Balken är ett projekt som syftar till abstrakt streaming bearbetning via en plattform agnostiker API, så att det kan vara portabel. Balken har nyligen lagt till en mekanism för att stödja programmering i andra språk förutom sitt modersmål Java, och det är vad Apache Flink, en viktig konkurrent till Gnista, använder för att lägga till Python stöd.
Förra gången vi pratade, Databricks var inte intresserad av att avsätta resurser för att stödja Beam, så vi undrade om möjligheten av att lägga till stöd för fler programmeringsspråk via Balken kan ändra på det. Inte riktigt, visar det sig.
Zaharia behållit det bästa sättet att göra streaming på Spark är att använda Gnista strukturerad streaming direkt, även om tredje part integration med Balk finns. Men han erkände att alternativet med stöd för många olika språk via Balken är intressant.
Också: AI innebär en livstid av träning CNET
Han tillade också, men som i motsats till Spark, där ytterligare språkstöd var gjort i efterhand, i MLFlow, RESTEN stöd gör det möjligt för människor att bygga upp ett paket till exempel med Julia nu, om de så önskar.
Fördelningen är nästa stora grej för maskininlärning, eftersom det kan ge dramatiska speedup. Men det är ännu tidiga dagar och distribution är svårt.
Zaharia också kommenterat införandet av SYRA av Apache Flink, och vad detta innebär för Spark, särskilt med tanke på data Hantverkare är patentsökta. Zaharia var förbryllad över vad exakt kan vara patenterade. Han konstaterade att streaming som arbetat med Postgres, till exempel, har funnits sedan början av 2000-talet, och en gång precis semantik har fått stöd av Spark streaming sedan första utgåvan:
“När Gnista talar om exakt en gång, det är affärsbeslut. Delta också stöd för transaktioner med en mängd olika system, som Bikupa eller HDFS. Kanske patentet täcker en specifik distribution mönster eller lagring format. Men i alla fall transaktioner som är viktiga, detta är viktigt i produktionen.”
Också: webben som en databas: Den största knowledge graph någonsin
För Databricks cloud-enda strategi, Zaharia noteras att det fungerar ganska bra. Ibland. det är Gnista användare att migrera till Databricks plattform. Andra gånger, det är line-of-business krav att diktera ett moln-en första anblick, men i alla fall, det verkar Gnista har etablerat ett tillräckligt starkt fotfäste i en relativt kort tid. Och med Gnista att fortsätta att förnya sig, det finns inga tecken på att sakta ner vid horisonten.
Tidigare och relaterade täckning:
Vad är AI? Allt du behöver veta
En verkställande guide till artificiell intelligens, från maskininlärning och allmänna AI att neurala nätverk.
Vad är djupt lärande? Allt du behöver veta
Lowdown på djupt lärande: från hur det förhåller sig till de bredare fält av maskinen lärande genom hur man kommer igång med det.
Vad är lärande? Allt du behöver veta
Denna guide förklarar vad lärande är, hur den är relaterad till artificiell intelligens, hur det fungerar och varför det är viktigt.
Vad är cloud computing? Allt du behöver veta om
En introduktion till cloud computing rätt från grunderna upp till IaaS och PaaS, hybrid, offentliga och privata moln.
Relaterade artiklar:
Det finns ingen roll för AI eller data vetenskap: det här är ett lagarbete Start Släkt ger strimma av hopp för AI i robotik AI: vy från Chief Data Vetenskap Kontor Salesforce intron Einstein Röst, en AI röst assistent för företag att det inte är Det jobb AI är förstört som stör mig, det är de som växer
Relaterade Ämnen:
Big Data Analytics
Digital Omvandling
CXO
Sakernas Internet
Innovation
Affärssystem
0