AutoML / hyperparameter search on top of blazen-train.
This crate is intentionally separate from blazen-train itself so that
the heavy training engine (candle, hf-hub, tokenizers) doesn't have to
be compiled in to use the searchers — the Evaluator trait is the only
coupling point, and callers wire their own training loop into it.
Pieces:
- [
space] —SearchSpace+Distribution(Categorical / IntUniform / Uniform / LogUniform / Discrete). The space defines what hyperparams exist and what each one's prior looks like. - [
trial] —Trialrecord + status state machine. - [
searcher] —Searchertrait + three real implementations:RandomSearch,GridSearch, andTpeSearch(Tree-structured Parzen Estimator, Bergstra et al. 2011, Algorithm 1). - [
journal] — JSONL append-onlyTrialJournalfor crash recovery. - [
runner] —Runnerglues aSearchSpace+Searcher+EvaluatorTrialJournalinto a budgeted (max-trials / time-budget) loop, optionally fan-out across N tokio workers.
See examples/lora_sft_search.rs for an end-to-end LoRA SFT search.
ML acronyms (LoRA, TPE, KDE, SFT, ...) saturate the docs; backticking each one would hurt readability without adding clarity.