Ster/Docs

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#

text
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#

InputRequiredMeaning
--model <MODEL>yesHugging Face model id or local model directory.
--examples <EXAMPLES>yesLabelled decisions: requests with the correct answer to some of their questions.
--output <OUTPUT>yesOutput LoRA adapter safetensors; the identity sidecar is written beside it.
--rank, --alphayesThe low-rank dimension and its scaling numerator, as on `ster tune sft`. Ster assumes none.
--targets, --layersnoAs on `ster tune sft`: targets query,value, layers all.
--epochs, --learning-rate, --accumulation, --batch-sizeyesPasses over the rows, the peak learning rate, forwards folded into one optimizer step, rows per forward pass.
--warmup-stepsnoWarm-up steps; 0, no warm-up, when omitted.
--max-sequence <TOKENS>yesRenderings longer than this many tokens are skipped rather than truncated, because a cut state is a different state.
--permutations <PERMUTATIONS>noOption 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>noauto 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.
--precisionnoAs on `ster tune sft`.
--seedyesSeeds 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-size or --seed is 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 tune objectives.