uform_text_choose scores each text’s legal choices, one byte each, through one forward of the byte decoder.
The call appends the mask byte to every text, and a text longer than the model’s context loses its head, never its end.
Each item’s probabilities are a softmax over its own choices alone, at the calibrated inverse temperature of its temperature_groups entry, and land in the arena as one f32 tape in choices order.
A model whose choice_temperature_groups is zero carries no byte decoder and reports uform_status_unsupported_k.
A checkpoint stores one inverse temperature per question type as choices.inverse_temperatures, and one without them chooses at an inverse temperature of one. uform_eval <checkpoint> --calibrate <choices.jsonl> --output <calibrated.safetensors> fits them on held-out choices, prints each group’s negative log-likelihood and the top-choice calibration error before and after, and writes the calibrated copy.
API
Types
uform_choices_tSearchJev's calibrated choices over the byte decoder, the masked head's untied byte logits read at a mask byte appended to a state and restricted to the item's legal bytes.
Each choice item scores −Σt · log(p) + brier_weight · Σ(p − t)², with p that restricted softmax and t its targets.
Fields
weight
float
The loss weight; zero trains no choices.
brier_weight
float
The Brier term's weight beside the soft cross-entropy; 0.5.
Functions
uform_text_chooseScores each item's legal choices through one forward, a softmax over them alone at the item's group's calibrated inverse temperature; a model without the byte decoder reports uform_status_unsupported_k.
UTF-8 states, one per item, each ending where the choice goes; the call appends the mask byte, and a state longer than the model's context loses its head, never its end.