Skip to content

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.