Octopus以共享KV DAG重构多智能体强化学习
摘要:Octopus面向长上下文研究型多智能体系统,将并行分支从重复的上下文副本与文本摘要通信,改造成共享同一模型骨干、驻留GPU的有向无环KV状态图。其零拷贝Radix分叉以O(1)游标视图创建分支,Attention-Only KV Mounting直接挂载兄弟线程的终止KV块,避免线性循环状态带来的任务劫持;Packed DAG-GRPO则把整轮分支打包进块稀疏注意力,并通过留一分支的反事实边际奖励分配信用。基于Qwen3.5-4B的实验中,该方法在BrowseComp-Plus达到49.6%,训练吞吐提升3.3倍、峰值KV显存降低2.8倍。
核心思路:让多智能体共享状态,而不是复制上下文
传统多智能体系统为每个分支保存独立上下文;单智能体系统则把检索、验证和思考过程持续追加到同一条轨迹。前者浪费 KV Cache,后者则让长上下文持续膨胀。Octopus 将两者合并为一个驻留 GPU 的 KV 有向无环图:所有线程共享同一个模型骨干,通过 fork、read_thread、wait_threads、rewind 和 commit 五种原语操作状态图。
这一设计的关键并不是简单地“启动多个 Agent”,而是让分支直接引用共享 KV 页面,并在训练时保留分支间的结构化依赖。
Zero-Copy Radix Forking:O(1)创建共享前缀分支
Octopus 的 Zero-Copy Radix Forking 以 Radix Tree 风格的物理 KV 页面组织缓存。创建分支时,系统只新增游标和少量元数据,而不是复制序列前缀对应的 Tensor,因此分叉操作在系统层面可视为 O(1),实际 KV 容量只随新增 Token 增长。
这解决的是多智能体研究任务中最昂贵的重复项:若多个分支共享长前缀,传统方案会为每个分支重复分配前缀 KV。Octopus 让这些分支只读引用同一批物理页面,分支独立写入的部分再分配新页。代价是实现必须正确处理页面生命周期、并发追加、引用计数和回收;若错误地允许分支原地修改共享页面,旧快照的可复现性就会失效。
Attention-Only KV Mounting:直接共享注意力可见状态
Octopus 第二个机制允许线程直接挂载兄弟线程的终止 KV 块,且不额外分配 KV。传统文本摘要通信需要把兄弟线程的结果重新 Prefill 为 Token,既增加计算,也会丢失原始上下文的细粒度信息。直接挂载让全注意力层读取其他线程已有的 KV 表示。
论文特别强调,这一机制绕过 Gated DeltaNet、Mamba-2 等线性循环模型的隐藏状态,因为循环状态具有顺序依赖,不能像独立 KV 块那样被另一线程安全读取;否则容易出现 off-task hijacking,即当前线程被无关分支的状态带偏。论文报告,该问题从 57.9% 降至 2.7%,改善 21 倍,同时保留 92.2% 的全文本互信息。
这并非无代价。GQA/MQA 中 KV Head 与 Query Head 的映射、位置编码 RoPE、因果注意力掩码、分支结束位置以及不同线程的位置偏移都必须对齐。如果挂载错误的 KV 会违反因果性,训练梯度也可能把兄弟线程状态错误归因给当前分支。
Packed DAG-GRPO:把分支信用写回联合优化
Octopus 使用 Packed DAG-GRPO 训练器,将一轮 episode 的所有分支打包进一次块稀疏注意力计算。块稀疏矩阵同时编码线程内因果关系、允许的跨线程读取边以及同步依赖,避免逐分支执行完整 Transformer 前向。
奖励分配同样不同于为每条轨迹独立计算最终回报。框架采用 leave-one-branch-out marginal rewards:比较保留或移除某个分支时的边际收益,再将信用分配给真正产生贡献的路径。这比仅按最终答案奖励整条轨迹更接近反事实信用分配,但仍可能受到奖励稀疏、搜索质量不稳定和分支间强相关性的影响。
从计算量看,若每条轨迹长度为 $L$、分支数为 $B$,朴素独立注意力需要约 $O(BCL^2)$;块稀疏实现只计算 DAG 允许的块对,复杂度更接近 $O(BL^2 + E_{\text{DAG}}L_b^2)$,其中 $E_{\text{DAG}}$ 是跨分支依赖边数。但真实速度还取决于 KV 页面布局、块表组织、GPU 占用率和分支不均衡。
实验结果与评测边界
Octopus 以 Qwen3.5-4B 在稀疏 BM25 语料上端到端执行 GRPO,并在 143K 上下文下评测 BrowseComp-Plus。其准确率为 49.6%,较单智能体 GRPO 高 17.5 个百分点,较文本摘要式多智能体 RL 高 12.5 个百分点;在 OpenResearcher 上达到 51.2%。论文还报告训练吞吐提升 3.3 倍、峰值 KV 显存降低 2.8 倍,并称其表现超过参数规模最多大 250 倍的稠密检索智能体。
这些结果证明共享 KV 状态与联合信用分配具有研究价值,但仍有几项限制:实验基于单一 4B 模型和 BM25 检索环境;官方摘要没有给出不同模型规模、密集检索器、真实网页环境、GPU 型号及重复运行方差;49.6% 的绝对准确率也表明长程研究任务仍存在明显错误空间。“击败大 250 倍模型”不能直接外推到模型质量不同的开放式检索任务。
开发者落地建议
对于希望实现多分支 RL 的团队,可以先复现固定策略下的 Zero-Copy Radix Forking,再加入 Attention-Only KV Mounting,并逐层验证 KV Head、RoPE、因果掩码和线程位置。生产实现至少需要提供页面引用计数、快照一致性、GPU OOM 回退、跨分支污染检测和线程级取消机制。
对于应用团队,Octopus 更适合长上下文检索、文献研究、假设验证等分支可并行且共享大量前缀的任务。其收益主要来自训练和状态复用,而不是单次生成延迟;若业务更重视首 Token 延迟、同步请求吞吐或工具调用稳定性,则应分别建立推理基准,不能直接套用论文中的训练吞吐结论。
关键取舍
Octopus 的核心交换关系很清楚:用更严格的 KV 共享和 DAG 约束,换取更低显存占用与更高并行效率;用直接挂载状态替代文本摘要,换取更完整的上下文,但引入状态污染和架构兼容风险。论文提供了有吸引力的系统级方案,但当前证据仍属于单一模型、静态检索语料上的研究结果,生产采用前应重点复现真实网页、动态工具调用和多 GPU 场景下的稳定性。
—— 完 ——消息来源:ArXiv Machine Learning (cs.LG) (2026-11-06)
主题标签: #Octopus #多智能体强化学习 #KV Cache #GRPO #块稀疏注意力
编辑部与事实核查说明:本篇专刊由智客前沿资讯管线根据官方技术公告、学术论文及开源工程文档整理编译,经算法实体核验与人工编辑审校后发布。若发现技术事实纰漏,欢迎依据勘误方针或一键向编辑部发送勘误反馈。
社区整体评论区