21
© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 1 © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. Timo Berthold

New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 1

© 2019 Fair Isaac Corporation. Confidential.

This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent.

Timo Berthold

Page 2: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 2

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 2

• Performance variability

• Statistical tests

• Best practices

Page 3: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 3

0,25

0,5

1

2

4

8

16

32

64ra

il50

7n

s12

08

40

0g

mu

-35

-40

sa

telli

tes

1-2

5e

ilB1

01

ran

16

x16

cs

ch

ed

01

0s

p9

8ic

roll3

00

0m

ik-2

50

-1-1

00

-1n

eo

s1

3a

flo

w4

0b

no

sw

ot

ne

wd

an

om

ine

-90

-10

ac

c-t

igh

t5n

eo

s-1

10

98

24

ne

os

-84

97

02

da

no

int

ne

os

-16

01

93

6u

nit

ca

l_7

tim

tab

1b

na

tt3

50

pg

5_3

4iis

-bu

pa

-co

vn

eo

s1

8n

s18

30

65

3b

ley_

xl1

ms

pp

16

n3

seq

24

ma

cro

ph

ag

erm

ine

6m

sc

98

-ip

iis-1

00

-0-c

ov

op

m2

-z7

-s2

bie

ns

t2b

inka

r10

_1c

ov1

07

5d

fn-g

win

-UU

Mle

cts

ch

ed

-4-o

bj

ns1

68

83

47

ns1

76

60

74

pig

eo

n-1

0q

iurm

atr

10

0-p

5n

3d

iv3

6n

eo

s-4

76

28

3m

ap

18

pw

-myc

iel4

roc

II-4

-11

ma

p2

0n

et1

2n

eo

s-9

34

27

8rm

atr

10

0-p

10

ns1

75

89

13

min

e-1

66

-5iis

-pim

a-c

ov

ap

p1

-2n

etd

ive

rsio

nm

cs

ch

ed

ne

os

-13

96

12

5a

sh6

08

gp

ia-3

co

lm

zzv1

1zi

b5

4-U

UE

be

as

leyC

3re

blo

ck6

7b

iella

1e

il33

-2n

eo

s-9

16

79

2ro

co

co

C1

0-0

01

00

0n

4-3

sp

98

irtr

ipti

m1

tan

gle

gra

m2

gla

ss4

co

re2

53

6-6

91

ex9

ne

os

-68

61

90

air

04

ba

b5

ne

os

-13

37

30

7vp

ph

ard

en

ligh

t13

en

ligh

t14

m1

00

n5

00

k4r1

tan

gle

gra

m1

30

n2

0b

8

Single solver version-to-version improvement: appx. 30%. HOWEVER:

• ~40% of the instances got slower (~50% got faster)

• Performance drop by up to a factor of 4 (versus improvements of up to factor 45)

Picture courtesy of Thorsten Koch.

Test set: MIPLIB2010 Benchmark (87 instances)

Page 4: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 4

Page 5: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2018 Fair Isaac Corporation. Confidential. 5

• Performance variability is a change in performance by seemingly performance-neutral changes, like changing the

• Input format

• Essentially, this leads to a permutation of the problem

• Operating system (Does NOT occur with Xpress)

• Different number of threads (can be overcome by control setting in Xpress)

• This occurs even though the underlying software is deterministic

• Reasons are imperfect tie-breaking, numerical round-off differences on different platforms…

• Related: Adding redundant information (E.g., a constraint σ𝑖=1𝑛 𝑥𝑖 ≤ 𝑛, 𝑥𝑖 ∈ {0,1})

Page 6: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2018 Fair Isaac Corporation. Confidential. 6

• Performance variability

• Can indicate improvements where there are none

• Can shadow improvements

• Can lead to wrong conclusions (“on some instances our method was bad, but on some, it was good”)

• Running Xpress with ten different random permutations:

• 118/240 instances have a variability of more than a factor of 2

• For 30, it is more than a factor of 10

• Most extreme case: 0.02 seconds versus timeout

• For large test sets, the effect averages out

• Still 4% difference between „best“ and „worst“ permutation on MIPLIB2017

Page 7: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2018 Fair Isaac Corporation. Confidential. 7

• Performance variability can be utilized to

• Distinguish between structural improvements and random noise

• The more permutations/seeds you run, the clearer the picture for each single instance

• Mimic performance on unknown instances from same application

• Very, VERY often, customers give you one single example

• Performance variability gives you a poor man’s parallelization:

• Fire off X permutations of the problem, stop when the first one solves

• Doesn’t scale very well ;-)

Page 8: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2018 Fair Isaac Corporation. Confidential. 8

• Performance variability for benchmarking is typically induced by

• Permuting the matrix: High variability 😊 but structural performance “loss” 😒

• Also: more cache misses

• Random seeds: Lower variability 😒 but preserves average performance 😊

• New method: Cyclic shifts

• Light-weight permutation that shifts the rows and columns

• Only two „breakpoints“

• High variability 😊 and preserves average performance😊

• Can be combined with random seeds

• As a solver developer, after each release:

• We change the benchmarking permutation seeds

• The offset to the random seed

Page 9: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 9

Page 10: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 10

• To test a hypothesis, we compare it to the null-hypothesis: “There is no such relationship”

• When the null-hypothesis can be rejected with high probability, the result is deemed significant

• Essentially, this expresses the confidence in the result. How safe is it to draw conclusions from the test results?

• “How likely is it that a random draw would have delivered the same (or an even more extreme) result?”

• Typically, p-values less than 5% are considered significant.

• For a normal distribution, 95% are within mean +/- two standard deviations

• There is a huge variety of statistical tests, require different assumptions, e.g., concerning the distribution. In our case typically: distribution-free (non-parametric)

• Distinguish between nominal data (yes/no) and rational data

Page 11: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 11

• Applied to 2x2 contigency table of paired nominal data

• E.g., does the solver find a solution with/without a certain setting (yes/no, yes/no)

• Considers the cases where both differ (the counter diagonal of the table)

• Compute 𝜒2 =𝑏−𝑐 2

𝑏+𝑐

• For random drawed 𝑏, 𝑐, this would follow a chi-squared-distribution.

• Lookup p-value

• Well-suited for categorical data (found a solution yes/no, solved to optimality yes/no)

Page 12: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 12

• Non-parametric difference test for paired rational data

• Sorts observations by absolute value of the logarithm of their ratio

• Assigns ranks from 1 to n

• Split into positive and negative group, compute rank sums

• The more different those sums, the more likely that the setting with the larger sum outperforms the one with the lower sum

• Wilcoxon statistic: 𝑧 =min 𝑊−,𝑊+ −

𝑁(𝑁+1)

4

𝑁(𝑁+1)(2𝑁+1)

24

• Would follow a normal distribution for randomly drawn data

• Well-suited for numerical data (runtime, number of nodes, PDI)

Page 13: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 13

Page 14: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 14

• Choose a suitable test set

• Are there standard test sets in your field?

• Use large test sets

• Use diverse test sets (within your target domain)

• Use „real“ instances if possible, not randomly generated

• Be careful, what to exclude and how to split test sets

• NEVER EVER do „easy“ vs. „hard“ only w.r.t. one „baseline“ setting

• Some measures might only make sense on „all optimal“ or „all timeout“

• Report number of solved instances

• Explain why certain instances had to be excluded and how many were affected

Page 15: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 15

• Choose a suitable test set

• Are there standard test sets in your field?

• Use large test sets

• Use diverse test sets (within your target domain)

• Use „real“ instances if possible, not randomly generated

• Be careful, what to exclude and how to split test sets

• NEVER EVER do „easy“ vs. „hard“ only w.r.t. one „baseline“ setting

• Some measures might only make sense on „all optimal“ or „all timeout“

• Report number of solved instances

• Explain why certain instances had to be excluded and how many were affected

Page 16: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 16

• Report machine specification, software versions and working limits used

• Make fair comparisons

• What is the state-of-the-art?

• Not only software, but also models

• Does the benchmark solver have the same purpose (e.g., heuristics vs exact solvers)

Page 17: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 17

• State the question(s) that you want to answer and the means of doing so

• @Reviewers: This might not be the same question and the same methodology that you would have chosen....

• Run on otherwise idle machines

• Run at most one job per CPU (and bind to CPU)

• Never trust your own results

• Investigate outliers, negative and positive ones

• Use methods like permutations, statistical tests etc to double-check your results

• Use diverse measures

• Also report negative results

Page 18: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 18

Page 19: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 19

• Performance variability describes

a) Large runtime differences caused by seemingly neutral changes

b) A method to tell whether a result is significant

c) A performance measure

• What is NOT a best practice for computational experiments?

a) Use diverse machine setups

b) Use diverse performance measures

c) Run on otherwise idle machines

• When comparing runtimes, the significance should be checked by

a) A McNemar test

b) A Cyclic shift test

c) A Wilcoxon signed rank test

Page 20: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 20

• Performance variability describes

a) Large runtime differences caused by seemingly neutral changes

b) A method to tell whether a result is significant

c) A performance measure

• What is NOT a best practice for computational experiments?

a) Use diverse machine setups

b) Use diverse performance measures

c) Run on otherwise idle machines

• When comparing runtimes, the significance should be checked by

a) A McNemar test

b) A Cyclic shift test

c) A Wilcoxon signed rank test

Page 21: New Timo Berthold - Zuse Institute Berlin · 2020. 9. 7. · © 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced

© 2019 Fair Isaac Corporation. Confidential. This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent. 21

© 2019 Fair Isaac Corporation. Confidential.

This presentation is provided for the recipient only and cannot be reproduced or shared without Fair Isaac Corporation’s express consent.

Timo Berthold