# disagg：数据中心大模型推理的拆解与异构性探索工具

> 一个用于探索数据中心LLM推理中拆解策略与异构芯片配置的开源工具，支持预填充/解码分离、注意力/专家分离以及推测解码等多种拆解轴，帮助开发者找到吞吐率、交互性与成本的最优帕累托前沿。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-07T04:41:15.000Z
- 最近活动: 2026-06-07T04:51:28.300Z
- 热度: 145.8
- 关键词: LLM推理, 数据中心, 异构计算, 拆解策略, 预填充解码分离, MoE, 推测解码, 性能优化, 成本优化, GPU
- 页面链接: https://www.zingnex.cn/forum/thread/disagg
- Canonical: https://www.zingnex.cn/forum/thread/disagg
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：epsteinj
- 来源平台：github
- 原始标题：disagg
- 原始链接：https://github.com/epsteinj/disagg
- 来源发布时间/更新时间：2026-06-07T04:41:15Z

## 原作者与来源\n\n- 原作者/维护者：epsteinj\n- 来源平台：GitHub\n- 原始标题：disagg\n- 原始链接：https://github.com/epsteinj/disagg\n- 来源发布时间/更新时间：2026-06-07T04:41:15Z\n\n## 项目背景与动机\n\n随着大型语言模型（LLM）在数据中心的广泛部署，推理效率成为制约成本与用户体验的关键瓶颈。传统的同构部署模式——即使用相同规格的GPU集群来运行整个推理流程——虽然在工程上简单直接，但往往无法充分利用不同硬件特性，也难以在吞吐率、交互延迟和每token成本之间取得平衡。\n\nepsteinj开发的disagg项目正是针对这一痛点而生。该项目 fork 自知名的 transformer_math 工具，但在此基础上进行了深度审计与功能扩展。原始工具虽然提供了芯片性能目录和模型预设，但明确标注了"未建模异构性"这一限制。disagg的目标正是填补这一空白：让开发者能够探索不同芯片组合、不同拆解策略下的帕累托前沿。\n\n## 核心功能与拆解轴\n\ndisagg目前支持三种主要的拆解轴（disaggregation axes），每种都针对LLM推理的不同阶段和计算特性进行了优化：\n\n### 1. 预填充与解码分离（Prefill / Decode）\n\n这是最为经典的拆解策略。预填充阶段（Prefill）需要处理完整的输入上下文，计算密集，适合高算力芯片；解码阶段（Decode）则是自回归生成，访存密集，对带宽要求更高。通过将两个阶段分配到不同的芯片池，可以实现KV缓存的一次性传输，避免重复计算。\n\n### 2. 注意力与专家分离（Attention / Expert）\n\n针对MoE（混合专家）模型，disagg支持将注意力层和专家层分别部署在不同的硬件上。注意力层通常需要高带宽内存（HBM）来存储KV缓存，而专家层则需要大容量内存来容纳众多专家参数。这种分离策略允许为不同层选择最适合的硬件，比如用高带宽芯片处理注意力，用大容量芯片承载专家。\n\n### 3. 推测解码（Speculative Decoding）\n\n通过将草稿模型（draft）和目标模型（target）分离部署，disagg可以模拟推测解码带来的加速效果。工具内置了接受率的数学模型，能够估算出理论上的2-3倍加速比，帮助开发者评估是否值得为推测解码投入额外的硬件资源。\n\n## 技术架构与实现细节\n\ndisagg的技术架构清晰分层，便于理解和扩展：\n\n### 核心引擎（src/engine/core.js）\n\n这是从原始 transformer_math  verbatim 提取的分析引擎，包含了：\n- 芯片性能目录（chipPerfSpecs）：收录了各厂商芯片的峰值算力、内存带宽、容量等关键指标\n- 模型预设（modelPresets）：支持主流LLM的参数配置，包括参数量、层数、隐藏层维度、KV头数等\n- FLOPs/字节计算核心（getStepCost）：精确计算每个推理步骤的计算和访存开销\n- 屋顶线模型（roofline）：结合芯片算力和带宽，预测实际可达的MFU（模型FLOPs利用率）\n- 并行策略规划器（deriveDeploymentMode）：根据模型规模和硬件配置，推荐数据并行、张量并行或流水线并行策略\n\n### 异构支持增强\n\n相比原始工具，disagg引入了多项关键改进：\n\n**持续有效算力约定（Sustained-effective convention）**：不再使用理论峰值，而是采用经过验证的每芯片MFU（默认0.50/0.70）和带宽效率来估算实际性能，使预测更接近生产环境。\n\n**MoE低批次修复（M1）**：修复了原始工具在处理MoE模型小批次（如B=1）时的过预测问题。以DeepSeek-V3为例，修复前预测约770 tok/s，修复后降至约51 tok/s，更符合实际。\n\n**双层内存模型**：引入快速SRAM/HBM和冷LPDDR/CXL的分层概念，支持mem_*_cold和weight_tier参数，为d-Matrix等新型架构提供了建模能力。\n\n## 用户界面与可视化\n\ndisagg提供了一个自包含的Web界面（index.html），无需构建步骤即可运行：\n\n- 拆解轴选择器：在三类拆解策略之间快速切换\n- 芯片池选择器：支持为不同角色选择异构芯片组合，并显示来源标注（provenance tags）\n- 帕累托前沿图表：可视化展示吞吐率 × 交互性 × 每百万token成本的三维权衡\n- 异构vs同构对比：突出显示异构配置相比传统同构部署的优势\n\n界面采用ES模块原生实现，通过npm run ui即可在本地启动开发服务器预览。\n\n## 验证与测试\n\n项目包含了完整的验证体系：\n- test/anchors.mjs：复现已发布的基准测试点，确保数学模型的正确性\n- audit/AUDIT.md：详细记录了首次审计过程，包括数学推导和基准数据来源\n- npm test：运行目录验证、闭式公式检验和现实边界检查\n\n这种审计驱动的开发方式，使得disagg不仅是一个工具，更是一个经过严格验证的推理性能分析框架。\n\n## 使用场景与实践价值\n\ndisagg适用于多种场景：\n\n**硬件选型决策**：在部署新模型前，通过工具模拟不同芯片组合的表现，避免昂贵的试错成本。\n\n**容量规划**：根据预期的请求模式和延迟要求，反推所需的硬件规模和配置。\n\n**架构研究**：探索新兴的拆解策略（如预填充/解码分离）在特定模型和硬件组合下的收益。\n\n**成本优化**：找到满足性能约束下的最低成本配置，或给定预算下的最优性能方案。\n\n## 项目状态与路线图\n\n截至目前，disagg已完成以下里程碑：\n- ✅ 引擎fork、审计完成，目录已修正来源标注\n- ✅ 持续有效算力约定实现\n- ✅ MoE低批次修复（M1）\n- ✅ 双层内存模型支持\n- ✅ 三类拆解轴实现（预填充/解码、注意力/专家、推测解码）\n- ✅ Web UI完成\n\n后续计划包括：\n- 使用真实tok/s锚点校准d-Matrix模型\n- 支持嵌入/编码器拆解轴（需要多模态模型预设）\n- 超越全局默认值的每芯片MFU校准\n\n## 注意事项与限制\n\n项目文档特别提醒，芯片目录中包含厂商专有数据（如d-Matrix的"Proprietary"标注幻灯片、Tensordyne的演示文稿数据）。在将仓库公开或CDN分发前，需要清理这些敏感行。\n\n## 总结\n\ndisagg为LLM推理优化提供了一个严谨而实用的分析框架。通过支持多种拆解轴和异构硬件配置，它帮助开发者超越简单的"堆GPU"思维，在复杂的性能-成本-延迟权衡中找到真正的帕累托最优。对于正在规划或优化数据中心LLM部署的团队而言，这是一个值得深入研究的工具。
