ster tune decide
Train LoRA adapters on labelled decisions so the model's next-token distribution at the answer position puts its mass on the labelled option, and write them as an adapter artifact.
Invocation and purpose#
ster tune decide --model <MODEL> --examples <EXAMPLES> --output <OUTPUT> --rank <RANK> --alpha <ALPHA> --epochs <EPOCHS> --learning-rate <LR> --accumulation <N> --max-sequence <TOKENS> --batch-size <N> --seed <SEED> [--revision <REVISION>] [--device <DEVICE>] [--targets <TARGETS>] [--layers <LAYERS>] [--warmup-steps <N>] [--permutations <PERMUTATIONS>] [--chat-template <auto|off>] [--precision <f32|f16|bf16>]The decision counterpart of `ster tune sft`: the examples are the labelled decisions `ster calibrate` reads, rendered exactly as `ster decide` renders them — the state once, each question's suffix, every option under a letter — and the loss is the cross-entropy of the labelled option's letter at the answer position. The examples are read before a weight is mapped, so a bad label is refused in milliseconds. Measure the result with `ster decisions benchmark` on the held-out side of `ster decisions split`.
Inputs and options#
| Input | Required | Meaning |
|---|---|---|
--model <MODEL> | yes | Hugging Face model id or local model directory. |
--examples <EXAMPLES> | yes | Labelled decisions: requests with the correct answer to some of their questions. |
--output <OUTPUT> | yes | Output LoRA adapter safetensors; the identity sidecar is written beside it. |
--rank, --alpha | yes | The low-rank dimension and its scaling numerator, as on `ster tune sft`. Ster assumes none. |
--targets, --layers | no | As on `ster tune sft`: targets query,value, layers all. |
--epochs, --learning-rate, --accumulation, --batch-size | yes | Passes over the rows, the peak learning rate, forwards folded into one optimizer step, rows per forward pass. |
--warmup-steps | no | Warm-up steps; 0, no warm-up, when omitted. |
--max-sequence <TOKENS> | yes | Renderings longer than this many tokens are skipped rather than truncated, because a cut state is a different state. |
--permutations <PERMUTATIONS> | no | Option orders each question is trained in. 0, the default, is every cyclic shift, so the letter is never predictive and the model has to read the state; 1 trains on one order and lets it learn a letter. |
--chat-template <auto|off> | no | auto renders every prompt through the model's own chat template when it publishes one, off sends raw text. Train in the format the decisions will be read in. |
--precision | no | As on `ster tune sft`. |
--seed | yes | Seeds the shuffle and the draw that fills every A factor. |
Output and state#
Writes the adapter artifact to --output and prints an object with path and report; the report records the run the way the other ster tune objectives do, with the chat-template decision and the precision noted on it, and the artifact carries the same report. `ster tune inspect` reads it back and `ster decide --adapter` applies it.
Refusals#
- Leaving out
--rank,--alpha,--epochs,--learning-rate,--accumulation,--max-sequence,--batch-sizeor--seedis a usage error that names the flag, exit 2. - The labelled-decision validation refusals of `ster calibrate`, before the checkpoint loads.
- The target, layer, and model-loading refusals shared with the other
ster tuneobjectives.