LOPD 不再手写 privileged context,而是检索过去成功 trajectory,用 encoder + QFormer 压成 latent tokens,让 frozen teacher 读这些连续表示。它是高潜力第二阶段,不适合当第一个 game experiment。
Q1. 为什么要让 privileged context 自己学?
手写 answer、hint、skill 或 trajectory 都预设了“什么信息重要”;LOPD 把这个选择交给 retriever 与 composer。它希望从 experience bank 里找相关成功历史,再压缩成 teacher 最有用的连续表示。
代价是解释性下降,而且系统新增 retriever、encoder LoRA、QFormer compressor、latent injection 与 margin constraint。
Q2. LOPD 相对 OPSD 改了哪一层?
| 阶段 | OPSD | LOPD |
|---|---|---|
| Context source | 单条 reference solution | retrieved successful experiences |
| Representation | 可读 text | continuous latent tokens |
| Teacher | frozen self-teacher | latent-conditioned frozen self-teacher |
| Student | question-only rollout | task + interaction history rollout |
default 检索三条 experience,每条压成 32 latent tokens。reverse KL 只匹配 student top-20 vocabulary entries,加一个 aggregated tail bucket。
Q3. Composer、margin 与 cold start 怎样工作?
每个 task-experience pair 经 frozen backbone + trainable encoder LoRA,再由八层共享参数 QFormer cross-attention 压缩。cold start 先用 successful trajectory next-token likelihood 训练 composer。
joint training 容易出现一个坏解:composer 让 teacher 变得与 student 一样弱,KL 很小但没有 teaching advantage。privileged-margin 要求 teacher 对 sampled token 保持与 reward sign 一致的 log-prob advantage;dual variable 执行约束,L2 anchor 限制 latent drift。
Q4. 数据、结果与 baseline fairness 怎样看?
tool-use 用 2,349 EnvScaler-derived tasks;code 用约 7K verified TACO problems。experience bank 只放 training-split success trajectories。训练 32 rollouts/step,LR 1e-5,temperature 0.7,top-p 0.95,top-k 20,margin 0.05。
| Backbone / benchmark | LOPD |
|---|---|
| Qwen3-4B EnvScaler | 63.7 |
| Qwen3-8B EnvScaler | 66.4 |
| Qwen3-4B LiveCodeBench | 48.78 |
| Qwen3-4B EvalPlus | 81.36 |
| OLMo3-7B LiveCodeBench | 50.98 |
joint training without margin 得 0.551 EnvScaler reward,加 m=0.05 后到 0.637。三条 retrieved experiences 是最早达到 0.637 的设置,更多 retrieval 不单调更好。
baseline pool 在 base trajectory 覆盖不足时会补 DeepSeek-V4-Pro 与 Qwen3.7-Max,而 LOPD bank 使用成功 training trajectories;这不是纯 context-only fairness。
Q5. 游戏数据什么时候值得上 latent context?
先用 discrete context 实验搞清楚 strategy、execution feedback、state routing 和 span credit,之后再压缩最好的 context。否则 latent gain 无法解释:它可能来自 answer leakage、same-task retrieval 或更强的 bank。
game bank 应按 game/template/asset family 严格 split,默认禁用 same-task retrieval,并同时报告 readable discrete context 与 latent context。retriever 命中、latent capacity 和 verifier reward 都要单独 ablate。
Q6. 公开代码的关键风险是什么?
core rollout、teacher、trainer、QFormer composer 与 memory bank code 已公开,但 paper compressor checkpoint、scenarios、bank、embeddings 与 logs 没有。README 写 compressor “on the way”,configs 仍有 placeholder paths。
更关键的是 cold-start 与 LOPD configs 默认 allow_self_retrieval: true。如果 bank 含当前 task 的成功 trajectory,teacher 就可能直接读到这道题的成功经验。复现应关闭此项;若要保留,只能把它作为 teacher 获得同题答案的上限对照(oracle)单列。兴趣程度 7/10。
证据范围:本文阅读全文与附录,并分别检查 PDF 文本和逐页渲染;代码结论固定到文中注明的 commit。兴趣程度 7/10 只表示博客作者对该方向的个人兴趣,不是通用论文评分。
留言