Support full-range and incumbent-floor search modes
This commit is contained in:
@@ -2248,6 +2248,47 @@ class CoreFlowTests(unittest.TestCase):
|
||||
trial, _ = store.materialize_trial(study=study, state=state, proposal=proposal)
|
||||
self.assertEqual(trial.search.low, study.search.low)
|
||||
|
||||
def test_materialize_trial_can_use_incumbent_floor_when_enabled(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
tmp_path = Path(tmp)
|
||||
study_path = _write_study_assets(tmp_path)
|
||||
payload = json.loads(study_path.read_text(encoding="utf-8"))
|
||||
payload["search"]["inherit_incumbent_floor"] = True
|
||||
study_path.write_text(json.dumps(payload), encoding="utf-8")
|
||||
study = load_study_spec(study_path)
|
||||
store = StudyStore(tmp_path / ".aituner" / "studies")
|
||||
store.init_study(spec_path=study_path, study=study)
|
||||
state = StudyState(
|
||||
study_id=study.study_id,
|
||||
best_trial_id="trial-0001",
|
||||
best_parallel_size=4,
|
||||
best_sampling_u=0.375,
|
||||
best_request_rate=3.0,
|
||||
best_request_rate_per_gpu=0.75,
|
||||
next_trial_index=2,
|
||||
best_by_parallel_size={
|
||||
"4": {
|
||||
"trial_id": "trial-0001",
|
||||
"parallel_size": 4,
|
||||
"best_sampling_u": 0.375,
|
||||
"best_request_rate": 3.0,
|
||||
"best_request_rate_per_gpu": 0.75,
|
||||
}
|
||||
},
|
||||
trials=[],
|
||||
)
|
||||
proposal = Proposal.from_dict(
|
||||
{
|
||||
"observation": "Obs",
|
||||
"diagnosis": "Diag",
|
||||
"config_patch": {"env_patch": {}, "flag_patch": {"tensor-parallel-size": 4}},
|
||||
"expected_effects": ["raise rate"],
|
||||
}
|
||||
)
|
||||
trial, _ = store.materialize_trial(study=study, state=state, proposal=proposal)
|
||||
self.assertEqual(trial.search.low, 0.375)
|
||||
self.assertTrue(trial.search.inherit_incumbent_floor)
|
||||
|
||||
def test_materialize_trial_resets_search_floor_for_new_parallel_group(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
tmp_path = Path(tmp)
|
||||
|
||||
Reference in New Issue
Block a user