Top Banner
Bayesian Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo, 2019
60

Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

May 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Bayesian Optimization of Gaussian Processes applied to Performance Tuning

Ramki Ramakrishna @ysr1729 #TwitterVMTeam

QCon Sao Paulo, 2019

Page 2: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

A JVM Engineer talks to a Data Scientist

!2

Page 3: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Many Hundreds of

Services

Page 4: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Several Tens of Thousands of

Physical Servers

Page 5: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Several Millions of

CPU Cores

Page 6: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Several Hundreds of Thousands of Twitter

JVMs

Page 7: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

A Few Hundred Tunable JVM Parameters

Page 8: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 9: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 10: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 11: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 12: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Mining for Gold• 1930’s South Africa

• Prospecting for gold and other minerals

• Daniel Krige, 1951: “Kriging” in geostatistics

• Jonas Mockus 70’s

• Jones et al. 80’s

• Rasmussen & Williams 90’s : Gaussian Processes

!12

Page 13: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Applications• design of expensive experiments

• optimal designs

• optimization of engineered materials

• hyperparameter tuning (architectural parameters) of neural networks

!13

Page 14: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Engineering as Optimization

• linear or non-linear objective function

• finite convex or non-convex space, rectangular, linear (affine) or non-linear constraints

• black box objective function

• black box constraints

• noisy objective function

• noisy constraints

!14

Page 15: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Black Box Modeling

• Model the unknown objective function

• Model the unknown constraints

• Model is a “surrogate”

• Evaluations are expensive

!15

Page 16: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Models and Model Parameters

• Parametric models

• Non-parametric models

!16

Page 17: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Probabilistic Models

• A measure of our uncertainty

• A measure of measurement/observation noise

!17

Page 18: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

• : mean function

• : covariance function

!18

GP(μ, κ)

μ(x)κ(x, x′�)

Page 19: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process• Two different views

• a vector of possibly uncountably many Gaussian variables with given mean and a joint covariate distribution

• a Gaussian distribution over functions

!19

Page 20: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

!20

Page 21: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

!21

Page 22: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

!22

Page 23: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

!23

Page 24: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

!24

Page 25: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

!25

Page 26: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

!26

Page 27: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Gaussian Process

!27

Page 28: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

!28

μn(x) = κT(K + σ2noiseI)−1Y

κn(x, x′�) = κ(x, x′�) − κT(K + σ2noiseI)−1κ′�

GPn

Page 29: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Covariance Kernel Function

• Squared exponentials (SE)

• “n/2" Matern kernels

!29

Page 30: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Covariance Kernel Functions

!30

Page 31: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Covariance Kernel Functions

!31

Page 32: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Acquisition Function

!32

GPprior + Datan →Bayes GPn →? xn+1

Page 33: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Acquisition Function

!33

GPprior + Datan+1 →Bayes GPn+1 →? xn+2

Page 34: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Acquisition Functions

• Thompson Sampling from the posterior GP (TS)

• Probability of Improvement (PI)

• Upper Confidence Bound (UCB)

• Expected Improvement (EI)

!34

Page 35: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Thompson Sampling

!35

Page 36: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Probability of Improvement

!36

Page 37: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Upper Confidence Bound

!37

Page 38: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Expected Improvement

!38

Page 39: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Acquisition Function• Thompson Sampling from the posterior GP

(TS)

• Probability of Improvement (PI)

• Upper Confidence Bound (UCB)

• Expected Improvement (EI)

!39

Page 40: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Maximizing the Acquisition Function

• piecewise infinitely smooth

• gradient-based techniques work

• modified Monte-Carlo techniques are typically used

!40

Page 41: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Optimizing Performance ParametersmyExpt = Optimizer.declareDevice(Parm1: {Int, Min1, Max1}, Parm2: {Real, Min2, Max2}, Parm3: {Enum, enum1, enum2, enum3} …)

myExpt.setSLA(…) // set performance SLAmyExpt.setTerminationCriteria(…) // set termination criteria while (!myExpt.shouldTerminate()) { parmSuggestion = myExpt.suggest() // get another test suggestion newRun = myDevice.test(parmSuggestion) // test device at given setting if (myExpt.isValid(newRun)) { // is SLA met? myExpt.update(parmSuggestion, newRun) // update w/new result }}

return myExpt.bestConfig()

Page 42: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

Bayesian OptimizationmyExpt = Optimizer.declareDevice(Parm1: {Int, Min1, Max1}, Parm2: {Real, Min2, Max2}, Parm3: {Enum, enum1, enum2, enum3} …)

myExpt.setSLA(…) // set performance SLAmyExpt.setTerminationCriteria(…) // set termination criteria while (!myExpt.shouldTerminate()) { parmSuggestion = myExpt.suggest() // get another test suggestion newRun = myDevice.test(parmSuggestion) // test device at given setting if (myExpt.isValid(newRun)) { // is SLA met? myExpt.update(parmSuggestion, newRun) // update w/new result }}

return myExpt.bestConfig()

Page 43: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

ConstraintsmyExpt = Optimizer.declareDevice(Parm1: {Int, Min1, Max1}, Parm2: {Real, Min2, Max2}, Parm3: {Enum, enum1, enum2, enum3} …)

myExpt.setSLA(…) // set performance SLAmyExpt.setTerminationCriteria(…) // set termination criteria while (!myExpt.shouldTerminate()) { parmSuggestion = myExpt.suggest() // get another test suggestion newRun = myDevice.test(parmSuggestion) // test device at given setting if (myExpt.isValid(newRun)) { // is SLA met? myExpt.update(parmSuggestion, newRun) // update w/new result }}

return myExpt.bestConfig()

Page 44: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

AUTOTUNE AS A SERVICE

Page 45: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 46: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 47: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 48: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 49: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 50: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 51: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 52: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 53: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 54: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 55: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 56: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 57: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,
Page 58: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

GizmoDuck & Garbage Collection Overhead via Tuning JVM Parameters

Page 59: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,

TweetyPie & CPU Utilization via Tuning Graal JIT Parameters

Page 60: Bayesian Optimization of Gaussian Processes applied to ... Optimization of Gaussian Processes applied to Performance Tuning Ramki Ramakrishna @ysr1729 #TwitterVMTeam QCon Sao Paulo,