20260617:目前有914 页

This commit is contained in:
2026-06-17 15:02:40 +08:00
parent e96b955fda
commit 91fac5b6fc
423 changed files with 20687 additions and 34 deletions

View File

@@ -0,0 +1,49 @@
---
title: "Token Duplication (Token 复制)"
created: 2025-06-02
updated: 2025-06-02
type: concept
tags: [training-optimization, attention-mask, multi-turn-reasoning]
sources: ["[[goru-one-pass-to-reason-2025]]"]
---
# Token Duplication
> 在多轮推理训练的 [[one-pass-fine-tuning|单遍微调]] 中,将每个助手回复的 response token 复制为两份以解决可见性冲突的技术。
## 为什么需要复制
推理模型的多轮对话中存在一个根本矛盾:
- **生成时**ri 必须能关注 ti推理 token来产生正确回复
- **作为上下文时**ri 不应关注 ti推理 token 已被丢弃)
单一 token 序列无法同时满足这两个条件 → 需要两份副本。
## 两份副本的角色
| 副本 | 符号 | 职责 | 注意力范围 | 参与 loss |
|------|------|------|-----------|----------|
| 上下文副本 | ri_in | 为后续轮次提供历史 | A(H_{<i}, hi) 不看 ti | |
| 生成副本 | ri_out | 实际生成+L-loss 计算 | A(H_{<i}, hi, ti) ti | |
内容上ri_in = ri_out = ri完全相同差异仅在注意力行为和 loss 参与上
## 位置 ID 分配
```
s_ti = s_ri_in = e_hi + 1 # 推理和 ri_in 都从当前人类消息后开始
s_ri_out = e_ti + 1 # ri_out 从推理 token 后开始
s_h_{i+1} = e_ri_in + 1 # 下一轮从 ri_in 后开始(模拟 N-Pass 的上下文结构)
```
## 内存代价
复制使输入长度从 (|hi|+|ti|+|ri|) 3N 增加到 4N带来约 33% 的额外 GPU 内存
## 相关
- [[one-pass-fine-tuning]]
- [[block-sparse-attention]]
- [[visibility-constraint]]
- [[goru-one-pass-to-reason-2025|One-Pass to Reason 论文]]