Zero
Il rilascio di PyTorch 1.0 beta era parte della grande notizia della settimana scorsa di machine learning (ML) October fest, insieme alla veloce.ai, Neuton, e MLFlow. Con IA essere quello che è oggi, e di machine learning per l’alimentazione di una buona dose di quello che sta succedendo lì, tali notizie causare increspature oltre i ML comunità.
Anche: Facebook open-source, AI framework PyTorch 1.0 rilasciato
La scorsa settimana Scintilla AI Summity Europa, abbiamo avuto la possibilità di discutere con alcune delle stelle del rock di questa comunità. MLFlow la nuova versione è stata presentata in Databricks CEO di Matei Zaharia keynote, e PyTorch 1.0 è stato presentato in Facebook AI Ingegnere di Ricerca Soumith Chintala keynote.
Chintala è il creatore e capo progetto per PyTorch, uno dei top di apprendimento automatico quadri. Dopo il suo discorso, ZDNet preso con Chintala su una serie di argomenti, che vanno da Facebook motivazione e la strategia per PyTorch, per le specifiche di utilizzo.
Come molti di machine learning quadri il mondo ha bisogno?
Può sembrare una domanda banale chiedere, ma abbiamo sentito di farlo uscire di strada: Quello che era il pensiero che c’è dietro Facebook mettendosi in gioco e di investire risorse nella propria ML quadro con PyTorch? Soprattutto considerando che c’è un’altra ML quadro supportati da Facebook, Caffe2.
Per i fornitori di soluzioni cloud come AWS, Google o Microsoft, c’è un chiaro incentivo: più persone di utilizzare i loro ML quadri, il più risorse calcolo e storage finalmente gravitano verso i loro rispettivi nuvole. Ma cosa pali fa Facebook sono in questo gioco? Perché dedicare le risorse-umane e non-necessari per sviluppare e mantenere non uno, ma due ML di quadri, e dove vuole arrivare?
Anche: Veloce.ai software potrebbe radicalmente democratizzare AI
Il ragionamento dietro questo non era così avanti come si potrebbe pensare, ha detto Chintala. Lui e il PyTorch team per costruire questo semplicemente perché sono supponente e voleva qualcosa di tagliato per le loro esigenze:
“Google TensorFlow è stato rilasciato nel 2015. Abbiamo provato a usarlo, ma non erano super contenti. Prima di questo, abbiamo cercato Caffe1, Teano, e la Torcia. Al momento, ci sono stati usando la Torcia e Caffe1 per la ricerca e la produzione. Il campo è cambiato molto, e ci siamo sentiti un nuovo strumento è stato necessario. Sembrava che nessuno è stato la costruzione di esso, non il modo in cui abbiamo pensato che sarà necessario in futuro.
Così, ci siamo sentiti in dovere di costruire. Abbiamo mostrato ad alcune persone, e a loro è piaciuto. C’è una forte cultura open source in Facebook, così abbiamo aperto a tutti, e si tolse. Ma l’obiettivo era principalmente per renderci felici. Non era perché non abbiamo voglia di fare affidamento su Google o Microsoft.”

Soumith Chintala è un Ingegnere di Ricerca a Facebook IA Ricerca e creatore di PyTorch. La sua motivazione per la creazione di esso? Avere qualcosa che funziona secondo le sue esigenze.
Chintala ora lavora a tempo pieno su PyTorch, e il suo team comprende qualcosa tra le 10 e le 15 persone. Anche se la curiosità intellettuale e opinioni può, per conto di prendere il passo per creare PyTorch, non spiega perché Facebook vorrebbe assegnare a queste persone di lavorare su PyTorch nel lungo periodo. O lo fa?
Anche: Avvio utilizza IA e di apprendimento automatico e in tempo reale di tutti i controlli in background
Chintala è che alcune persone avrebbero dovuto essere assegnati o qualcosa del genere comunque. Se PyTorch non era stato creato, l’altra opzione sarebbe di modificare alcune quadro esistente, che finirebbe che richiede le stesse risorse. Ma allora, che cosa circa Caffe2? Perché mantenere 2 ML quadri?
Macchina di Apprendimento in Facebook IA Ricerca e nella produzione di
Prima di tutto, PyTorch è ora ufficialmente un Facebook ML quadro per domarli tutti. PyTorch 1.0 segna l’unificazione di PyTorch e Caffe2. Andando avanti, Chintala spiegato, la scelta è stata di utilizzare PyTorch per il front-end, e Caffe2 per il back-end. Questo significa che non cambia nulla per gli utenti delle versioni precedenti di PyTorch, ma Caffe2 front end sarà obsoleto e la gente dovrà passare per PyTorch.
Anche: Facebook anticipazioni di computer vision utilizzando hashtagged immagini
Questo ha a che fare con la filosofia e l’obiettivo di ogni quadro. PyTorch era rivolto a ricercatori che hanno bisogno di flessibilità. Caffe2 è stato finalizzato alla esecuzione in produzione in extreme scale — qualcosa come 300 miliardi di deduzioni al giorno, come Chintala notato. Come si può immaginare, la fusione delle due non era una cosa semplice:
“Non è solo l’unione di due basi di codice, ma due progetti e filosofie. La parte più difficile era ancora il tecnico, ma la cultura è un secondo vicino. È stato per lo più su come i quadri di evolversi, e di ciò che stanno affrontando.
Alla scala di produzione, il codice ha esigenze diverse proprietà e quindi quando si crea per la ricerca, dove si vuole a tutti di essere in grado di esprimere le proprie idee e di essere il più creativo possibile,” Chintala detto.
Facebook IA di Ricerca ha più di 100 ricercatori che lavorano su diversi progetti. Open source e la pubblicazione è la chiave per la sua filosofia, secondo Chintala.
Questa distinzione è stata, inoltre, pronunciata quando si parla di infrastrutture persone a Facebook IA di Ricerca (FAIR). FIERA impiega più di 100 persone. Chintala notare che si può vedere gente che fa ricerca sui loro computer portatili, e lui personalmente gli usi locali, disco per l’archiviazione molto, in quanto rende più facile per lui per lavorare con i file. Ma in realtà dipende dal progetto.
“Abbiamo anche utilizzare Alveare, Presto, e la Scintilla. Alcuni progetti davvero spingere i limiti della scala, e per coloro che utilizzano l’infrastruttura organizzativa,” Chintala detto.
Anche: 10 modi AI avrà un impatto l’impresa nel 2018 TechRepublic
Un’altra cosa che FIERA fa un sacco, secondo Chintala, è pubblica. Non solo il codice, ma anche di ricerca di documenti e dati:
“Nel campo della ricerca fondamentale si deve lavorare con i compagni in comunità, altrimenti si ottiene silos. Si potrebbe pensare che si sta lavorando su qualcosa di impressionante, e quindi pubblicare cinque anni più tardi si rendono conto che è orribile. Ci concentriamo su open dataset, e pubblicare subito. E inoltre ci avvaliamo di grafico strutture, in una certa misura.
Per esempio, possiamo utilizzare Wikipedia per il question answering. La sua struttura è grafico simile, e c’è anche la versione strutturato, di DBpedia. Facciamo un sacco di ricerca, di dialogo e di question answering. Per questi, si utilizza il testo di set di dati, e abbiamo anche sintetizzare la nostra. In visione, possiamo utilizzare su larga scala visione di set di dati.
Un altro esempio è come utilizzare hashtags per migliorare la traduzione. Si possono avere immagini con molti hashtag che descrivono la stessa cosa in diverse lingue, e noi incorporare immagini e hashtags in una struttura di grafo e quindi il lavoro di traduzione. Anche se facciamo queste cose un sacco, io non ricordo di avere lavorato con Facebook social graph.”
Di basso livello e di alto livello, e supponente apertura
Su Spark AI Summit stage, Chintala ha mostrato molte delle specifiche di lavorare con PyTorch. Quello che ci ha colpito è stato che, a un occhio inesperto, molti dei frammenti di codice che Chintala utilizzati sembrava abbastanza crudo e di basso livello. Questo, tuttavia, è intenzionale, e non ci sono più elevati a livello di collegamenti, come Chintala spiegato.
Prendiamo la costruzione di una rete neurale, per esempio. In PyTorch, questo viene fatto tramite una funzione che sembra un po ‘ disordinato. Ma secondo Chintala, questo è quello che vuole la gente:
“Questo è uno dei motivi principali per cui la gente usa PyTorch. Questa funzione descrive una rete neurale. Potrebbe non essere ben strutturato, ma che è dove la gente ottenere la loro espressività. Il nostro target è ben a conoscenza di questo, e vogliono usarlo in questo modo.
Diciamo che si vuole costruire una rete neurale ricorrente, e si dispone di alcune serie di tempo che è necessario utilizzare. In altri quadri è necessario utilizzare un’API, costruire una serie storica, etc. In PyTorch, basta usare un ciclo for. Gli utenti a trovare questo più intuitivo, perché non c’è nessun passaggio aggiuntivo necessario, basta scrivere il codice.”
Non tutto deve essere di basso livello, tuttavia. Chintala sottolineato che per lo stato dell’arte dei modelli, come ResNet50, ci sono one-liners che inglobano e può essere utilizzato nel codice. PyTorch viene inoltre fornito con una serie di pre-formati di modelli (modello”zoo”), out-of-the-box distribuiti e capacità di integrazione con probabilistica di programmazione, macchina di traduzione, elaborazione del linguaggio naturale, e di più.
Inoltre: AI mezzi di una vita, e la formazione di CNET
Occasionalmente, questi può apparire ingannevolmente semplice. Questo potrebbe essere un problema? Per esempio, durante la presentazione del PyTorch astrazione della distribuiti apprendimento profondo, era difficile credere che tutti i dettagli specifici possono essere presi in cura da una sola riga di codice: da Dove viene il set di dati derivante dall’utilizzo del nodo riceve ogni parte, e così via.
In questo caso, Chintala spiegato, gli utenti possono intervenire a un livello più basso e la messa a punto di dati caricatori, per esempio. Ma l’idea qui è che nel 90% dei casi non c’è strutturato, ben formato modello di come la maggior parte delle persone distribuite apprendimento profondo, e il one-liner è costruito per sfruttare questa. E sembra funzionare bene, considerando la quasi perfetta scala lineare nel grafico Chintala condivisa.
Questo è il modo per creare una rete neurale in PyTorch. Può sembrare basso livello, ma che è esattamente come i suoi creatori voluto che fosse.
Così, nonostante il fatto che PyTorch è supponente, sembra che i suoi creatori cercato di trovare un equilibrio con la capacità di adattarsi a diversi modelli di utilizzo, almeno in una certa misura. Come Chintala notato, uno degli obiettivi era quello di rendere PyTorch un pacchetto di chiunque in Python ecosistema può utilizzare, indipendentemente da ciò che essi possono essere in uso attualmente.
Inoltre: Come Facebook scale AI
L’intero Python ecosistema può essere utilizzato a piacimento è PyTorch promessa. C’è, infatti, un meccanismo chiamato zero-copia della memoria per facilitare questo:
“Non abbiamo il” non inventato qui ” la sindrome di. Si può prendere un PyTorch tensore e collegarlo al NumPy. Funziona creando una NumPy struct in C, e quindi direttamente utilizzando il puntatore su di esso. Tutto quello che dovete fare è molto basso, quasi gratis, operazione di interrogazione – la struttura in C. In NumPy molte, molte cose sono fatte in C, e la usiamo anche noi.”
Questo può sembrare una banalità, ma va a dimostrare il pensiero dietro PyTorch. Di alto livello e di basso livello, opinioni, e l’apertura intrecciano, o un atto di bilanciamento. In tutta onestà, molto di sviluppo open source, di ricerca e di Facebook stesso per quella materia, a piedi simili linee sottili. Questo può aiutare il mondo a beneficiare di ricerca all’avanguardia in FIERA, come pure giusto ricercatori mantenere aggiornato con la più ampia comunità.
Precedente e relativa copertura:
Che cosa è l’IA? Tutto quello che devi sapere
Un esecutivo a guida di intelligenza artificiale, machine learning e generale AI alle reti neurali.
Cos’è il deep learning? Tutto quello che devi sapere
Il lowdown su deep learning: da come si relaziona con il più ampio campo di machine learning a come iniziare con esso.
Che cosa è macchina di apprendimento? Tutto quello che devi sapere
Questa guida spiega in cosa consiste la macchina di apprendimento, di come esso è legato all’intelligenza artificiale, come funziona e perché è importante.
Che cos’è il cloud computing? Tutto quello che devi sapere su
Un’introduzione al cloud computing destra, dalle nozioni di base fino a IaaS e PaaS, ibrido, public e private cloud.
Storie correlate:
Non c’è un ruolo per IA o i dati della scienza: questo è un lavoro di squadra di Avvio del Parentado porta scheggia di speranza per l’intelligenza artificiale robotica AI: La vista dal Capo Scienza di Dati Ufficio Salesforce intro Einstein Voce, una IA assistente vocale per le imprese non i posti di lavoro AI è distruggere che mi da fastidio, è quelli che sono in crescita
Argomenti Correlati:
Open Source
La Trasformazione Digitale
CXO
Internet delle Cose
L’innovazione
Enterprise Software
0