Files
myWiki/concepts/token-duplication.md

1.7 KiB
Raw Blame History

title, created, updated, type, tags, sources
title created updated type tags sources
Token Duplication (Token 复制) 2025-06-02 2025-06-02 concept
training-optimization
attention-mask
multi-turn-reasoning
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 内存。

相关