# 开源盘古openPangu-7B-Diffusion-DeepDiver 中文 | [English](README.md) ## 1. 简介 开源盘古openPangu-7B-Diffusion-DeepDiver 是一个基于block diffusion大语言模型(Diffusion LLM)的7B语言模型,专门针对多agent场景(包含工具调用、信息检索和多步决策)进行了训练与微调。模型的底层架构与推理流程沿用了[openPangu-R-7B-Diffusion](https://ai.gitcode.com/ascend-tribe/openPangu-R-7B-Diffusion/blob/main/README.md)的设计(包括 block-wise denoising、块内双向注意力),因此在单次生成与并行解码能力上保持一致的结构与接口体验。 该模型的完整评测、训练细节请参考技术报告《DLLM Agent: See Farther, Run Faster》([arXiv:2602.07451v2](https://arxiv.org/html/2602.07451v2))。 - 开源盘古openPangu-7B-Diffusion-DeepDiver:Agent模型,上下文长度为32k。 ### 主要特点: - 与 openPangu-R-7B-Diffusion采用相同的 DLLM 架构与迭代推理流程。 - 专门面向 agent 深度研究场景的训练数据与微调目标,使模型在多轮工具调用与规划任务上更稳健。 - 引入 context-clean corruption和span-aware attention alignment的训练策略,以降低 diffusion在多轮agent对话时的噪声传播并提升工具调用格式的可靠性。 #### 推理 ![Context_Causal_Block_Diffusion_LLM](images/Context_Causal_Block_Diffusion_LLM.png) 开源盘古openPangu-7B-Diffusion-DeepDiver采用**前文因果块扩散解码**,逐块进行扩散解码。解码过程中块内为全注意力,前文为因果注意力。当块内的token全部完成解码时,将整块token存入前文KV缓存,缓存采用因果注意力掩码,同时解码下一个block的首token。 - 支持变长推理和KV缓存。 - 灵活的上下文长度,不受块长度的限制。 - 支持自回归和块扩散两种解码方式。 - 使用confidence threshold采样,相比标准自回归解码,吞吐量最高可提升2.5倍。 - 类似于Fast dLLMv2在block内设置small block,可实现吞吐和效果的权衡,通常在small block长为4或8时表现最优。 ##### 在Agent流程中的推理 集成于[DeepDiver v2 Agent](https://ai.gitcode.com/ascend-tribe/openPangu-Embedded-7B-DeepDiver/tree/main/deepdiver_v2)工作流,模型在每轮生成工具调用内容时采用DLLM 的迭代去噪方式做推理。 Deepdiver v2是以Planner(规划器)为中心, 协调多个Executor(执行器)的MAS(Multi-Agent System,多Agent系统)架构。 Deepdiver v2的详细说明参考其[技术报告](https://ai.gitcode.com/ascend-tribe/openPangu-Embedded-7B-DeepDiver)。 #### 训练 ![alt text](images/image.png) ##### 训练语料 使用11k专门采集或合成的的agent轨迹数据(含 planner → seeker的多agent交互、真实工具调用、工具返回结果的轨迹数据)。这些数据的目的是让模型学习在多轮交互中产生语义一致且符合调用格式的工具调用指令。详见技术报告关于“Agent-oriented Fine-tuning” 的讨论。 ##### 监督方式 在训练中同步训练扩散模型和自回归模型的交叉熵损失,从而保证训练的稳定,并且保持模型可以稳定地从左到右生成。 ##### Masking 与注意力对齐 为了解决多轮对话上下文与模型输出的工具调用合在一起时扩散造成的信息污染,训练时采用屏蔽无关context片段的做法(context-clean corruption)并对生成token的注意力做了生成范围内的对齐(span-aware attention alignment);在agent数据集上的测试表明这两项修改均能提升信息检索的最终得分。 ## 2. 模型架构 | | openPangu-7B-Diffusion-DeepDiver | | :----------------------------: | :-------------------------: | | **Architecture** | Dense | | **Parameters (Non-Embedding)** | 7B | | **Number of Layers** | 34 | | **Hidden Dimension** | 12800 | | **Attention Mechanism** | GQA | | **Number of Attention Heads** | 32 for Q,8 for KV | | **Vocabulary Size** | 153k | | **Context Length** | 32k | | **Continued training Tokens** | 700B | ## 3. 测评结果 表 1. BrowseComp-zh的110问题子集的模型结果对比。 | Method | 正确率 (%) | 工具调用次数 | Agent轮数 | 工具调用失败率 | | ---------------------------------- | -----------: | ---------: | ---------: | ------------------: | | AR Agent (autoregressive backbone) | 15.5 | 7.5 | 14.8 | 1.9% | | DLLM Agent (diffusion backbone) | 15.5 | 6.7 | 13.0 | 6.4% | 虽然最终准确率在该子集上与 AR 相当,但DLLM在工具调用次数与sub-Agent轮数上更节省,且在端到端延迟上显示约30%的平均加速,但 DLLM 也显示出更高的工具调用失败率,显示出DLLM相比AR模型依然不足够稳定。 ## 4. 部署和使用 ### 4.1 环境准备 ##### 硬件规格 Atlas 800T A2 (64GB),驱动与固件安装包获取请参照 [[Atlas 800T A2](https://www.hiascend.com/hardware/firmware-drivers/community?product=4&model=26&cann=8.2.RC1.alpha003&driver=Ascend+HDK+25.0.RC1)]。 ##### 软件环境 - 操作系统:Linux(推荐 openEuler>=24.03) - CANN==8.1.RC1,安装准备及流程请参照 [[CANN Install]](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/82RC1alpha002/softwareinst/instg/instg_0001.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit) - python==3.10 - torch==2.6.0 - torch-npu==2.6.0 - transformers==4.53.2 以上软件配套经过验证,理论可以支持更高版本,如有疑问,可以提交 issue。 ### 4.2 推理样例 下述内容提供 开源盘古openPangu-7B-Diffusion-DeepDiver 在 `transformers` 框架上结合deepdiver v2 Agent框架进行推理的一个简单示例: #### 测试加载和运行 运行前请修改 generate.py,添加模型路径。 ```bash cd inference python generate.py ``` 与基准测试不同,为了实现最佳吞吐量,采样参数应设置为 `alg="confidence_threshold", threshold=0.9, num_small_blocks=1`,并根据设备选择合适的batch size。 #### 服务化部署 下载[简易服务化脚本](https://github.com/LinWeizheDragon/dllm-agent/blob/main/launch_server.py),放入模型文件夹中,执行下面命令启动简易服务化部署: ```bash python launch_server.py --load /path/to/model --port 9999 ``` #### Deepdiver v2 从Deepdiver v2官方仓库下载[Deepdiver v2包](https://ai.gitcode.com/ascend-tribe/openPangu-Embedded-7B-DeepDiver/tree/main/deepdiver_v2)(不需要下载模型权重),根据官方文档进行安装。将其中的`env.template`复制粘贴到`config/.env`后,在其中指定模型服务的url为`MODEL_REQUEST_URL`,将`MODEL_NAME`修改为模型服务对应的模型名称(默认为`local-diffusion-llm`)。 启动MCP服务: ```bash python src/tools/mcp_server_standard.py ``` 向Deepdiver v2发出query: ```bash python cli/demo.py -q "今天北京的天气怎么样?" ``` Deepdiver v2的其他用法可以参考其官方仓库。 目前开源盘古openPangu-7B-Diffusion-DeepDiver模型仅在Deepdiver v2框架上做过训练和测试,没有对其他Agent框架或者任务做适配。我们不能保证开源盘古openPangu-7B-Diffusion-DeepDiver模型在其他框架或者任务上的表现。 ## 5. 模型许可证 请在使用模型或结果时引用技术报告:“DLLM Agent: See Farther, Run Faster” (arXiv:2602.07451v2)。 除文件中对开源许可证另有约定外,开源盘古openPangu-7B-Diffusion-DeepDiver模型根据 OPENPANGU MODEL LICENSE AGREEMENT VERSION 1.0 授权,旨在允许使用并促进人工智能技术的进一步发展。有关详细信息,请参阅模型存储库根目录中的 [LICENSE](LICENSE) 文件。 ## 6. 免责声明 由于 开源盘古openPangu-7B-Diffusion-DeepDiver(“模型”)所依赖的技术固有的技术限制,以及人工智能生成的内容是由开源盘古自动生成的,华为无法对以下事项做出任何保证: - 尽管该模型的输出由 AI 算法生成,但不能排除某些信息可能存在缺陷、不合理或引起不适的可能性,生成的内容不代表华为的态度或立场; - 无法保证该模型 100% 准确、可靠、功能齐全、及时、安全、无错误、不间断、持续稳定或无任何故障; - 该模型的输出内容不构成任何建议或决策,也不保证生成的内容的真实性、完整性、准确性、及时性、合法性、功能性或实用性。生成的内容不能替代医疗、法律等领域的专业人士回答您的问题。生成的内容仅供参考,不代表华为的任何态度、立场或观点。您需要根据实际情况做出独立判断,华为不承担任何责任。 ## 7. 反馈 如果有任何意见和建议,请提交issue或联系 openPangu@huawei.com。 ## 8. 引用 ```bibtex @article{zhen2026dllm, title={DLLM Agent: See Farther, Run Faster}, author={Zhen, Huiling and Lin, Weizhe and Liu, Renxi and Han, Kai and Li, Yiming and Tian, Yuchuan and Chen, Hanting and Li, Xiaoguang and Li, Xiaosong and Chen, Chen and others}, journal={arXiv preprint arXiv:2602.07451}, year={2026} } ```