Tuners
SemaTune tuners all use the same outer control loop: receive recent metrics and current parameters, propose the next parameter setting, and let the optimizer validate and apply the proposal.
Run every tuner through the same command:
.venv/bin/os-param-tuning run --config config/examples/sysbench_cpu_fixed.json
Supported Tuner Names
| Tuner | Extra install | Best first use |
|---|---|---|
fixed |
none | Baselines, host validation, and smoke tests. |
llm |
.[llm] |
Semantic tuning with Gemini or OpenRouter. |
bayesian |
.[bayesian] |
Model-based scalar-objective search. |
mlos |
.[mlos] |
MLOS-backed scalar-objective search. |
qlearning |
none | Small discretized action spaces. |
dqn |
.[dqn] |
Larger discretized action spaces with PyTorch. |
Install all optional tuner dependencies:
pip install -e ".[tuners]"
Choosing A Tuner
Use fixed first. It proves the target can run, metrics parse, and parameter
application does not immediately fail.
Use llm when parameter semantics and proxy metrics matter. The LLM tuner can
see parameter descriptions, recent history, direct metrics, and additional
system metrics.
Use Bayesian, MLOS, Q-learning, or DQN when you have one scalar reward that you trust. These tuners do not understand that a proxy metric is only evidence; they optimize the scalar you give them.
Optional Dependency Boundaries
Optional tuner dependencies are imported lazily. Base tests and base CLI help should work without SMAC, MLOS Core, or PyTorch installed. If an optional tuner fails to import, install the matching extra.