chapter five

5 Hyper parameter optimization (HPO) service

 

This chapter covers

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

In the previous two chapters, we saw how models get trained: a training service manages training processes in a remote compute cluster with given model algorithms. But model algorithms and training services aren't all there is to model training. There's one more component we haven't discussed yet - hyper parameter optimization (HPO). Often overlooked is the fact that hyperparameter choices can influence model training results significantly, especially when these decisions can be automated using engineering methods.

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.

5.1 Understanding Hyper Parameters

5.1.1 What is a hyper parameter?

5.1.2 Why are hyper parameters important?

5.2 Understanding Hyper Parameter Optimization (HPO)

5.2.1 What is HPO?

5.2.2 Popular HPO algorithms

5.2.3 Common automatic HPO approaches

5.3 Opensource HPO Libraries

5.3.1 Hyperopt

5.3.2 Optuna

5.3.3 Ray Tune

5.4 Designing HPO service

5.4.1 HPO Design principles

5.4.2 A general HPO service design

5.5 Creating a HPO service with Kubeflow Katib

5.5.1 Katib overview

5.5.2 Getting started with Katib

5.5.3 Expedite HPO

5.5.4 Katib system design

5.5.5 Adding a new algorithm.

5.5.6 Further reading

5.5.7 When to use?

5.6 Summary