1为什么在 SFT 训练时必须对 Prompt 部分做 Loss Masking(将 label 置为 `-100`)?如果不做会导致模型产生什么严重的负面退化?
2Data Packing 中如何使用 FlashAttention 的 `flash_attn_varlen_func` 与 `cu_seqlens` (累积序列长度数组) 彻底杜绝样本间的跨文档注意力穿越?
3多轮对话场景下的掩码构建:如何仅对 Assistant 角色的回合开启损失,同时将历史多轮 User / Assistant 文本作为上文仅参与前向?
4Data Packing 相比传统 Padding 训练在 GPU 显存占用与训练吞吐量 (Tokens/sec) 上的定量加速效果(为什么能提速 3~5 倍)?
5Chat Template (如 Jinja2 模板格式) 在统一不同开源基础模型(Llama-3, Qwen-2.5, Mistral)特殊 Token(`<|im_start|>`, `<|im_end|>`) 中的标准工程实践?