chapter seven

7 Hyper parameter optimization service

 

This chapter covers

  • What are hyper parameters and why are they important?
  • Introduction to HPO (hyper parameter optimization) two common approaches
  • Designing an HPO service
  • Setting up your own HPO service with Kubeflow/Katib
  • Introduce three popular HPO libraries: Hyperopt, Optuna and Ray Tune

Hyper parameters are parameters whose value must be set before the model training process starts. Learning rate, batch size, and number of hidden layers are all examples of hyper parameters. Unlike the value of model parameters –weights and bias, for example– hyper parameters cannot be learned during the training process.

Much research reveals that the chosen value of hyperparameters can impact both the quality of the model training as well as the time and memory requirements of the training algorithm. Therefore hyperparameters have to be tuned to be optimal for model training. Nowadays, HPO (hyper parameter optimization) has become a standard step in the deep learning model development process.

7.1 Understanding Hyper Parameters

7.1.1 What is a hyper parameter?

7.1.2 Why are hyper parameters important?

7.2 Understanding Hyper Parameter Optimization (HPO)

7.2.1 What is HPO?

7.2.2 Popular HPO algorithms

7.2.3   Common automatic HPO approaches

7.3 Opensource HPO Libraries

7.3.1 Hyperopt

7.3.2 Optuna

7.3.3 Ray Tune

7.4 Designing HPO service

7.4.1 HPO Design principles

7.4.2 A general HPO service design

7.5 Creating a HPO service with Kubeflow Katib

7.5.1 Katib overview

7.5.2 Getting started with Katib

7.5.3 Expedite HPO

7.5.4 Katib system design

7.5.5 Adding a new algorithm.

7.5.6 Further reading

7.5.7 When to use?

7.6 Summary