Expand description
overbrainer: distill a parent LLM into a smaller child model.
Modules§
- cli
- Command line interface.
- compare
overbrainer compare: the child against the parent on the eval set.- config
- Typed configuration loaded from
overbrainer.tomlandOVERBRAINER_*env vars. - dataset
- Dataset records, stable IDs and JSONL files.
- dedup
- Near-duplicate filtering of generated questions.
- events
- Progress events published by pipeline stages and training runs. The core never renders: the CLI turns events into log lines, the TUI (later) into views.
- exec
- Running a training job on a target: the
Executortrait and itsLocalandSshimplementations. - export
- Export of a trained run to GGUF with llama.cpp, and its Ollama Modelfile.
- history
- The project’s stage history:
.overbrainer/history.jsonl, one line per stage execution, appended when the stage ends. Never rewritten. - hub
- Publishing to the Hugging Face Hub.
- llm
- LLM clients for the
openaiandanthropicwire protocols. - logging
- Tracing setup: formatted lines on stderr for the command line, an in-memory buffer for the terminal UI.
- metrics
- Prometheus metrics of a project, served at
GET /metricswhile a command holds the project. Counters start from the stage history, then follow the events of every bus the command builds with them as itsObserver, so they are cumulative per project. Retries are not in the history: they restart at zero with each process. - pipeline
- Pipeline stages: subtopics, questions, answers, split.
- pricing
- Model prices read from the provider’s
/modelslisting, when it exposes them. - project_
format - The project format:
.overbrainer/version, one integer line naming the layout of the project’s files. A project without it predates 0.4.0, whose format is 1;overbrainer migratebrings it up to date. - project_
lock - One overbrainer process per project: an exclusive lock on the project
directory itself, held until the process exits. The OS releases it when the
process dies.
.overbrainer/lockonly holds the holding process’s PID, for the “another overbrainer (pid N)” message; it plays no part in exclusivity. - prompts
- Prompt templates: built-in defaults, overridable per project in
prompts/. - retry
- Retries with exponential backoff and jitter, shared by the HTTP clients (the LLM providers and the Runpod API).
- runpod
- Runpod as a training target: a pod created for a run over the REST API (v2), reached over SSH with per-run keys, guarded by a watchdog running on the pod, and deleted once the run’s results are retrieved.
- runs
- Training runs:
runs/<run-id>/directories, theirrun.jsonrecord, and the train, attach and cancel flows. - secrets
- Secret resolution (literal values or
vault:references), and the redaction of log lines that come from outside overbrainer. - system
- What the machine of a training run looks like: disk, CPU, memory and GPUs,
read by one shell script in one round trip (
probe_script) and parsed into aSystemSample(parse). - train
- Fine-tuning: the
Trainertrait and its Axolotl implementation. - tui
- The terminal UI,
overbrainer tui: the configuration and stats of the project, the dataset, the pipeline stages, training runs, the logs and the compares in six views. It runs the flows the command line runs, and writes nothing to stdout or stderr while the terminal shows it. - update
- Looks up the latest overbrainer release on crates.io, at most once a day, and at most once an hour after an attempt that gave no answer.