Commit Graph

17 Commits (a067e2512c1178e6ccca67f3e0a9433c4e2fe18d)

Author SHA1 Message Date
uphomer a067e2512c [fix] SFTDataset: keep assistant span when long prompt is truncated
渲染长度超过 max_seq_len 时,原实现从右侧硬截断(input_ids[:max_length]):
若 "system+tools+user" 前缀超过 max_seq_len,首个 <|im_start|>assistant
标记会被切掉/切残,generate_labels 搜不到 assistant 段,该样本 labels 全 -100,
静默丢失全部监督信号(仍做完整前向/反向,不报错、不影响 loss 曲线)。

以 sft_t2t_mini.jsonl + max_seq_len=340(蒸馏默认配置)全量实测:
905,718 条中 17,821 条(1.97%)labels 全空,其中 17,073 条是 tool-use 样本
(占全部 tool 样本的 20.1%)。

修复:仅当首个 assistant 标记会被截掉/切残,或回复恰好从窗口边界开始
(bos_pos + len(bos_id) >= max_length)时,左移窗口优先保留回复段;
其余样本行为与修复前完全一致(逐位相同)。

验证(全量):
- sft_t2t_mini:全空 17,821 -> 0 / 905,718;监督 token 均值 248.2 -> 250.9
- lora_medical:修复前后均 0 / 25,276(340 与 768,均值逐项一致)
- 1500 条同种子新旧对比:1473 条原有监督样本逐位一致,0 回归
- train_distillation 冒烟 239 步,loss 有限、无 NaN
2026-10-15 23:13:29 +08:00
Daoyuan Li 56d4cddfd8 [fix] keep DPO preference pair think formatting aligned 2026-08-29 18:29:00 -07:00
jingyaogong 101d7df2da [update] minimind-3 2026-03-25 23:57:45 +08:00
jingyaogong 349e74ec7b [update] empty_think_ratio 2026-02-06 19:15:21 +08:00
jingyaogong 288e1ac02a [update] empty_think_ratio 2026-02-06 01:36:02 +08:00
jingyaogong ccc190da05 [feat] data process 2026-02-06 01:17:57 +08:00
jingyaogong 3a5aba82db [fix] max length 2026-01-17 13:26:14 +08:00
jingyaogong 714abcf802 [update] pretrain load 2026-01-17 12:00:17 +08:00
jingyaogong aa539a824a [update] align mask 2026-01-15 11:20:41 +08:00
jingyaogong c090b69c4d [update] align loss 2026-01-15 00:56:32 +08:00
jingyaogong f55d4c32a0 [update] mask log 2026-01-07 22:12:26 +08:00
jingyaogong 7641985d14 [update] simplify loader 2026-01-06 01:20:52 +08:00
jingyaogong 4a5c9f5ece [feat] stream load data 2025-12-28 16:58:52 +08:00
jingyaogong fe24501602 [feat] adjust seq length 2025-12-14 20:41:58 +08:00
jingyaogong ce693f8e7f [fix] git track 2025-10-21 23:09:00 +08:00
jingyaogong 7d877db79b [feat] minimind-2510 2025-10-21 21:19:47 +08:00
jingyaogong 274483cb1b 250426 2025-04-26 10:07:55 +08:00