f5bb852fde
- sft_loss 纯张量函数:batch-min prompt_length、移位切片、labels 重掩码; 空 batch/无 prompt 行显式报错(参考实现静默归零,差异已标注) - SFTTrainer 只重写 compute_loss 与 log;不向模型传 labels(防内部损失 绕过重掩码);日志并入每步有效 token 数供 sanity 监控 - tests/test_trainer.py: 7 个单测,含手算对拍、移位对齐、窗口外无关性、 漏切重掩码 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>