DATA ANALYTICS USING DEEP LEARNING GT 8803 // FALL 2018 // JENNIFER - - PowerPoint PPT Presentation

data analytics using deep learning
SMART_READER_LITE
LIVE PREVIEW

DATA ANALYTICS USING DEEP LEARNING GT 8803 // FALL 2018 // JENNIFER - - PowerPoint PPT Presentation

DATA ANALYTICS USING DEEP LEARNING GT 8803 // FALL 2018 // JENNIFER MA L E C T U R E # 1 4 : L I V E V I D E O A N A L Y T I C S A T S C A L E W I T H A P P R O X I M A T I O N A N D D E L A Y - T O L E R A N C E TODAYS PAPER Live


slide-1
SLIDE 1

DATA ANALYTICS USING DEEP LEARNING

GT 8803 // FALL 2018 // JENNIFER MA

L E C T U R E # 1 4 : L I V E V I D E O A N A L Y T I C S A T S C A L E W I T H A P P R O X I M A T I O N A N D D E L A Y - T O L E R A N C E

slide-2
SLIDE 2

GT 8803 // Fall 2018

TODAY’S PAPER

  • Live Video Analytics at Scale with

Approximation and Delay-Tolerance

2

slide-3
SLIDE 3

GT 8803 // Fall 2018

TODAY’S AGENDA

  • Problem Overview
  • Key Ideas
  • Technical Details
  • Experiments
  • Discussion

3

slide-4
SLIDE 4

GT 8803 // Fall 2018

PROBLEM OVERVIEW

  • Querying camera recordings
  • Traffic intersections, retail stores, offices, etc.
  • Slow and costly

4

slide-5
SLIDE 5

GT 8803 // Fall 2018

PROBLEM OVERVIEW

  • Use cases?

5

slide-6
SLIDE 6

GT 8803 // Fall 2018

PROBLEM OVERVIEW

  • Use cases?

Catching criminals

  • Shoplifting
  • Trafficking

Sending ambulances

  • Car accidents
  • Free routes

Traffic control Amber alerts

6

slide-7
SLIDE 7

GT 8803 // Fall 2018

PROBLEM OVERVIEW

  • 2 main problems with querying videos

7

slide-8
SLIDE 8

GT 8803 // Fall 2018

PROBLEM OVERVIEW

  • 2 main problems with querying videos

Slow Costly

8

slide-9
SLIDE 9

GT 8803 // Fall 2018

PROBLEM OVERVIEW

  • Querying a month-long video would requires 280 GPU

hours and $250

  • To run the query in 1 minute requires 10000s of GPUs
  • Traffic jurisdictions and retails may only have 10s or

100s

  • VOT Challenge 2015 – 1 fps

9

slide-10
SLIDE 10

GT 8803 // Fall 2018

PROBLEM OVERVIEW

  • Goal: Optimize thousands of queries operating in

clusters

10

slide-11
SLIDE 11

GT 8803 // Fall 2018

KEY IDEAS

  • 2 key characteristics of video analytics

Resource-quality tradeoff with multidimensional configurations Variety in quality and lag goals

11

slide-12
SLIDE 12

GT 8803 // Fall 2018

KEY IDEAS

  • Resource-quality trade-off with multi-dimensional

configurations

12

slide-13
SLIDE 13

GT 8803 // Fall 2018

KEY IDEAS

  • Resource-quality trade-off with multi-dimensional

configurations

Estimated amount of resources needed Quality: accuracy of output Configuration: a combination of parameters for an algorithm Multi-dimensional – how configurations have multiple parameters

13

slide-14
SLIDE 14

GT 8803 // Fall 2018

KEY IDEAS

  • Example parameters:
  • Video resolution
  • Frame rate
  • Size of the sliding window

14

slide-15
SLIDE 15

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

15

slide-16
SLIDE 16

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

Some outputs don’t need to be 100% accurate, such as counts of cars Some outputs can wait

16

slide-17
SLIDE 17

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

Some outputs don’t need to be 100% accurate, such as counts of cars Some outputs can wait

  • Traffic tickets where the billing can be delayed

17

slide-18
SLIDE 18

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

Some outputs don’t need to be 100% accurate, such as counts of cars Some outputs can wait

  • Traffic tickets where the billing can be delayed

Queries that need a fast result?

18

slide-19
SLIDE 19

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

Some outputs don’t need to be 100% accurate, such as counts of cars Some outputs can wait

  • Traffic tickets where the billing can be delayed

Queries that need a fast result?

  • Amber alerts

19

slide-20
SLIDE 20

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

Some outputs don’t need to be 100% accurate, such as counts of cars Some outputs can wait

  • Traffic tickets where the billing can be delayed

Queries that need a fast result?

  • Amber alerts

Outputs that need to have high accuracy?

20

slide-21
SLIDE 21

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

Some outputs don’t need to be 100% accurate, such as counts of cars Some outputs can wait

  • Traffic tickets where the billing can be delayed

Queries that need a fast result?

  • Amber alerts

Outputs that need to have high accuracy?

  • Amber alerts

21

slide-22
SLIDE 22

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

Some outputs don’t need to be 100% accurate, such as counts of cars Some outputs can wait

  • Traffic tickets where the billing can be delayed

Queries that need a fast result?

  • Amber alerts

Outputs that need to have high accuracy?

  • Amber alerts

Low accuracy?

22

slide-23
SLIDE 23

GT 8803 // Fall 2018

KEY IDEAS

  • Variety in quality and lag goals

Some outputs don’t need to be 100% accurate, such as counts of cars Some outputs can wait

  • Traffic tickets where the billing can be delayed

Queries that need a fast result?

  • Amber alerts

Outputs that need to have high accuracy?

  • Amber alerts

Low accuracy?

  • Counting cars

23

slide-24
SLIDE 24

GT 8803 // Fall 2018

KEY IDEAS

  • How do systems for stream processing allocate resources?

24

slide-25
SLIDE 25

GT 8803 // Fall 2018

KEY IDEAS

  • How do systems for stream processing allocate resources?

Resource fairness

25

slide-26
SLIDE 26

GT 8803 // Fall 2018

KEY IDEAS

  • How do systems for stream processing allocate resources?

Resource fairness

  • VideoStorm, their system, takes into account the resource

demand, the quality needed, and the lag tolerance. Lag is the amount of time that a frame has been waiting to be processed.

26

slide-27
SLIDE 27

GT 8803 // Fall 2018

KEY IDEAS

  • Challenges?

27

slide-28
SLIDE 28

GT 8803 // Fall 2018

KEY IDEAS

  • Challenges?

Hard to analyze what resources and the quality of the output needed for a query Hard to pick configurations because there are many knobs Trading off between lag and quality goals is tricky Resource allocation across all queries each having many configurations is computationally intractable

28

slide-29
SLIDE 29

GT 8803 // Fall 2018

KEY IDEAS

  • Solution

Offline phase:

  • Analyze resource demand and quality needed of each query for different

configurations

  • Pick the ones on the pareto boundary

Online phase:

  • Scheduler reallocates resources, reselects configurations, and considers

migrating queries to different machines

  • Based on resource-quality profiles and changes in resource capacity

29

slide-30
SLIDE 30

GT 8803 // Fall 2018

TECHNICAL DETAILS

Video queries specification:

  • Queries are submitted to VideoStorm as sequences of

transforms.

  • A transform (task) could have multiple inputs and outputs

30

slide-31
SLIDE 31

GT 8803 // Fall 2018

Resource Allocation

Have a selection of configurations Pick configs for queries for overall better quality Put queries on lag if some queries with low lag-tolerance need resources

31

slide-32
SLIDE 32

GT 8803 // Fall 2018

Real-world video queries

  • Examples

32

slide-33
SLIDE 33

GT 8803 // Fall 2018

Real-world video queries

  • Examples

License plate reader Car counter Deep neural network classifier for object detection and classification Object tracker

33

slide-34
SLIDE 34

GT 8803 // Fall 2018

TECHNICAL DETAILS

Parameters that affect CPU demand and quality for most video queries

34

slide-35
SLIDE 35

GT 8803 // Fall 2018

TECHNICAL DETAILS

Parameters that affect CPU demand and quality for most video queries

  • Image resolution
  • Frame sampling rate

35

slide-36
SLIDE 36

GT 8803 // Fall 2018

TECHNICAL DETAILS

How do these affect License plate reader queries?

36

slide-37
SLIDE 37

GT 8803 // Fall 2018

TECHNICAL DETAILS

How do these affect License plate reader queries?

  • Lower resolution and lower sampling rate lead to dramatically less

resource demand

  • Missed or incorrectly read plates

37

slide-38
SLIDE 38

GT 8803 // Fall 2018

TECHNICAL DETAILS

How do they affect a car counter?

38

slide-39
SLIDE 39

GT 8803 // Fall 2018

TECHNICAL DETAILS

How do they affect a car counter?

  • Good quality still

39

slide-40
SLIDE 40

GT 8803 // Fall 2018

TECHNICAL DETAILS

Profile estimation

  • Profile: estimated resources needed and desired accuracy of output
  • For a configuration of parameters, for one query

40

slide-41
SLIDE 41

GT 8803 // Fall 2018

Profile Estimation

Overview

  • Pareto boundary
  • Compute a value for each profile

41

slide-42
SLIDE 42

GT 8803 // Fall 2018

Profile Estimation

Choosing configurations by greedy exploration

  • High quality and low demand
  • Hill climbing

42

slide-43
SLIDE 43

GT 8803 // Fall 2018

TECHNICAL DETAILS

Resource management:

  • Allocation – of resources for each query
  • Placement – of new and old queries

43

slide-44
SLIDE 44

GT 8803 // Fall 2018

TECHNICAL DETAILS

Utility function for a configuration

  • Quality and lag predicted
  • Utility is used to help select a configuration for a query

44

slide-45
SLIDE 45

GT 8803 // Fall 2018

TECHNICAL DETAILS

Utility function:

45

Baseline + bonus - penalty

slide-46
SLIDE 46

GT 8803 // Fall 2018

TECHNICAL DETAILS

Optimization objectives

  • Public cloud – maximize revenue -> maximize sum of utilities
  • Shared private cluster – want fairness -> maximize min utility

46

slide-47
SLIDE 47

GT 8803 // Fall 2018

TECHNICAL DETAILS

Resource allocation

  • Optimize for near future
  • Greedy approach

47

slide-48
SLIDE 48

GT 8803 // Fall 2018

TECHNICAL DETAILS

Query placement Place new queries based on 3 goals

  • Maximizing utility in the cluster
  • Load balancing
  • Lag spreading

48

slide-49
SLIDE 49

GT 8803 // Fall 2018

Evaluation

Profiles are ‘nearly’ correct Setup

  • 4 types of queries

Baseline

  • Fair scheduler

Metrics

  • Quality
  • % frames exceeding lag goal
  • Utility

49

slide-50
SLIDE 50

GT 8803 // Fall 2018

Evaluation

Performance

  • 300 queries of 4 types
  • Lag of 20s or 300s
  • Quality goal of 0.25
  • 300 ‘distinct’ video datasets

50

slide-51
SLIDE 51

GT 8803 // Fall 2018

Evaluation

Quality of fair scheduler(FS) is 0.2 lower to begin with Lowers to only 0.5 during a burst (200 license plate queries arrive) Quality for VideoStorm(VS) stays high at 90% Lag for FS keeps growing, VS stays low

51

slide-52
SLIDE 52

GT 8803 // Fall 2018

Evaluation

Burst in the middle More CPU’s were allocated to queries with higher quality and short lag goal On the bottom, VS let lag accumulate only for queries with high tolerance

52

slide-53
SLIDE 53

GT 8803 // Fall 2018

Evaluation

Can prioritize queries Using alpha

  • Higher alpha means higher priority

In the graph, quality and lag is better for higher priority queries

53

slide-54
SLIDE 54

GT 8803 // Fall 2018

Strengths

54

Used real VA queries, real traffic cameras, several cities Significant improvements: 80% increase in quality. 7x less lag Picks the knobs for the user Prioritizes queries Techniques are applicable to other stream analytics systems Gives bonus if a config has higher quality than the min, and punishes lag that is more than the max

slide-55
SLIDE 55

GT 8803 // Fall 2018

Weaknesses

55

Did not say if they add up the lag for each time step until T , or just at T. Did not talk about the approximation guarantees for the greedy algorithms Did not talk much about when profiles are wrong. Would have to tweak it to work with queries other than the 4 types

slide-56
SLIDE 56

GT 8803 // Fall 2018

Discussion

56

Could it be combined into the ingestion part in Focus? Using machine learning to choose parameters Using machine learning to predict spikes, instead of the primitive formula for lag, so as to allocate more intelligently