> For the complete documentation index, see [llms.txt](https://sliu583.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sliu583.gitbook.io/blog/specific-work/shivarams-group/group-papers/fluid-resource-aware-hyperparameter-tuning-engine.md).

# Fluid: Resource-aware Hyperparameter Tuning Engine

![](/files/-MZsLdilqvzEu-pJHjfJ)

![](/files/-MZsLj-hsiz8S3S0ACvx)

![](/files/-MZsLlyDl7ZygPjcQ-R2)

* Successive Halving&#x20;
  * Workers underutilized, only one job to run&#x20;

![](/files/-MZsMCVAuMmWpntdBsPG)

* More efficient, but there're also some problems&#x20;

![](/files/-MZsMOgvx4UN4Fhujweo)

![](/files/-MZsMZSMbm42jQLMnt76)

* Goal: Utilized & Useful work?&#x20;
* Resource-aware hyperparameter tuning&#x20;
  * Previous work: Hypersched (resource management), but more specialized on the algorithm itself&#x20;

![](/files/-MZsNHk2H1HUnapDFSQK)

* Intra-GPU sharing (pack jobs in single GPU)
  * Current schedule: FIFO queue to manage to jobs&#x20;

### Design and Algorithms&#x20;

![](/files/-MZsNyD7d1-OoFVq4qCa)

* Intra: packing several jobs on single GPU&#x20;

![](/files/-MZsOK6nR9yBv7VlXRKE)

![](/files/-MZsOzRwLDey2u7ZBkat)

![](/files/-MZsPLLC0usKwHa2bk5m)

* Very helpful when people read the paper (very helpful in communicating the ideas)&#x20;
* Overhead of packing?&#x20;

![](/files/-MZsPiBoqoxTFdPrtLW0)

* Packing overhead of doing the placement&#x20;
  * Limit the number of packing trails&#x20;

![](/files/-MZsPxs4Wz1IQFO-c61H)

![](/files/-MZsREk6jbPfkpdew3tK)

* Model fits on the single worker&#x20;

![](/files/-MZsRjkJfCOwlKwSvObA)

* Makespan of all the trials&#x20;

![](/files/-MZsRoFE3Wco18ldEkQ6)

* Improvement more prominent when applying for asynchronous version&#x20;
* Intuition:&#x20;
  * If the runtime is very scaled&#x20;
* Parameters they are tuning
  * Learning rate, dropout rate&#x20;
  * Number of layers&#x20;
  * Batch size&#x20;
* Failures&#x20;
  * Know reasonable ranges&#x20;

![](/files/-MZsTJ5pXbzo7uUn1ah4)

* Multiple hyperparameter jobs&#x20;
  * Multiple trial groups&#x20;
  * But extra parallelism there?&#x20;
  * Different things in the same trial group&#x20;
* Variability&#x20;
  * Some&#x20;
  * More?&#x20;
* Space sharing & Parallelism&#x20;
  * Automatically parallelism, don't need anything from hyperparameter&#x20;
  * Queue problem, but in tight space&#x20;
