Refactor Curriculum Attributes (#335)

* remove min_value from AttributeDefinition
* remove type from AttributeDefinition
* Add CurriculumContext
* add ensure_interval option for RangeAttributes
* docs: Add legend explaining curriculum indicators in dataset gallery
* update GALLERY.md
This commit is contained in:
Andreas Köpf 2025-03-16 15:40:28 +01:00 committed by GitHub
parent d344284c80
commit ed766028fb
101 changed files with 286 additions and 677 deletions

View file

@ -4,7 +4,7 @@ from dataclasses import dataclass
from random import Random
from typing import Any, Optional
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition, ScalarAttributeDefinition
from ..coaching import BaseCurriculum, RangeAttributeDefinition, ScalarAttributeDefinition
from ..factory import ProceduralDataset, register_dataset
QUESTION_TEMPLATE = """Your task is to pick the largest/smallest number out of several options.
@ -115,31 +115,24 @@ class NumberFormatCurriculum(BaseCurriculum):
RangeAttributeDefinition(
name="num_candidates",
levels=[5, 25, 100, 500],
default_level=1,
description="Number of candidates",
attr_type=AttributeType.APPEND,
min_value=1,
lower_field_name="min_num_candidates",
upper_field_name="max_num_candidates",
ensure_interval=True,
),
RangeAttributeDefinition(
name="n",
levels=[10, 1_000, 1_000_000, 1_000_000_000],
default_level=1,
description="Magnitude of the values",
attr_type=AttributeType.APPEND,
min_value=1,
lower_field_name="min_n",
upper_field_name="max_n",
ensure_interval=True,
),
ScalarAttributeDefinition(
name="max_delta",
field_name="max_delta",
levels=[1e1, 1e0, 1e-3, 1e-6],
default_level=0,
description="Max delta",
attr_type=AttributeType.STATIC,
min_value=1e-6,
),
)