Press "Enter" to skip to content

GOTO 2017 • Machine Learning with TensorFlow and Google Cloud • Vijay Reddy


[Musica]
quindi il mio nome è Vijay, sono una macchina
specialista dell’apprendimento, lavoro per Google
spero che stiate tutti vivendo una giornata buona oggi
finora quante persone hanno visto l’ultimo discorso
in questa stanza il significato della vita parla
ok bene e questo è in realtà un bene
naturale segue in questo discorso perché
quella conversazione era una specie di grandioso
visione grandiosa di artificiale
intelligenza alcune delle grandi pietre miliari
e questo discorso sarà molto
conoscenza pratica se tu e il
il pubblico vuole costruire una macchina
modello di apprendimento come si fa così
credito agli organizzatori della conferenza per
pianificandolo così quante persone
hanno costruito un modello di apprendimento automatico
prima d’ora e quante persone hanno
specificamente usato o almeno giocato
in giro con tensorflow prima ok bene
in modo che il flusso di questo discorso sta per essere
i primi 15 minuti circa saranno
scivoli e poi passeremo il
il grosso del tempo in realtà costruendo un
modello di apprendimento automatico end to end lo farò
in realtà mostra che il codice esegue il
codice questo sarà lo schermo più grande
che ho mai eseguito codice live su così
spero che non vada troppo male
quando dico apprendimento automatico end-to-end
pipeline questo è ciò che intendo così
si inizia con il set di dati non elaborati che si fa
qualche pre-elaborazione su quel set di dati
quindi ti alleni il tuo modello che distribuisci
quel modello in qualche posto in questo caso
lo distribuiremo nel cloud
e fai qualche previsione contro
quel modello e in particolare il problema
quello su cui lavoreremo è
prevedendo i prezzi delle case quindi lo faremo
in realtà inizia con il file CSV non elaborato e
quindi passare attraverso l’intero set di
istruzioni lì così prima di entrare in
che solo una coppia scorre sulla macchina
imparare in Google così tanti di voi
probabilmente sai che l’ apprendimento automatico è
piuttosto centrale per ciò che facciamo come a
società siamo in definitiva una società di dati
e quindi questo è un grafico che mostra il
crescita dei modelli di machine learning in
produzione in Google nel tempo così tu
può vedere anche a Google nel 2012 questo
era molto nuovo per noi e in avanti
oggi abbiamo oltre 4.000 macchine
modelli di apprendimento in produzione ed è
arrivato al punto in cui ora dentro
L’ apprendimento automatico di Google è diventato un
set di competenze atteso per ogni sviluppatore
avere così non hai un set speciale
di scienziati di dati qui e poi
i tuoi sviluppatori web qui sulla macchina
la conoscenza dell’apprendimento sta diventando comune
è conoscere Java o Python in Google
e offriamo corsi di formazione e
programmi per ogni ingegnere del software
all’interno di Google per ottenere competenza all’interno
all’interno di questo campo quindi questi sono alcuni di
i prodotti che usiamo macchina
imparare in esso è in quasi tutti
uno dei nostri prodotti di consumo dei consumatori così
è una grande parte della classifica nel nostro
algoritmo di ricerca utilizzando un algoritmo
chiamato ricerca di immagini di rankbrain di Google
si basa sullo spionaggio Gmail per l’ apprendimento automatico
classificazione c’è una nuova funzionalità in
Gmail che alcuni di voi potrebbero aver visto
chiamato Smart rispondere dove effettivamente
cerca di prevedere una risposta appropriata
alla tua email in modo da non dover digitare
manualmente che è abbastanza utile così
quindi quando parliamo di Google cloud
piattaforma che rappresenta il
esternalizzazione di tutto questo interno
lavoro che abbiamo fatto sui nostri prodotti così
abbiamo gruppi di ricerca molto grandi in
solo l’anno scorso abbiamo pubblicato oltre 300
documenti di ricerca in alto livello accademico
riviste sull’apprendimento automatico e cosa
abbiamo fatto è che abbiamo preso alcuni di questi
modelli e li hanno resi disponibili per il
pubblico in modo che tutte queste forme cadano dentro
l’ ombrello della piattaforma cloud di Google e
si può formare una divisione all’interno che sulla
il lato sinistro hai la tua abitudine
modelli di machine learning e sulla destra
lato hai la tua macchina pre- addestrata
modelli di apprendimento così la maggior parte di questo discorso è
sta per essere a come si fa a costruire un
modello di apprendimento automatico personalizzato
ma voglio toccare solo un po ‘
sull’apprendimento automatico pre-allenamento
modello in modo da sapere cosa sono e come
usarli e quando li useresti
quindi questi modelli di apprendimento automatico
tipicamente come un principio generale tu
voglio sempre iniziare con il più semplice
soluzione e aggiungere complessità se necessario
quindi ci sono alcuni problemi che puoi
risolvere senza costruire un modello a tutti
e se puoi farlo allora è quello
tu vorresti fare perché c’è
molto meno impegno ingegneristico di te
non è necessario reinventare la ruota e
queste sono tutte barriere molto basse per entrare
puoi davvero metterti alla prova con te?
non è nemmeno necessario un account cloud Google
vai al tuo browser vai al
rispettiva pagina quindi questo esempio è qui
la nostra API di visione e puoi semplicemente trascinarci dentro
un’immagine e ti mostrerà esattamente cosa
tornerà così in questo caso
mi sta dando un sacco di etichette su
questa immagine con il punteggio di confidenza per
ognuno di questi in modo ad esempio si tratta di 85
percentuale di fiducia che questo è un
ponte sospeso ce n’è un altro
caratteristiche qui c’è un punto di riferimento
caratteristica che effettivamente riconosce certo
punti di riferimento quindi sa che questo è
nello specifico il Golden Gate Bridge di
San Francisco e mi dà il
coordinate lat / long e quando sei
chiamando sopra l’API REST si otterrà
i tuoi risultati in questo formato JSON e tu
può integrarlo nella tua applicazione
come tu ritieni opportuno
quindi il modo migliore per pensare all’utilizzo
queste API pre-addestrate sono come lego
blocca è molto improbabile che un singolo
il modello pre-addestrato risolverà il tuo
problema specifico interamente da solo
perché dalla natura di un pre-addestrato
modello sono addestrati sui dati di google
sta cercando di essere una taglia unica
soluzione quindi ci alleniamo su enormi dati
imposta ma è molto è molto
set di dati generalizzati e nel tuo
applicazioni su cui stai lavorando molto
problemi specifici così
ecco un esempio di un cliente di
Il Giappone che ha costruito una piattaforma da mettere all’asta
fuori dalle macchine e volevano aggiungere un
funzionalità dove se hanno caricato un
immagine di un’auto avrebbero un’API
ciò restituirebbe determinate informazioni
riguardo a quella macchina, quindi ti direbbe una cosa
è la marca dell’auto qual è il modello
dell’auto se è una parte specifica di
l’auto che parte di esso è è il
stanca il volante e anche cosa
lato della macchina stai guardando sono
stai guardando in avanti o a sinistra o
il diritto della macchina e il motivo
questo era importante perché è così
hanno categorizzato queste immagini per loro
i consumatori a guardare sul sito web in modo
prima dell’apprendimento automatico, erano reali
umano per entrare e taggare ognuno di questi
immagini e questo è il lato sinistro di a
Ford Focus ecc molto tempo e
volevano provare a usare la macchina
imparare ad automatizzare questo e quello che loro
all’inizio è stato un errore comune che
è provare a costruire un singolo modello che
risolve l’intero problema che sputa
fuori tutte le informazioni che loro
prendersi cura di un singolo modello e loro
ha investito un po ‘di ingegneria significativa
sforzo e alla fine ha rinunciato perché
il modello non stava dando i risultati
di cui avevano bisogno, quindi fecero un passo avanti
indietro e ho detto cosa se lo rompessimo
pezzi multipli così loro hanno detto prima
utilizziamo i modelli di pre-treno di Google e
guarda fino a che punto ci dà così
loro gestivano le loro immagini attraverso la nostra visione
API con zero lavori di ingegneria
la loro parte perché abbiamo già fatto
il modello ed esposto e hanno
ho notato che fa tutto parte del problema
ti dice qual è la marca di una macchina
ma non quello che è un modello specifico e
anche in grado di identificare quale parte di una macchina
è questo è un pneumatico o è questo uno sterzo
ruota ma quello che non poteva fare è per
esempio ti dice che è il lato sinistro o il
lato destro di una macchina perché è giusto
non è stato addestrato a farlo così ora quando
si restringe l’ambito del problema a
solo che in realtà è abbastanza facile da
costruire un modello personalizzato che lo faccia
usando una struttura come tensorflow
ottieni mille immagini di lati sinistro
di macchine e mille immagini di destra
lati delle auto differenti
tipi di auto e li metti in mezzo a
rete neurale e si ottiene una bella
algoritmo robusto che ora può dire al
differenza tra sinistra e destra
lato di una macchina e che risolve parte di
il problema quindi l’hanno fatto in un
approccio frammentario e quindi aggregato
le informazioni da ciascuno di questi
singoli modelli questi piccoli modelli a
risolvere il problema aziendale totale e
hanno finito per ottenere dove lo vogliono
essere ma in modo molto più veloce e pulito
così è davvero come dovresti
pensa a questi problemi c’è molto
di volte puoi renderli modulari e a
serie di modelli più piccoli più semplici
aggregare per risolvere ciò che stai cercando
risolva bene così è per pre-addestrato
i modelli ora dicono che ne hai bisogno
costruire un modello di apprendimento automatico personalizzato
ne hai ristretto lo scopo
possibile usare le cose che erano
già costruito in modo da non reinventare
la ruota ma di solito c’è almeno
una parte che devi costruire personalizzata
e quando dico personalizzato significa che lo sei
formazione sui tuoi dati personali che stai scrivendo
il tuo codice e il quadro che noi
a Google internamente utilizzato per questo tipo
di cosa si chiama flusso di tensione così
il flusso del tensore è qualcosa che probabilmente
la maggior parte di voi hanno sentito parlare sembrava
circa un quarto o un terzo della stanza
in realtà ha già usato così prima di
tutto ciò che è il flusso del tensore del flusso del tensore è a
quadro di apprendimento automatico della macchina
era open source di Google nel mese di novembre
2015 e dal momento che è stato open source
è diventata la macchina più popolare
quadro di apprendimento e parlerò
alcuni motivi per cui potrebbe essere diventato
così popolare quindi ne vale la pena
menzionando che la popolarità di
tensorflow è di per sé una grande ragione per usare
perché con la popolarità diventa
ecosistema di sviluppatori quindi se stai lavorando
su un problema è probabile che qualcuno lo abbia
già risolto un problema simile ad esso
usando il flusso del tensore e si potrebbe fare a
cerca e troverai un post sul blog se
non un tutorial sul flusso tensoriale ufficiale
mostrandoti un modello di codice e puoi farlo
usalo per avviare il tuo progetto
da questo è molto prezioso e il
seconda cosa c’è
se rimani bloccato o ti imbatti in un bug
quando lo pubblichi su qualcosa di simile
Stack Overflow perché c’è un tale
sei una grande comunità intorno a te
tipicamente intenzione di ottenere una risposta più veloce
che se stai usando un minore usato
quadro così la popolarità stessa è a
grande vantaggio a questo punto un’altra ragione
che tensorflow è popolare è questa idea
che puoi programmarlo in vari modi
livelli di astrazione quindi se non lo fai
ho bisogno di un sacco di controllo sul tuo
algoritmo se non sei un ricercatore
questo è quello che modifica il tuo algoritmo
fino a un livello molto fine di granularità
allora puoi allontanarti da te
che usando un’API di livello superiore come
Kerris che alcuni di voi potrebbero aver sentito
di o come l’ API dello stimatore che è
in realtà il codice che mostrerò
più avanti nel discorso e questo ti permette
fare cose come usare solo una citazione
modello in scatola unquote che è pre
implementato per te ha già il
il ciclo di allenamento integrato ha già il
ciclo di valutazione integrato e con solo a
un paio di righe di codice che chiamate e
ti fa risparmiare un sacco di lavoro, ma se lo fai
hai bisogno di ulteriore flessibilità che puoi eliminare
giù un livello nella gerarchia a questi
livelli più bassi in definitiva verso il basso
livello base di vaniglia tensorflow dove
stai definendo esplicitamente le tue matrici
e facendo le tue moltiplicazioni di matrice a
quello indica un altro motivo per entrare nel flusso
è popolare è perché è
pronto per la produzione
quindi il motivo per cui Google ha creato tensorflow
in primo luogo è perché
storicamente l’apprendimento profondo
quadri che esistevano al momento tutti
è uscito dalle istituzioni accademiche così MX
netta è venuto fuori della Carnegie Mellon DNO venuto
fuori dalla University of Montreal Cafe
è uscito dall’università di Berkeley
e se pensi ai bisogni di un
ricercatore accademico è molto diverso
dai bisogni di qualcuno che è dentro
industria
così un ricercatore è la loro motivazione
essenzialmente per prototipare qualcosa così
che possono provare una pubblicazione di teoria
quella teoria in una rivista accademica e
quindi passare a qualcos’altro così
non c’è un vero pensiero su come faccio
scala questo modello quanti utenti sono
andando a colpire quello che sono la mia sicurezza
considerazioni e cose del genere così
quando Google inizia a entrare in questa macchina
imparare lo spazio sapendo che tutto
hanno costruito stava per essere utilizzato da
milioni di utenti che hanno dovuto creare a
strumento per risolvere questo problema che non ha funzionato
esistere prima così tutte queste cose come
servire in latenza è di prima classe
cittadini e tensorflow
e sono integrati nello strumento così è
molto performante e puoi anche distribuire
così attraverso diversi tipi di hardware
scrivi il tuo codice una volta e poi tu
può distribuirlo su una CPU o GPU o su a
cellulare Android o iOS o anche acceso
dispositivi incorporati come Raspberry Pi e
naturalmente gli algoritmi quindi la ragione principale
che usi un apprendimento automatico
quadro è così che non devi
ri-implementare algoritmi che sono già
ben consolidata e ben collaudata in
industria quindi questo è un esempio di
API di rilevamento degli oggetti del flusso tensoriale
è un algoritmo che identifica le etichette
in un’immagine e non solo fa questo ma
disegna riquadri di delimitazione attorno a quelli
etichette quindi questo è un problema molto più difficile
rispetto al tipo di computer originale
problema di visione che era l’immagine
di classificazione che mi avrebbe detto che
c’è un aquilone nell’immagine da qualche parte
ma non mi direbbe dove entro il
l’immagine che l’aquilone era o non avrebbe detto
me quanti aquiloni sono in quell’immagine così
questo è un algoritmo che è venuto fuori
Ricerca Google e quindi apriamo di provenienza
i risultati di questo attraverso il flusso tensoriale così
ora puoi effettivamente sfruttare questo
algoritmo con poche righe di codice e
se fai una ricerca su Google per dieci
per far scorrere l’API di rilevamento oggetti che vedrai
un post sul blog che ti dice come fare
quella
ed ecco un altro esempio questo questo
l’idea di un algoritmo ampio e profondo è no
più a lungo davvero considerato
stato dell’arte, ma quando è uscito
tensorflow era la prima frase popolare
quadro per tipo di distribuire questo o
democratizzare questo tipo di modellizzazione al
citare unquote uomo comune quindi l’idea di
i modelli profondi allargati è questo
cosa chiamata deep learning che funziona
molto bene per i set di dati densi e per te
avere modelli lineari che funzionano molto bene
per set di dati sparsi e l’idea è
abbastanza semplice che è quello che se combiniamo
il meglio di entrambi i mondi e hanno il
lavoro sul modello profondo sulle caratteristiche dense
e l’ampio modello funziona su sparse
caratteristiche e quindi combinare i risultati in
la fine è chiamata ampliata in profondità
apprendimento e quello era un altro esempio di
un algoritmo che tensorflow davvero
portato al grande pubblico
velocità così ovviamente quando stai pensando
sulla distribuzione di qualcosa per la produzione
soprattutto se sta per alimentare a
sito web o hai un po ‘di tempo reale
bisogno di esso allora le prestazioni diventano
molto importante quindi il flusso delle tinte è molto
trasparente sui suoi benchmark su
problemi diversi come scala
orizzontalmente e puoi andare a
prestazione della barra del org del tensorflow dot
punti di riferimento e basta vedere i test che abbiamo
corri e vedi esattamente ciò che è nostro
spettacoli e come si confronta e
quindi l’ultima cosa che dirò
il flusso di tensione è la ragione per cui può farlo
hai questo compromesso con entrambi
sviluppatore amichevole scritto in una lingua
come Python che è considerato
sviluppatore amichevole ma tradizionalmente
considerato lento ma anche molto performante
è perché l’output del tuo tensorflow
Il codice Python è ciò che chiamiamo un dato
grafico di flusso che è simile a questo e
questo è effettivamente visualizzato utilizzando uno strumento
chiamato tension board che farò anche io
demo e quel grafico è giusto
serie di istruzioni che è allora
interpretato da un back-end C ++ e il
C ++ torna e si prende cura di come faccio
compilare questo codice in modo molto veloce e
specifico per il tipo di hardware che
Mi è stato chiesto di correre se è così
una CPU o GPU per esempio
quindi questo è il tensorflow
si vorrebbe utilizzare che per la vostra
modellizzazione di apprendimento automatico personalizzato e
allora perché Google Cloud machine learning
motore quindi in pratica perché dovresti farlo
questo nel cloud quindi la prima cosa da fare
lo stato qui è un sacco di volte che non lo fai
bisogno di farlo nel cloud come regola di
pollice se puoi allenare il tuo modello
meno di un’ora sul vostro computer portatile locale proprio
attaccati al tuo laptop locale ma ad alcuni
indica se stai utilizzando dati abbastanza grandi
imposta o stai usando abbastanza complesso
algoritmi che hai intenzione di colpire
collo di bottiglia in cui il tempo di formazione su
il tuo computer l’ ora del tuo computer
essenzialmente diventa il collo di bottiglia per
creatività e sviluppo e lo farà
impedirti di provare idee diverse o
fermerà un problema dall’essere
trattabile e questo è quando tu
voglio fare il salto al cloud computing
perché in sostanza quindi hai accesso
a un supercomputer su Internet
connessione e lo strumento che effettivamente sarò
usando oggi si chiama Google Cloud
motore di apprendimento automatico che è un
gestito il servizio tensorflow e dà
alcune cose carine, per esempio
rende il ridimensionamento orizzontale molto semplice
solo specificare che voglio eseguire questo attraverso
dieci GPU e Google si prenderanno cura di
gira l’infrastruttura per te
provisioning delle macchine virtuali e
poi girandole quando è il tuo lavoro
fatto ha un parametro iper automatico
monitoraggio automatico della funzione di sintonizzazione
registrazione della versione integrata del ridimensionamento automatico
servizio di previsione e in arrivo
avrai accesso all’elaborazione del tensore
unità di cui parlerò il prossimo
scivola e non c’è lock-in
quindi perché tensorflow è una fonte aperta
quadro una volta che ci si allena il tuo modello ancora
se usi il nostro prodotto come tuo
supercomputer per darti la potenza
per completare quella formazione in a
ragionevole quantità di tempo
il risultato è una fonte aperta
così puoi scaricare quel modello che puoi
distribuirlo su un telefono è possibile distribuirlo
on premise è possibile distribuirlo ovunque
vuoi e il contrario è vero come
bene puoi allenare il tuo flusso di tensione
modella sul tuo laptop locale ma puoi farlo
distribuirlo alla nostra nuvola solo per il
servizio di predizione perché forse lo sei
mi aspettavo centinaia di migliaia
previsioni di previsione al secondo e
non vuoi costruirlo da solo
infrastruttura per gestire ciò che è possibile
allenarsi sul posto e schierarsi per
previsione anche nel cloud
unità di elaborazione del tensore per quelli di voi
chi non ha sentito parlare di questo è stato il
hardware che alimentava l’artificiale
intelligenza che ha sconfitto il gioco
campione se ne hai sentito parlare anche tu
alimenta Google Translate e un sacco di
altre applicazioni interne e abbiamo
ora reso disponibile per il
pubblico in alpha a questo punto e solo a
confronto hardware per darti una sorta di
una scala di quanto potenti siano queste cose
un’unità di elaborazione del tensore può elaborare 180
trilioni di operazioni in virgola mobile per
secondo una GPU Nvidia K 80 Tesla kad
che è una sorta di GPU cloud di fatto
a questo punto ci sono nove teraflop in questo modo
diventa in realtà più importante per
inferenza che allenamento perché in
l’allenamento può sempre essere scalabile
in orizzontale in modo da poter utilizzare 20 Nvidia
K ATS e otterresti una velocità simile a
usando un TP singolo devi solo
fare il calcolo delle prestazioni del prezzo ma
quando si tratta di inferenza anche in quelli
tempo di previsione e hai bisogno di farlo
restituire indietro di millisecondi
sovraccarico del calcolo orizzontale
in realtà diventa più ti porterà
fuori dal tuo requisito in tempo reale così a
quel punto di ridimensionamento verticale su un singolo
il chip diventa importante e in quel momento
questi chip avanzati come TPS diventano
più importante va bene così al reale
problema che costruiremo un
soluzione di antenna per così cosa stiamo andando
fare è prevedere prezzi di vendita di abitazioni e così
Sto per iniziare
chiedendoti al pubblico di fare un
previsione su un semplice set di dati quindi il mio
set di dati è una casa di 1.000 piedi quadrati
vende per $ 100.000 a 3.000 piedi quadrati
casa vende per $ 300.000 e la mia domanda
per te e tu puoi solo urlare è
quanto avrebbe un casa 2.000 piedi quadrati
tutto per duecentomila ma è così
abbastanza facile, quindi facciamolo un
un po ‘più complicato aggiungiamo
altre due funzionalità per il mio set di dati così dentro
Oltre alla semplice metratura di a
casa, prevedo la casa
prezzo basato su ciò che è il crimine
tasso nella zona e anche quanto sono buoni
le scuole nella zona quindi ora sono solo
ti lascerò leggere questa diapositiva e il
la domanda è quanto costerebbe un tre
mille metri quadrati di casa con un crimine
tasso di 30 e una valutazione della scuola di due
costano tutte le anime coraggiose non risponderanno sì
non è così facile ora e questo è solo
con tre funzioni quindi immagina se tu
aveva un centinaio di funzioni e immagina se
hai milioni di file, ecco dove
ora devi usare un apprendimento automatico
per fare questo tipo di previsione in questo modo
è il problema che stiamo andando a essere
lavorando su così per risolvere questo e
in realtà se vuoi
ricreare questo laboratorio dopo il dopo
parlare questo è lo short link ad alcuni
documentazione su come farlo in modo che tu
puoi scattare una foto di questo anche tu lo farai
avere accesso alle diapositive
dopo aver attraversato il sito web della conferenza
va bene così da fare per fare davvero il nostro
sviluppo useremo uno strumento
chiamato laboratorio di dati quindi il laboratorio di dati è fondamentalmente
una versione con etichetta bianca di Giove o
taccuini ipython quante persone hanno
usato quaderni Jupiter o ipython ok
quindi – è un buon modo per combinare il tuo
codice con la documentazione in un modo che è
tipo di digeribile e facile da condividere e
collaborare così all’interno di questo notebook che sono
iniziando semplicemente importando il
quadri che ho bisogno di usare così in questo
caso sto usando panda che è un
quadro che mi consente di affrontare
i dati CSV che userò facilmente
e analizzalo e poi, naturalmente
tensorflow quindi eseguirò quelli
due celle ed è sempre una buona idea
sapere quale versione di flusso di tensione che
hai a che fare in modo da poter eseguire il debug di qualsiasi
versione problemi di conflitto, quindi sto usando
testare il puledro 1.2 e ne abbiamo parlato un po ‘
a proposito di questa idea di tonnellate di flow api
e la gerarchia così in questo caso lo sono
programmerò in questi due primi
livella l’esperimento e l’API degli stimatori
e il motivo principale per cui lo farò
uno fa meno linee di codice ma
l’altra ragione è che mi dà
calcolo distribuito gratuitamente così come
finché mi atterro a questi livelli superiori
API quindi l’allora non tende a
float capisce solo come correre su dieci
GPU contro una GPU e io non devo
apportare modifiche al codice che, se lo hai
ha provato a fare il calcolo distribuito attraverso
più CPU o GPU manualmente prima
saprete questo è un grande risparmio di tempo è
ti risparmia un sacco di mal di testa e così via
passi reali che stiamo per andare
attraverso in questo quaderno siamo uno
andando a caricare nei nostri dati grezzi siamo
scriverò il nostro codice tensorflow e
che sta andando hanno alcuni passi ripartiti
che spiegherò poi andremo a
pacchetto che codifica in modo che possiamo
allenarlo nella nuvola che stiamo per
ispezionare i risultati di tale formazione
usando tensorflow per assicurarci di essere
felice con il nostro
con la nostra precisione, una volta che siamo soddisfatti
la precisione che stiamo per implementare
quel modello al cloud in modo che possiamo
avere una terza parte fare previsioni
contro quel modello su internet così
inizieremo qui caricando i nostri dati non elaborati
e sto usando solo un pubblico disponibile
data set circa la periferia di Boston area circa
1978 ed è ospitato in un Google Cloud
Secchio di archiviazione quindi questo codice qui è giusto
scaricando quel file CSV dal
Google Cloud storage in un paio di
Variabili e memoria Python ed eccomi qui
sto solo stampando i primi
file di tali dati in modo da poter vedere cosa
quello che sembra effettivamente e questo può
essere il primo stallo di programmazione dal vivo qui così
sopportare con me
solo andando a rinfrescare questo qui
quindi questo sta scappando da un virtuale
macchina nel cloud e quella virtuale
la macchina persa perde la sua connessione
probabilmente perché stavo facendo le diapositive
per troppo tempo senza rinfrescare così
Mi sto solo riconnettendo qui
e mentre questo sta arrivando quello che posso
fai è saltare il secondo passo qui
è una volta che hai caricato i tuoi dati grezzi così
in questo caso un file CSV il prossimo passo
quello che vuoi fare è uno scienziato dei dati
basta esplorare i dati per primi
di tutti i miei dati sono puliti
ho dei valori anomali che faccio solo una sanità mentale
controlla che i dati abbiano un senso e poi
in secondo luogo , qualsiasi trasformazione
che ho bisogno di farlo, quindi questo è uno strumento
ha chiamato la preparazione di Google Cloud Data ed è
bello perché proprio fuori di testa quando tu
carica un file CSV che già crea
questi istogrammi di tutti i campi per
così ad esempio posso vedere che il
campo qui l’età della casa il
la gamma è tra 3 e 100 anni
è così che sono vecchie queste case ed è così
più concentrato verso l’estremità superiore
quindi ho più case vecchie
più vicino ai cento anni allora
sono case nuove di zecca e poi se io
fai clic su Modifica e poi sui dettagli delle colonne che posso
ottenere le mie statistiche di base su questo
colonna particolare la mia mediana principale
deviazione standard e i miei quartili e
cose del genere e diciamo che io
voglio fare qualche manipolazione su questo
dati quindi posso solo scegliere a
trasformazione qui e là
cose diverse che posso fare che posso fare
aggregazione
Posso appiattire Posso unirmi Posso fare perno su di me
può fare finestrini in modo che molti dei tuoi elementi di base
la manipolazione dei dati qui puoi fare
attraverso questo strumento grafico e il bello
la cosa su questo è l’output di questo
strumento è una pipeline di flusso di dati e dati
il flusso è un’implementazione del raggio di Apache
che è progettato per funzionare su grande fuori
di set di dati di memoria
quindi diciamo che sai che ho guardato
ai miei dati sono felice con il
trasformazioni quindi a questo punto cosa
Lo farei semplicemente esportando questo
dati in un flusso di dati che verrebbe eseguito
le trasformazioni e poi potrei
quindi tornare indietro con quei dati indietro
tornare in flusso tensoriale e, naturalmente
questo doveva succedere mentre stavo facendo il
demo dal vivo
quindi esegue il provisioning del cloud di Google
Macchina guscio che è come connettersi a
l’ istanza del cloud di Google dell’istanza del laboratorio di dati
è in realtà un servizio gratuito, quindi a volte
se c’è molta richiesta in a
particolare regione devi aspettare a
un po ‘per ottenere una macchina
quindi quello che posso fare è sperare che lo farà
venire o in realtà potrebbe essere solo quello
la mia connessione internet in generale non lo è
lavorando in questo momento sì penso che sia
di cosa si tratta
ok ci andiamo così una delle cose
su come lavorare nel cloud sei tu
in realtà bisogno di una connessione internet per
va bene così lasciami girare questo indietro
su ora eccoci
e mi collegherò di nuovo in questo
esempio okay, daremo un secondo
e mentre che sta caricando ho intenzione di
proseguire nel repository github
qui così ora che ho fatto ho caricato
i miei dati grezzi l’ ho esplorato sono felice
con quello che sembra ora posso
in realtà inizio a scrivere il mio tensorflow
codice in modo da scrivere il mio codice di flusso di attenzione
ci sono circa quattro o cinque passi di cui ho bisogno
per fare ciò, la prima cosa che devo fare è
definire la mia interfaccia di dati che devo dire
tensorflow come interpretare il
diverse colonne all’interno del mio set di dati così
certo c’è una colonna diversa
tipi hai dati continui che hai
dati categorici così il prezzo per esempio, è
un esempio di variabile continua
può assumere qualsiasi dipartimento di valore reale in a
l’università per esempio sarebbe un
esempio di un valore categoriale così
potrebbe essere uno di un insieme discreto di cose
matematica o inglese o psicologia ecc
ognuna di queste funzionalità è ottimizzata in
un modo diverso con l’apprendimento automatico
algoritmi quindi devi informare il
algoritmo che tipo di che tipo di dati
questo è e nel mio set di dati particolare
è abbastanza facile perché tutto il mio tutto
del mio codice è tutte le mie caratteristiche sono
numeri numerici di valore reale quindi sono
saranno tutte caratteristiche categoriche
quindi qui fondamentalmente ho solo un ciclo for
passando per le caratteristiche che sono
intenzione di usare per questo e di dirti di
trattali tutti come colonne con valori reali così
questa è la mia interfaccia dati ora la prossima
la cosa che devo fare è scegliere il mio
stimatore reale quindi il mio stimatore è cosa
potresti pensare di essere il tuo modello in scatola
e in questo caso userò a
rete neurale profonda rete neurale e
il motivo per cui lo sto usando
perché la relazione tra i miei
caratteristiche di input e la vendita effettiva
il prezzo di una casa non è lineare, quindi non lo sono
intenzione di avere un sacco di successo se uso
qualcosa come la regressione logistica dove
apprendimento profondo e profondo di apprendimento
definizione più comune di apprendimento profondo
è solo una rete neurale con due o
più strati nascosti è buono per
modellando quel tipo di relazione così mia
codice per la definizione di una rete neurale
è solo questa cella qui e io sono
specificando che voglio due livelli nascosti
ciascuno con 210 neuroni in ogni strato così
10 neuroni nel primo strato e 10
euro nel secondo livello e basta
Devo fare per definirlo e lo sono
passando la mia definizione di funzionalità da
la cella precedente quindi sa come
interpretare quei dati così basta prendere un
in secondo luogo per apprezzare ciò che potevo
fallo con poche righe di codice
la definizione di una rete neurale è tipicamente
qualcosa che è abbastanza coinvolto da fare
quindi questo è il vantaggio di trattare a
questo più alto livello di astrazione quindi
Definirò la mia funzione di input in modo tale
a questo punto ho appena specificato un dato
API se lo farai ma in realtà non l’ho fatto
passato i dati in modo che questi dati siano
in realtà leggendo da quello che i panda
variabile che ho creato in precedenza quale se
ti ricordi basta tirare quel CSV verso il basso
da Google Cloud Storage e archiviati
in memoria e sto dicendo che è così
dove esistono le mie caratteristiche e la mia etichetta
che è quello che sto cercando di prevedere è
sarà la caratteristica che ho
identificato come etichetta che ho fatto prima
su qui che è il valore mediano che è
in realtà un prezzo di vendita quindi ho il mio
caratteristiche e le mie etichette e sto passando
quelli è la mia funzione di input e poi tu
avere una funzione di input separata per
servire così servire è solo un sinonimo di
previsione o per inferenza così al
momento in cui ho un utente di terze parti
utente che utilizza il mio servizio di previsione
può passare in dati leggermente diversi
molto più di come mi sono allenato, ecco perché
Mi è permesso definire una porzione separata
funzione di input che faccio qui e io
in realtà NON lo passerò in nessuna
in modo diverso quindi la prima parte del
il codice è lo stesso e poi c’è
solo qualche codice di codice qui che tu
non modificare e l’ultimo passo è Io sono
impacchettare tutto questo in quello che è
chiamato un esperimento e un esperimento
è ciò che mi permette di farlo davvero
formazione distribuita senza dover
scrivi qualsiasi codice aggiuntivo ed è giusto
un wrapper quindi sto solo passando
puntatori a tutte queste celle precedenti
che ho definito così il mio ingresso
Funziona il mio estimatore e poi lo sono
specificando che voglio addestrare questo per
3.000 passi e poi alla fine voglio
fare una fase di valutazione per vedere come come
bene questo modello si sta esibendo contro il mio
dati di valutazione, ecco tutto
tensione del codice di flusso e quindi il mio codice è ora
scritto e per addestrarlo
il cloud ho bisogno di impacchettarlo come un
tipico file Python quindi eccomi qui
prendendo tutte queste cellule individuali e
incollandoli in una singola cella il codice
non è cambiato e quindi alla fine qui
c’è qualche codice di codice che tu
farebbe solo copia e incolla
tell up dice a questo programma come analizzare
alcuni argomenti della riga di comando che il
Google Cloud ml engine xmx in questo modo
punto che posso effettivamente allenarmi e lo farò
allenarsi sia a livello locale che nel cloud così
puoi vedere come funzionano entrambi
ci sono un paio di variabili cloud
Sto definendo qui quindi questo è l’indirizzo
del mio Google Cloud Storage bucket che io
voglio che il mio modello sia scritto per questo
il nome del mio Google Cloud un progetto
e questa è la regione geografica che
Voglio che le mie macchine virtuali siano filate
e sto solo mettendo quelli come
variabili di ambiente in modo da poter fare riferimento
li nelle celle rimanenti e così prima
Lo farò in locale e in questo
il caso localmente è ancora sul
cloud perché data lab è un cloud
macchina virtuale e vedrai che
che è finito abbastanza velocemente ne ho alcuni
più avvisi di compilazione qui che tu
posso ignorare questo è solo perché non l’ho fatto
Compilare il flusso centrale da zero su questo
macchina quindi ci sono alcune ottimizzazioni
mi sta facendo sapere che posso prendere
vantaggio di se voglio e se voglio
per eseguire questo sul cloud, quindi uso a
strumento a riga di comando chiamato G cloud e I
basta specificare il percorso del mio
File Python che avevo appena scritto qui
su disco, ecco tutte le mie celle di codice
copiato incollato insieme e scritto a
disco sto scrivendo un puntatore a così così
sa dove vive il codice e io sono
facendo nuovamente riferimento al mio Google Cloud
Secchio di stoccaggio in modo che sappia dove
invia i risultati a così vado a correre
questo e così così questo è in coda
con successo e questo è solo in esecuzione su
un’unità di apprendimento automatico cloud cloud
quale è puoi pensare a questo è il
l’equivalente di un laptop locale ora è qui
il vero potere di me scrivere questo usando
l’ API degli stimatori è che posso solo aggiungere un
argomento qui che dice – – lo scalare
è uguale a quello standard
e ora funzionerà invece che via
una CPU ne percorrerà dieci
CPU e allo stesso modo se voglio correre su a
GPU invece che su una CPU lo cambierò
skelter alla GPU di base e in termini di
il prezzo della GPU costa tre volte
tanto come una CPU per l’esecuzione su così come un utente
la tua performance di prezzo sarebbe solo te
vuoi assicurarti che la GPU acceleri il tuo
la formazione di almeno 3x che è il tuo
punto di pareggio e quindi non c’è dubbio
algoritmi in cui la GPU può effettivamente accelerare
il tuo allenamento 4050 X e non c’è
altri tipi di applicazioni in cui GPU
non è che molto più veloce della CPU in modo
sii consapevole di questo quando lo sei
decidere se viaggiare in treno sulla CPU
o di una GPU e poi, infine, ho intenzione di
eseguire su più GPU in modo che il modo in cui
tu definisci questo è un po ‘
diverso, creo un file yamo dove io
dove specificherò il mio tipo di macchina e poi
Ho fatto riferimento al file Yambol come a
argomento della riga di comando quindi non lo è ancora
è complicato ma è solo un po ‘
un po ‘diverso e così ora sto correndo
attraverso otto GPU cloud e attualmente in
questo caso quelli sono nvidia tesla k 80s
quindi sto attraversando otto di quelli in
parallelo quindi se torno al cloud
qui e fare clic su lavori di motore ml che farai
vedere tutti quei quattro lavori che ho appena
dato il via allora stanno girando e tu
potrebbe chiedere perché questo è ancora
in esecuzione se quello che ho eseguito localmente
finito praticamente all’istante e il
la ragione è quando stai correndo
nel cloud sta avviando il
macchina virtuale da zero così il
il tempo di avvio per questo è circa cinque
minuti e poi si corre il lavoro in modo da
in realtà non vorrebbe eseguire questo
lavoro particolare nel cloud perché è
un set di dati così piccolo ma quando lo sei
pensando a set di dati più grandi dove è
ci vorranno ore o addirittura giorni per correre
allora quei cinque minuti diventano belli
insignificante nel contesto del
ridimensionamento orizzontale che si va
e in termini di registrazione per qualsiasi
lavoro come è in esecuzione è sufficiente fare clic
guarda i log qui e ti darà un
in esecuzione di uscita dei registri così qui
dice in attesa di lavoro da provisioning
sta ancora girando su VM e poi
quando il lavoro è finito, possiamo implementarlo
beh, possiamo ispezionare i nostri risultati così sono
tornerò nel mio taccuino del laboratorio di dati
qui e ispezionerò i risultati
del lavoro che ho eseguito localmente da allora
quello è già fatto e stiamo andando
per ispezionare i risultati usando uno strumento
chiamato tensore
e quindi ricorda questa recensione a questo
punto che abbiamo iniziato con i dati grezzi
abbiamo fatto qualche esplorazione di questo
dati abbiamo poi scritto il nostro codice tensorflow
per definire come interpretare lo specifico
colonne di quei dati e anche di che tipo
dell’algoritmo che volevamo usare per
allenamento quindi in questo caso ne abbiamo usato un due
strato di rete neurale e ora vogliamo
indagare i risultati di tale formazione
ha effettivamente imparato qualcosa è
facendo qualcosa di utile quindi qui sto andando
clicca sul diagramma della mia perdita qui e io sono
espanderò questo e fondamentalmente cosa
stai cercando qui è questo il
linea va verso il basso e verso destra che
significa che sta imparando qualcosa nel tempo
e puoi vedere qui il mio passo di formazione
qui così ho i miei 3.000 passaggi di formazione
e poi sto facendo un passo di valutazione
alla fine di esso
quindi, solo per fare un controllo mentale qui
passo di valutazione alla fine sta dicendo a
perdita di sei punti quattro volte dieci aumento
a sette che potrebbe sembrare molto ma
questo è in realtà un errore quadrato che è
come questi è come questo è misurato così
se faccio solo un po ‘di matematica veloce, così sono
farò la radice quadrata di sei punti
quattro sei seguiti da o facciamolo
sei per sei e poi uno due tre quattro
cinque zeri quindi è lo stesso
numero e così arriva a circa 8.000
quindi se rimetto questo nel mio
problema originale che significa che è
prevedendo il prezzo di vendita di una casa
con un errore medio di circa otto
migliaia di dollari che è carino
bene forse potrebbe essere migliore ma per
qualcuno di voi che abbia mai venduto una casa o
comprato una casa se potessi sapere in anticipo
di tempo entro mille dollari cosa
avrebbe venduto per te sarebbe carino
felice con quello
quindi ho ispezionato i miei risultati che sono ora
felice con esso e
Ora sto per distribuire il mio modello
in realtà per la predizione così da fare
che c’è un altro comando g-cloud
qui e sto solo indicando di nuovo il
al file di modello che è stato creato e
ciò che sta facendo ora sta spingendo
il mio modello modello di file centrale nel cloud
e sta facendo girare un’infrastruttura
di restituirlo effettivamente e questo è tutto
semplicemente uccidendo le infrastrutture, quindi diciamo
oggi che ti faccio solo sapere, diciamo
Ho appena lanciato questa API e io no
ho ancora qualche utente così sto solo ricevendo
forse dieci richieste al giorno, allora è
avrò la minima VM per appoggiarlo
ma all’improvviso se quell’API va
virale e sto ricevendo migliaia di
richieste al secondo quindi questo servizio
girerà solo più macchine virtuali nel
sfondo per gestire tali richieste così
è una nuvola nativa completamente automatica
servizio di ridimensionamento in tal senso e posso
guarda qui se vado nella sezione dei miei modelli
e quindi fare clic sui prezzi delle case che è
creando quel modello e questo richiederà
quasi probabilmente altri 15 secondi
perché stanno solo facendo girare quella VM
per appoggiarlo e poi una volta che ho finito lo sono
Verificherò davvero così andrò
scrivi un paio di nuovi record qui
per una previsione quindi ho tutto il mio
caratteristiche predittive qui il tasso di criminalità
l’età della casa
rapporto studente-insegnante in quello
area e scriverò quelli a
File e poi sono passata solo andando che
file al servizio e poi qui ottengo
le mie previsioni attuali tornano così 24
mille dollari e settantamila
dollari rispettivamente e tenere a mente
questo set di dati è del 1978, quindi quelli
quei prezzi delle case sono effettivamente negli Stati Uniti
i dollari sono passati al controllo di sanità mentale
quindi, solo per rivedere ciò che abbiamo trattato qui
è come utilizzare i flussi tensoriali di alto livello
stimatore a
pi come distribuirlo per distribuito
formazione sul cloud come valutare
quei risultati usando lo strumento chiamato
tensore e poi come implementarlo
modello risultante per il cloud online
previsione e voglio anche sottolineare
alcune cose importanti che non abbiamo fatto
coprire così in questo caso stavamo usando un
set di dati che si adattano alla memoria e se tu
volevo utilizzare un set di dati che fosse più grande
di memoria o una quotazione di dati di grande importanza
imposta ci sono altre cose che vorresti
dobbiamo prendere in considerazione che non abbiamo fatto
qualsiasi vera funzionalità di ingegneria abbiamo solo
passato le nostre funzionalità CSV come in
facendo trasformazioni perché in questo
caso non è stato necessario, ma nella maggior parte dei casi
ne avrai bisogno e infine noi
non ha fatto alcun parametro iper automatico
messa a punto che in un dato reale rileva i dati
ambiente scientifico normalmente
fallo se vuoi imparare come
fare quelle cose l’ultima cosa che io
si collegherà qui c’è un grande
corso su Coursera che pubblichiamo
recentemente che copre come fare tutti quelli
cose
è un corso di una settimana che passa attraverso a
studio del caso di prevedere i prezzi dei taxi
a New York City e farà un po ‘di
anche un livello più profondo di quello che abbiamo fatto oggi
quindi si scusa per aver perso il
connessione a Internet e non rendermi conto di me
l’ho perso per un paio di minuti, ma
grazie per aver portato con me e ho
tecnicamente 50 secondi per domande ma
sai se ne abbiamo qualcuno di cui essere felice
prendili e ce n’è uno qui
quando si raccolgono più dati continuamente
come usi questi dati?
riadatta automaticamente il modello che è
la domanda si, quindi va bene
domanda e questa è una domanda
molto rilevante per alcuni tipi di
problemi come i motori di raccomandazione
dove stai ricevendo nuove informazioni
riguardo il tuo ambiente e tu vuoi
riqualificare su base giornaliera forse anche un
ogni ora ci sono altri tipi di
problemi dove ciò che sai del
il mondo non cambia per forse sei
mesi o anni alla volta, così non lo fai
devi preoccuparti che la risposta sia
devi solo avere un’orchestrazione
piano in atto quindi è necessario avere un po ‘
tipo di sistema di messaggistica che ti avvisa
quando ci sono nuovi dati per tornare ad allenarsi
su e poi quello dà il via a un nuovo
lavoro di formazione e quando ti alleni
il lavoro è avviato la tua seconda decisione
punto è come combinare i risultati di
quel nuovo lavoro di formazione con il mio vecchio
lavoro di formazione quindi potrei semplicemente rimpiazzarlo
è il vecchio modello completamente con il mio nuovo
la formazione di dati o forse voglio fare un
finestra scorrevole dove prendiamo il
esempio dove mi sto allenando su un quotidiano
base voglio prendere i dati di oggi e
combinalo con uno scivolamento dell’ultimo
dati di sette giorni su cui mi sono allenato su o
forse quello che voglio fare è solo un
incumbent rispetto allo scenario Challenger
dove prendo i dati di oggi che ho formato
su valutare il modello contro il mio successo
metrica e vedere se fa meglio o
peggio del mio modello incumbent e se lo è
fa meglio lo promuovo alla produzione
o se non fa meglio rimango con
il modello incumbent quindi c’è un paio
diversi modi in cui si possono fare che
stiamo lavorando su alcuni servizi gestiti
uscendo per fare quell’orchestrazione
pezzo ancora più facile adesso devi farlo
farlo un po ‘ più frammentario ma è così
fondamentalmente è molto simile al problema
al tipo di integrazione continua
strumenti di implementazione continua continua in
il settore dell’apprendimento non automatico va bene
fuori dal tempo e vi ringrazio molto
parlando grazie
tu
Please follow and like us: