rob laber, lead cv engineer hristo bojinov, cto...cloud instance selection for your gpu fleet...

71
Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV Engineer

Upload: others

Post on 25-Mar-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Cloud Instance Selection for Your GPU FleetLessons from Developing Smart Kitchen Technology

Hristo Bojinov, CTORob Laber, Lead CV Engineer

Page 2: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Motivation

Page 3: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Motivation

Page 4: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Motivation

Page 5: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV
Page 6: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

The Thesis

Page 7: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

The Problem

Food ↔ People disconnect

Not-so-smart “smart kitchen”

Food info not available, not actionable

Page 8: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

The Vision

Page 9: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

What We Do

Food, personalization, technology

“The Way You Eat”

Icons made by Madebyoliver, Popcorn Arts, Freepik from www.flaticon.com are licensed by CC 3.0 BY

Page 10: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

What We Do

Food, personalization, technology

“The Way You Eat”

(⇒ Computer Vision is essential)

Icons made by Madebyoliver, Popcorn Arts, Freepik from www.flaticon.com are licensed by CC 3.0 BY

Page 11: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Pushing the Envelope on CV

Go from here...

Page 12: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Pushing the Envelope on CV

… to here.

Page 13: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV
Page 14: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Computer Vision at Innit

Helps us understand users

❖ Inventory, behaviors, multi-sensor fusion, market analytics❖ And, build a delightful user experience

Applications in storage and processing

❖ Recognize and act on food state❖ Visible light, depth, IR

Multi-site program (HQ, academia)

Page 15: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Research

Page 16: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Food Recognition Service (AWS)

❖ G2 & G3 instance backend (details coming up)❖ Frontend orchestrates auto and manual processing❖ Service API for 3rd party use

Page 17: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Food Recognition System

Service Layer

Computer Vision

Backend

Offline ProcessingData

StoreWeb

Portal

Page 18: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Food Recognition System

Page 19: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Object Detection Stage

Page 20: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Object Detection Stage

Page 21: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Object Detection Stage

Page 22: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Object Detection Stage

Page 23: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Classification Stage

Page 24: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Classification Stage

Page 25: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Classification Stage

Page 26: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Classification Stage

Controlled scene layout ⇒ precision

In-house data collection and tools

CNN based

Page 27: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Product DB Image Retrieval

Page 28: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

CV Tech: Product DB Image Retrieval

❖ Exact product (or attribute) matching

❖ KAZE descriptors (GPU acceleration WIP, stay tuned)

➢ Current need to balance CPU/GPU

➢ Order-of-magnitude acceleration

❖ Hierarchical analysis in the pipeline

❖ + Precise matching using CNN

Page 29: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Summary: The Challenge

Complex Scenes

❖ Segmentation / object detection required❖ Must handle occlusions, uncertainty❖ Highly variable lighting conditions❖ Product DB not 100% accurate❖ Non-image feeds?

Page 30: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Cloud instances: types, plans, sizes...

Page 31: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

So what is all this?

Service Layer

Computer Vision

Backend

Offline ProcessingData

StoreWeb

Portal

Page 32: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

Offline ProcessingData

StoreWeb

Portal

Page 33: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

Page 34: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

❖ Single responsibility

Page 35: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

❖ Single responsibility

❖ Stateless GPUs

Page 36: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

❖ Single responsibility

❖ Stateless GPUs

Page 37: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

Page 38: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

❖ Non-vision tasks

Page 39: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

❖ Non-vision tasks

❖ Horizontal scaling

Page 40: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

❖ Non-vision tasks

❖ Horizontal scaling

❖ Reserved instances

Page 41: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Page 42: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

WHY?

Page 43: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

Page 44: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

Service Layer

Service Layer

Page 45: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

Service Layer

Service Layer

Cost-effective buffer

Page 46: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

To summarize...

Page 47: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

To summarize...

❖ Reserved instances

Page 48: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

To summarize...

❖ Reserved instances

❖ Optimize hardware usage

Page 49: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Decoupled Service Architecture

Service Layer

Computer Vision

Backend

To summarize...

❖ Reserved instances

❖ Optimize hardware usage

Delegate tasks to save money!

Page 50: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Service Layer

Computer Vision

Backend

Offline ProcessingData

StoreWeb

Portal

Page 51: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Clustering

Page 52: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Big Data

Page 53: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Neural Net Training

Page 54: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Offline ProcessingData

Store

Page 55: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Offline ProcessingData

Store

❖ One-off or periodic

Page 56: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Offline ProcessingData

Store

❖ One-off or periodic

❖ Resource intensive

Page 57: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Offline ProcessingData

Store

❖ One-off or periodic

❖ Resource intensive

❖ Need it now?

Page 58: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Spot Pricing?

Page 59: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Spot Pricing?

❖ Auctioned resources

Page 60: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Spot Pricing?

❖ Auctioned resources

❖ Price changes with resource availability

Page 61: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Spot Pricing?

❖ Auctioned resources

❖ Price changes with resource availability

❖ Interrupted jobs

Page 62: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Offline ProcessingData

Store

❖ One-off or periodic

❖ Resource intensive

❖ Need it now?

Spot pricing saves money!

Page 63: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Isolated Background Jobs

Page 64: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Trade-Offs

Page 65: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Trade-Offs

❖ Cost vs. Performance

Page 66: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Trade-Offs

❖ Cost vs. Performance

❖ Local vs. Cloud

Page 67: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Trade-Offs

❖ Cost vs. Performance

❖ Local vs. Cloud

❖ Cost vs. Complexity

Page 68: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Trade-Offs

❖ Cost vs. Performance

❖ Local vs. Cloud

❖ Cost vs. Complexity

❖ Now vs. Later

Page 69: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Takeaways

❖ Complex workload → use differentiated EC2 instances

❖ Profile GPU-dependent tasks, choose carefully

❖ Consider online / offline loads, spot instances

Page 70: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

Join the party! [email protected]

Page 71: Rob Laber, Lead CV Engineer Hristo Bojinov, CTO...Cloud Instance Selection for Your GPU Fleet Lessons from Developing Smart Kitchen Technology Hristo Bojinov, CTO Rob Laber, Lead CV

About Innit❖ Inform and elevate the interaction between people and food❖ 5+ years in the making, substantial funding, IP & tech❖ Partnerships (appliances, FMCG, culinary)

About the Presenters❖ R&D and Technology at Innit