73 lines
2.2 KiB
Markdown
73 lines
2.2 KiB
Markdown
# AITuner
|
|
|
|
AITuner is a small study orchestrator for OpenAI-compatible serving engines. It
|
|
replays trace windows, searches for the highest feasible offered load under
|
|
configured SLOs, and records enough trial context for LLM- or harness-guided
|
|
configuration proposals.
|
|
|
|
## Status
|
|
|
|
This repository is research tooling. Treat reported experiment numbers as valid
|
|
only when the matching study spec, trial artifacts, probe history, and
|
|
`probe_details.jsonl` files are available for audit.
|
|
|
|
## Install
|
|
|
|
```bash
|
|
python3 -m pip install -e .
|
|
```
|
|
|
|
## Test
|
|
|
|
The test suite uses the Python standard library `unittest` runner:
|
|
|
|
```bash
|
|
PYTHONPATH=src python3 -m unittest discover -s tests -v
|
|
```
|
|
|
|
If the package is installed in editable mode, `PYTHONPATH=src` is optional.
|
|
|
|
## Basic Workflow
|
|
|
|
Initialize a study:
|
|
|
|
```bash
|
|
aituner study init --spec configs/examples/study.example.json
|
|
```
|
|
|
|
Run a local tuning loop:
|
|
|
|
```bash
|
|
aituner study tune --spec configs/examples/study.example.json --max-trials 2
|
|
```
|
|
|
|
Run a compare:
|
|
|
|
```bash
|
|
aituner compare run --spec configs/examples/compare.example.json
|
|
```
|
|
|
|
Remote experiment notes for this checkout live in `AGENTS.md`. The default
|
|
remote host is `dash0`, and code should be synchronized through Git before
|
|
remote runs.
|
|
|
|
## Experiment Integrity
|
|
|
|
- Fixed-length replay requests are scored only when completion token usage is
|
|
verifiable and matches the trace expectation.
|
|
- Each trial writes aggregate probe history and per-request probe details.
|
|
- `request_rate_per_gpu` is the primary cross-topology metric:
|
|
`best_feasible_request_rate / (tensor_parallel_size * data_parallel_size)`.
|
|
- Compare reports include failed and no-feasible window counts; do not interpret
|
|
mean request rates without those counts.
|
|
- Bounded replays using `max_requests_per_probe`, `completion_tokens_override`,
|
|
or `replay_time_scale` are convergence tests for that bounded workload, not
|
|
production benchmarks.
|
|
|
|
## Configuration Notes
|
|
|
|
Example specs that use `llm.endpoint.provider=codex` resolve the endpoint from
|
|
the local Codex configuration unless `llm.endpoint.base_url` or
|
|
`AITUNER_CODEX_BASE_URL` is set. Public, reproducible examples should prefer an
|
|
explicit endpoint or omit the LLM endpoint and use proposal files.
|