Spaces:
Sleeping
Sleeping
| from pathlib import Path | |
| from data.build_preference_pairs import CandidateExplanation, build_preference_pairs | |
| from training.train_dpo import load_config as load_dpo_config | |
| from training.train_qlora import load_config as load_qlora_config | |
| def test_preference_pairs_require_quality_gap() -> None: | |
| pairs = build_preference_pairs( | |
| [ | |
| [ | |
| CandidateExplanation("1", "good answer", 0.9, 0.9, 0.9), | |
| CandidateExplanation("1", "bad answer", 0.1, 0.1, 0.1), | |
| ], | |
| [ | |
| CandidateExplanation("2", "close answer a", 0.6, 0.6, 0.6), | |
| CandidateExplanation("2", "close answer b", 0.55, 0.55, 0.55), | |
| ], | |
| ], | |
| quality_gap_threshold=0.2, | |
| ) | |
| assert len(pairs) == 1 | |
| assert pairs[0]["chosen"] == "good answer" | |
| assert pairs[0]["rejected"] == "bad answer" | |
| def test_alignment_configs_parse(tmp_path: Path) -> None: | |
| qlora = load_qlora_config("configs/qlora_phi.yaml") | |
| dpo = load_dpo_config("configs/dpo.yaml") | |
| assert qlora["base_model"] == "microsoft/phi-2" | |
| assert dpo["base_model"] == "microsoft/phi-2" | |