# 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;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sliu583.gitbook.io/blog/specific-work/shivarams-group/group-papers/fluid-resource-aware-hyperparameter-tuning-engine.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
