50 lines
1.6 KiB
Markdown
50 lines
1.6 KiB
Markdown
---
|
||
title: "Visibility Constraint (可见性约束)"
|
||
created: 2025-06-02
|
||
updated: 2025-06-02
|
||
type: concept
|
||
tags: [attention, multi-turn-reasoning, training]
|
||
sources: ["[[goru-one-pass-to-reason-2025]]"]
|
||
---
|
||
|
||
# Visibility Constraint
|
||
|
||
> 在推理模型的多轮对话中,推理 token 对当前轮的生成必须可见,但对后续轮次必须隐藏的条件性可见需求。
|
||
|
||
## 问题描述
|
||
|
||
推理模型([[deepseek-r1]] 等)的工作流程:
|
||
|
||
```
|
||
Turn i: hi → ti → ri
|
||
推理token 回复token
|
||
|
||
Turn i+1: h_{i+1} → t_{i+1} → r_{i+1}
|
||
此时 ti 已被丢弃,不可见
|
||
```
|
||
|
||
推理 token ti 面临两种矛盾的可见性需求:
|
||
- **生成 ri 时**:ti 必须可见(ri 的内容基于 ti)
|
||
- **生成 r_{i+1} 时**:ti 必须不可见(行业惯例:推理 token 不保留在上下文中)
|
||
|
||
## 为什么标准掩码不够用
|
||
|
||
标准因果注意力掩码是**静态**的:一个 token 要么一直可见,要么一直不可见。无法表达"对 ri 可见但对 r_{i+1} 不可见"这种**条件性**可见。
|
||
|
||
[[block-sparse-attention]] 通过为不同 token 类型定制掩码来解决——本质上是一个块级稀疏矩阵,不同块有不同的可见性模式。
|
||
|
||
## 与 [[token-duplication]] 的关系
|
||
|
||
Token 复制是解决可见性约束的关键:
|
||
- 通过复制 ri 为 ri_in 和 ri_out
|
||
- ri_out 关注 ti(满足生成需求)
|
||
- ri_in 不关注 ti(满足上下文需求)
|
||
- 两个副本内容相同,但注意力行为不同
|
||
|
||
## 相关
|
||
|
||
- [[block-sparse-attention]]
|
||
- [[token-duplication]]
|
||
- [[multi-turn-reasoning]]
|
||
- [[goru-one-pass-to-reason-2025|One-Pass to Reason 论文]]
|