syne-tune/syne-tune
Large scale and asynchronous Hyperparameter and Architecture Optimization at your fingertips.
What it solves
Syne Tune addresses the challenge of large-scale hyperparameter optimization (HPO) for machine learning models. It provides a framework to efficiently find the best settings (hyperparameters) for a model to maximize performance, supporting distributed execution across local machines or SLURM clusters to handle computationally expensive tuning jobs.
How it works
The library operates by defining a search space for hyperparameters and using a scheduler to suggest configurations to evaluate. It supports two primary interaction patterns:
- Launch-based tuning: The library manages the execution of training scripts as separate processes, reporting metrics back to the tuner via a
Reporterobject. - Ask/Tell interface: Users can directly communicate with the scheduler to get a configuration (ask) and provide the result (tell), which is useful for environments like Jupyter notebooks or custom training loops.
It implements state-of-the-art HPO methods including multi-fidelity optimization, multi-objective optimization, transfer learning, and population-based training.
Who it’s for
Machine learning engineers and researchers who need to perform large-scale, reproducible hyperparameter tuning for complex models, including those using Hugging Face transformers or integrating with tools like Optuna.
Highlights
- Distributed Execution: Ability to run experiments locally or on SLURM clusters.
- Diverse HPO Methods: Support for multi-fidelity, multi-objective, and population-based training.
- Simulation Tools: Includes a collection of blackboxes (surrogate and tabular benchmarks) for efficient HPO simulation.
- Flexible Integration: Offers an Ask/Tell interface and a sampler for Optuna via OptunaHub.
Related
- Project
- Project
- Project
- Project
- Project