iomgaa
d6a3107e4e
feat(question_gen): loader 按 unit 分层采样 + load_benchmark 读回 pair 字段
stratified_sample 先 build_units 聚合,以 QuestionUnit 为采样原子做
分层/去重/补足/rng.sample,返回前 flatten_units 展开为逐题列表;
size/correct_ratio/min_per_class 均按 unit 计数,单元正确性走成员 AND,
孪生对两题永不被劈开。纯 single 输入下 build_units 1:1 折叠、顺序不变,
rng 消耗与旧逐题实现字节级一致(新增回归测试守护)。
_backfill_per_class candidates 改按 unit 枚举去重;build_units/flatten_units
函数内延迟导入以规避 question_gen<->harness 循环依赖(沿用 adversarial_filter)。
load_benchmark 反序列化补 pair_id/question_role/flip_axis/unit_id 四字段,
用 .get 兼容旧 JSON(缺失退化为 single,unit_id 由 __post_init__ 回填)。
pools._sample_excluding 随之改为透传 flatten_units(candidates) 给已单元化的
stratified_sample(不再用 lone pair-original 代表),行为对 single-only 保持等价。
2026-07-15 06:27:41 -04:00
..
2026-07-06 11:37:59 -04:00
2026-07-14 16:00:14 -04:00
2026-07-14 15:47:21 -04:00
2026-07-14 15:55:36 -04:00
2026-07-14 16:33:09 -04:00
2026-07-14 17:07:55 -04:00
2026-07-14 16:16:38 -04:00
2026-07-14 15:35:11 -04:00
2026-07-11 08:48:04 -04:00
2026-07-06 22:36:31 -04:00
2026-07-06 22:32:59 -04:00
2026-07-14 14:31:30 -04:00
2026-07-06 22:39:57 -04:00
2026-07-11 11:56:36 -04:00
2026-07-12 22:34:47 -04:00
2026-07-12 22:33:49 -04:00
2026-07-09 12:20:32 -04:00
2026-07-07 10:04:48 -04:00
2026-07-14 14:47:21 -04:00
2026-07-07 01:45:09 -04:00
2026-07-07 09:34:04 -04:00
2026-07-07 10:26:58 -04:00
2026-07-09 05:36:07 -04:00
2026-07-11 23:14:22 -04:00
2026-07-14 14:33:22 -04:00
2026-07-07 09:38:21 -04:00
2026-07-14 05:50:47 -04:00
2026-07-11 08:19:45 -04:00
2026-07-14 13:51:51 -04:00
2026-07-14 05:55:08 -04:00
2026-07-09 00:12:38 -04:00
2026-07-07 12:47:33 -04:00
2026-07-07 13:13:37 -04:00
2026-07-12 22:46:28 -04:00
2026-07-07 12:55:12 -04:00
2026-07-07 13:04:26 -04:00
2026-07-12 22:45:18 -04:00
2026-07-07 13:01:04 -04:00
2026-07-07 12:55:12 -04:00
2026-07-14 00:58:54 -04:00
2026-07-09 12:20:25 -04:00
2026-07-07 12:36:36 -04:00
2026-07-07 13:20:43 -04:00
2026-07-07 12:41:59 -04:00
2026-07-15 06:27:41 -04:00
2026-07-07 06:13:25 -04:00
2026-07-07 09:44:05 -04:00
2026-07-14 21:08:00 -04:00
2026-07-14 15:39:57 -04:00
2026-07-14 13:40:46 -04:00
2026-07-15 06:09:14 -04:00
2026-07-09 12:20:16 -04:00
2026-07-11 23:23:37 -04:00
2026-07-12 00:04:42 -04:00
2026-07-07 04:45:19 -04:00
2026-07-15 05:45:34 -04:00
2026-07-15 05:52:30 -04:00
2026-07-06 22:39:42 -04:00
2026-07-09 00:54:27 -04:00
2026-07-09 00:23:04 -04:00
2026-07-09 07:53:59 -04:00
2026-07-07 02:37:50 -04:00
2026-07-14 13:59:29 -04:00
2026-07-12 00:14:12 -04:00
2026-07-14 05:43:28 -04:00
2026-07-07 06:11:13 -04:00
2026-07-07 05:46:25 -04:00
2026-07-07 05:53:33 -04:00
2026-07-11 09:02:03 -04:00
2026-07-07 05:52:54 -04:00
2026-07-06 11:37:59 -04:00
2026-07-14 06:49:03 -04:00
2026-07-14 13:53:17 -04:00
2026-07-14 06:51:50 -04:00
2026-07-06 22:43:01 -04:00
2026-07-14 15:30:18 -04:00
2026-07-09 11:57:41 -04:00
2026-07-09 07:40:27 -04:00
2026-07-09 00:11:54 -04:00
2026-07-11 09:02:03 -04:00
2026-07-09 11:57:41 -04:00
2026-07-11 23:05:38 -04:00
2026-07-07 09:47:45 -04:00
2026-07-09 11:57:41 -04:00
2026-07-11 11:14:45 -04:00
2026-07-07 01:49:55 -04:00