reverse_sums
reverse_sums
¶
ReverseSumsConfig(*, samples: dict[str, int] = field('data/reverse_sums/samples'), seeds: dict[str, int] = field('data/reverse_sums/seeds'), terms: int = field('data/reverse_sums/terms'), operand_min: int = field('data/reverse_sums/operand_min'), operand_max: int = field('data/reverse_sums/operand_max'), operand_width: int = field('data/reverse_sums/operand_width'), answer_width: int = field('data/reverse_sums/answer_width'), tokens: dict[str, int] = field('data/reverse_sums/tokens'), split: str = field('data/reverse_sums/split', default='train'))
dataclass
¶
Deterministic task parameters, owned by this dataset family.
ReverseSums()
¶
Bases: StringDataset
Reverse prefix sums serialized for TrivialNumericTokenizer.
The config owns the IDs for <eos>, <bos>, <mid>, +, =,
|, and the first digit. For 12 + 34 + 05 + 49, whose prefix sums
are 012, 046, 051, 100, the model sees::
1 7 8 3 9 10 3 6 11 3 10 15 4 2 7 6 6 5 6 11 7 5 6 10 12 5 6 7 8 0
deserialize renders the result artifact as::
<bos> 1 2 + 3 4 + 0 5 + 4 9 = <mid> 1 0 0 | 0 5 1 | 0 4 6 | 0 1 2 <eos>
<mid> ends the evaluation prompt; the reversed sums and separators are
generated left-to-right until <eos>.
deserialize(token_ids: Sequence[int]) -> str
¶
Render model token IDs as the task symbols used in result artifacts.