Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

85
Machine Intelligence at Google Scale ML APIs, TensorFlow and Cloud ML

Transcript of Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Page 1: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Machine Intelligence at Google Scale

ML APIs, TensorFlow and Cloud ML

Page 2: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

+Kazunori Sato @kazunori_279

Kaz Sato

Staff Developer Advocate

Tech Lead for Data & Analytics

Cloud Platform, Google Inc.

Page 3: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

What we’ll cover

What is Neural Network and Deep Learning

Machine Learning use cases at Google services

Externalizing the power with ML APIs

TensorFlow: the open source library for ML

TensorFlow in the Wild

Distributed training and prediction with Cloud ML

Page 4: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

What is Neural Network

and Deep Learning

Page 5: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Neural Network is a function that can learn

Page 6: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

xn

> b?

w1

wn

x2

x1

Inspired by the behavior of biological neurons

Page 7: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

How do you classify them?

Page 8: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

weights

bias (threshold)

Programmers need to specify the parameters

Page 9: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Let’s see how neural network solves the problem

Page 10: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

The computer tries to find the best parameters

A neuron classifies a data point into two kinds

Page 11: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Gradient Descent: adjusting the params gradually to reduce errors

Page 12: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

How do you classify them?

Page 13: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

What we see What the computer “sees”

Page 14: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

28 x 28 gray scale image =

784 numbers

Page 15: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

input vector (pixel data)

output vector (probability)

Page 16: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

How do you classify them?

Page 17: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

More neurons = More features to extract

Page 18: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Hidden Layers:

mapping inputs to

a feature space,

classifying with

a hyperplane From: Neural Networks, Manifolds, and Topology, colah's blog

Page 19: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

From: Neural Networks, Manifolds, and Topology, colah's blog

Page 20: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

How about this?

Page 21: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

More hidden layers = More hierarchies of features

Page 22: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

How about this?

Page 24: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

From: mNeuron: A Matlab Plugin to Visualize Neurons from Deep Models, Donglai Wei et. al.

Page 25: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

How CNN works

Page 26: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Machine Learning use cases

at Google services

Page 27: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

27

signal for Search ranking,

out of hundreds

improvement to ranking quality

in 2+ years

#3 #1

Search

machine learning for search engines

RankBrain: a deep neural network for search ranking

Page 28: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate
Page 29: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

WaveNet by

DeepMind

Page 30: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

30

[glacier]

Google Photos

30

Page 31: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

31

Smart reply in Inbox by Gmail

10% of all responses sent on mobile

Page 32: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Google Translate with Neural Machine Translation

Page 33: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Saved Data Center cooling energy for 40% Improved Power Usage Effectiveness (PUE) for 15%

Page 34: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

34

Android

Apps

Gmail

Maps

Photos

Speech

Search

Translation

YouTube

and many others ...

Used across products:

2012 2013 2014 2015

Deep Learning usage at Google

Page 35: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Externalizing the power

with ML APIs

Page 36: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TensorFlow Cloud Machine Learning ML API

Easy-to-Use, for non-ML engineers

Customizable, for Data Scientists

Machine Learning products from Google

Page 37: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Image analysis with pre-trained models

No Machine Learning skill required

REST API: receives an image and returns a JSON

$1.50 per 1,000 units

GA - cloud.google.com/vision

Cloud Vision API

Page 38: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Confidential & Proprietary Google Cloud Platform 38

Faces Faces, facial landmarks, emotions

OCR Read and extract text, with support for > 10 languages

Label Detect entities from furniture to transportation

Logos Identify product logos

Landmarks & Image Properties Detect landmarks & dominant color of image

Safe Search Detect explicit content - adult, violent, medical and spoof

Page 39: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

39 39

Demo

Page 40: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Pre-trained models. No ML skill required

REST API: receives audio and returns texts

Supports 80+ languages

Streaming or non-streaming

Public Beta - cloud.google.com/speech

Cloud Speech API

Page 41: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Confidential & Proprietary Google Cloud Platform 41

Features

Automatic Speech Recognition

(ASR) powered by deep learning

neural networking to power your

applications like voice search or

speech transcription.

Recognizes over 80

languages and variants

with an extensive

vocabulary.

Returns partial

recognition results

immediately, as they

become available.

Filter inappropriate

content in text results.

Audio input can be captured by an application’s

microphone or sent from a pre-recorded audio

file. Multiple audio file formats are supported,

including FLAC, AMR, PCMU and linear-16.

Handles noisy audio from many

environments without requiring

additional noise cancellation.

Audio files can be uploaded in the

request and, in future releases,

integrated with Google Cloud

Storage.

Automatic Speech Recognition Global Vocabulary Inappropriate Content Filtering

Streaming Recognition

Real-time or Buffered Audio Support Noisy Audio Handling Integrated API

Page 42: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

42 42

Demo

Page 43: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Pre-trained models. No ML skill required

REST API: receives text and returns analysis results

Supports English, Spanish and Japanese

GA - cloud.google.com/natural-language

Cloud Natural Language API

Page 44: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Confidential & Proprietary Google Cloud Platform 44

Features

Extract sentence, identify parts of

speech and create dependency parse

trees for each sentence.

Identify entities and label by types such

as person, organization, location, events,

products and media.

Understand the overall sentiment of a

block of text.

Syntax Analysis Entity Recognition

Sentiment Analysis

Page 45: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

45 45

Demo

Page 46: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Pre-trained models. No ML skill required

REST API: receives text and returns translated text

8 languages: English to Chinese, French, German,

Japanese, Korean, Portuguese, Spanish, Turkish

Public Beta - cloud.google.com/translate

Cloud Translation API Premium

Page 47: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

47 47

Demo

Page 48: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TensorFlow:

An open source library for

Machine Intelligence

Page 49: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Google's open source library for

machine intelligence

tensorflow.org launched in Nov 2015

Used by many production ML projects

What is TensorFlow?

Page 50: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

50

Sharing our tools with researchers and developers around the world

repository for “machine learning”

category on GitHub

#1

Released in Nov.

2015

From: http://deliprao.com/archives/168

Page 51: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

51

Before

Hire Data Scientists ↓

Understand the math model ↓

Impl with programming code ↓

Train with single GPU ↓

Build a GPU cluster ↓

Train with the GPU cluster ↓

Build a prediction server or Impl mobile/IoT prediction

After

Easy network design and impl

Train with single machine

Train on the cloud

Prediction on the cloud

or mobile/IoT devices

many people stuck here

Page 52: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

# define the network import tensorflow as tf x = tf.placeholder(tf.float32, [None, 784]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) y = tf.nn.softmax(tf.matmul(x, W) + b) # define a training step y_ = tf.placeholder(tf.float32, [None, 10]) xent = -tf.reduce_sum(y_*tf.log(y)) step = tf.train.GradientDescentOptimizer(0.01).minimize(xent)

Page 53: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TensorBoard: visualization tool

Page 54: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Portable and Scalable

Training on:

Mac/Windows

GPU server

GPU cluster / Cloud

Prediction on:

Android and iOS

RasPi and TPU

Page 55: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Distributed Training with TensorFlow

Page 56: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TensorFlow in the Wild (or democratization of deep learning)

Page 57: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate
Page 59: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TensorFlow powered Cucumber Sorter

Page 61: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TV popstar face

generator with DCGAN

From: http://memo.sugyan.com/entry/2016/10/12/084751

Page 62: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TensorFlow +

Drones

for counting trucks

From: http://www.brainpad.co.jp/news/2016/09/02/3454

Page 63: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TensorFlow+

RasPi for

sorting garbages

From: https://techcrunch.com/2016/09/13/auto-trash-sorts-garbage-automatically-at-the-techcrunch-disrupt-hackathon/

Page 65: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

From: http://otoro.net/

Generative Arts with TensorFlow

Page 66: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Distributed Training and

Prediction with Cloud ML

Page 68: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

The Challenge: Computing Power

DNN requires large training datasets

Large models doesn't fit into a GPU

Requires try-and-errors to find the best design, configs and params

Need to spend a few days or weeks to finish a training

Page 69: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

GPUs run at nanoseconds GPU cluster needs microsec network

Page 70: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate
Page 71: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Enterprise

Google Cloud is

The Datacenter as a Computer

Page 72: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Jupiter network

10 GbE x 100 K = 1 Pbps

Consolidates servers with

microsec latency

Page 73: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Borg

No VMs, pure containers

10K - 20K nodes per Cell

DC-scale job scheduling

CPUs, mem, disks and IO

Page 74: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Distributed Training

with TensorFlow

by data parallelism

split data,

share model

Page 75: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

CPU/GPU scheduling

Communications

Local, RPC, RDMA

32/16/8 bit quantization

Cost-based optimization

Fault tolerance

Distributed Systems for Large Neural Network

Page 76: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Distributed Training with TensorFlow

on Google Cloud

"Large Scale Distributed Systems for Training Neural

Networks", NIPS 2015

Inception / ImageNet: 40x with 50 GPUs

RankBrain: 300x with 500 nodes

Page 77: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Fully managed distributed training and prediction

Supports custom TensorFlow graphs

HyperTune for hyper-parameter tuning automation

Integrated with Cloud Dataflow and Cloud Datalab

Public Beta - cloud.google.com/ml

Cloud Machine Learning (Cloud ML)

Page 78: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Cloud ML at Work: AUCNET

The largest real-time car auction service in Japan

For 30K used car dealers

The auction volume overs $3.7B every year

Problem: auction entry is time consuming task for dealers

Classifying parts of car for thousands of photos

Identifying the exact car model

Page 79: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Solution: Custom Image Classification with TensorFlow/Cloud ML

Used 5,000 training images for 500 car models

Inception v3 + Transfer Learning

Cloud ML: increased training performance for 6x faster

Page 80: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Predicting "large loss" cases in car insurance

Old method (Random Forest): 38% accuracy

New method (TensorFlow): 73% accuracy

A Global Insurance Firm

Page 81: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

81 81

Demo

Page 82: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

82 82

Ready to use Machine Learning models

Use your own data to train models

Cloud Vision API

Cloud Speech API

Cloud Translation API

Cloud Machine Learning

Develop - Model - Test

Google BigQuery

Cloud Storage

Cloud Datalab

Beta

GA Beta GA

Beta GA

GA GA

Cloud Natural Language API

Page 83: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Tensor Processing Unit

ASIC for TensorFlow

Designed by Google

10x better perf / watt

latency and efficiency

bit quantization

Page 84: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

TPU on Production

RankBrain

AlphaGo

Google Photos

Speech

and more

Page 85: Track2 02. machine intelligence at google scale google, kaz sato, staff developer advocate

Thank you!