Standardizing Evaluation of Neural Network Pruning Jose Javier - - PowerPoint PPT Presentation

standardizing evaluation of neural network pruning
SMART_READER_LITE
LIVE PREVIEW

Standardizing Evaluation of Neural Network Pruning Jose Javier - - PowerPoint PPT Presentation

Standardizing Evaluation of Neural Network Pruning Jose Javier Gonzalez Davis Blalock John V. Guttag Overview Sh Shri rinkBench: Open source library to facilitate development and standardized evaluation of neural network pruning methods


slide-1
SLIDE 1

Standardizing Evaluation of Neural Network Pruning

Jose Javier Gonzalez Davis Blalock John V. Guttag

slide-2
SLIDE 2

1

Overview

Sh Shri rinkBench: Open source library to facilitate development and standardized evaluation of neural network pruning methods

  • Rapid prototyping of NN pruning methods
  • Makes it easy to use standardized datasets, pretrained

models and finetuning setups

  • Controls for potential confounding factors
slide-3
SLIDE 3
  • Pretrained networks are often quite accurate but large
  • Pr

Pruning: Systematically remove parameters from a network

2

Neural Network Pruning

slide-4
SLIDE 4
  • Go

Goal: Reduce size of network as much as possible with minimal drop in accuracy

  • Often requires finetuning

afterwards

3

Neural Network Pruning

1 2 4 8 16

Compression Ratio

0.40 0.45 0.50 0.55 0.60 0.65 0.70

Accuracy

Accuracy of Pruned Networks

slide-5
SLIDE 5

4

Traditional Pipeline

Need a whole pipeline for performing experiments

Data Model Pruning Algorithm Finetuning Evaluation

slide-6
SLIDE 6

5

Traditional Pipeline

Data Model Pruning Algorithm Finetuning Evaluation

But only the pruning algorithm usually changes

slide-7
SLIDE 7

But only the pruning algorithm usually changes

6

Traditional Pipeline

Data Model Pruning Algorithm Finetuning Evaluation

Duplicate effort & confounding variables

slide-8
SLIDE 8

7

ShrinkBench

Library to facilitate standardized evaluation of pruning methods

Data Model Pruning Algorithm Finetuning Evaluation

shrinkbench

Utils

slide-9
SLIDE 9

8

ShrinkBench

  • Provides standardized datasets, pretrained models,

and evaluation metrics

  • Simple and generic parameter masking API
  • Measures nonzero parameters, activations, and FLOPs
  • Controlled experiments show the need for

standardized evaluation

slide-10
SLIDE 10

9

T

  • wards Standardization

But how do we standardize?

  • Standardized datasets.

Larger datasets (ImageNet) will be more insightful than smaller ones (CIFAR10)

  • Standardized architectures

Crucial to match complexity of the network with complexity of dataset/task

  • Pretrained models

This can be a confounding factor so it’s important to use the same

  • Finetuning setup

We want improvement coming from pruning not just better hyperparameters

slide-11
SLIDE 11

But how do we standardize?

  • Standardized datasets.

Widely adopted datasets, representative of real-world tasks

  • Standardized architectures

With reproducibility record, matched in complexity to the chosen dataset

  • Pretrained models

Even for a fixed architecture and dataset, exact weights may affect results

  • Finetuning setup

We want improvement from pruning, not from better hyperparameters

10

T

  • wards Standardization
slide-12
SLIDE 12

11

T

  • wards Standardization

But how do we standardize?

  • Standardized datasets.

Widely adopted datasets, representative of real-world tasks

  • Standardized architectures

With reproducibility record, matched in complexity to the chosen dataset

  • Pretrained models

Even for a fixed architecture and dataset, exact weights may affect results

  • Finetuning setup

We want improvement from pruning, not from better hyperparameters

slide-13
SLIDE 13

12

Masking API

We can capture an arbitrary removal pattern using binary masks Model (+ Data) Pruning Masks

  • 2.1

4.6 0.8

  • 0.1

0.2 1.5

  • 4.9

2.3

  • 2.5

2.7 4.2

  • 1.1
  • 0.3

5.0 3.1 4.7 1 1 1 1 1 1 1

  • 2.1

4.6 0.8

  • 0.1

0.2 1.5

  • 4.9

2.3

  • 2.5

2.7 4.2

  • 1.1
  • 0.3

5.0 3.1 4.7

  • 2.1

4.6 0.8

  • 0.1

0.2 1.5

  • 4.9

2.3

  • 2.5

2.7 4.2

  • 1.1
  • 0.3

5.0 3.1 4.7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

slide-14
SLIDE 14

13

Masks → Accuracy

Given a pruning method in terms of masks, ShrinkBench finetunes the model and systematically evaluates it

Pruning Masks

1 2 4 8 16

Compression Ratio

0.40 0.45 0.50 0.55 0.60 0.65 0.70

Accuracy

Accuracy Curve

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

slide-15
SLIDE 15

14

ShrinkBench Results I

  • ShrinkBench returns both compression & speedup

since they interact differently with pruning

Model Compression Speedup

slide-16
SLIDE 16

15

ShrinkBench Results II

  • ShrinkBench evaluates with varying compression and

with several (dataset, architecture) combinations

slide-17
SLIDE 17

16

ShrinkBench Results II

  • ShrinkBench evaluates with varying compression and

with several (dataset, architecture) combinations

slide-18
SLIDE 18

17

ShrinkBench Results III

  • ShrinkBench controls for confounding factors such as

pretrained weights or finetuning hyperparemeters

slide-19
SLIDE 19
  • ShrinkBench – an open source library to facilitate

development and standardized evaluation of neural network pruning methods

  • Our controlled experiments across hundreds of models

demonstrate the need for standardized evaluation.

18

Summary

https://shrinkbench.github.io