微信扫码
添加专属顾问
SGLang开源DeepSeek-V3/R1的H100部署方案,性能匹敌官方,成本更低! 核心内容: 1. SGLang团队开源DeepSeek-V3/R1在H100上的部署方案 2. 采用预填充-解码分离架构和大规模专家并行技术,性能接近官方 3. 本地部署成本为每百万输出token 0.2美元,远低于官方Chat API
刚刚,SGLang团队开源了他们部署DeepSeek-V3/R1大模型的方案。该方案使用96张H100(12个节点,每个节点8块H100 GPU)部署,采用预填充-解码分离架构和大规模专家并行(EP)技术(结合了DeepSeek开源的DeepEP、 DeepGEMM、EPLB),在处理2000 token输入序列时,单节点吞吐达到每秒52.3k输入token和22.3k输出token。这是首个在开源实现中接近DeepSeek官方博客报告的大规模吞吐性能的方案。如果在本地部署该方案,成本为每百万输出token 0.2美元,约为DeepSeek官方Chat API成本的五分之一。
目前,SGLang团队还专门写了一篇文章深入解析该部署方案的并行化设计、优化方法与实测结果。
高效并行化对处理DeepSeek架构的计算复杂度和内存需求至关重要。本节概述了我们对以下关键组件的优化方案:注意力层、稠密前馈网络(FFN)、稀疏FFN以及语言模型(LM)头。每个组件都采用定制化的并行策略,以提升可扩展性、内存效率和性能。
DeepSeek采用多头潜在注意力机制(MLA)来有效建模输入序列中的复杂依赖关系。为优化该机制,我们实现了DP Attention数据并行策略,消除跨设备的KV缓存冗余,显著降低内存开销。该方案自SGLang v0.4引入,现已扩展支持混合数据与张量并行,可灵活高效处理小批量数据。
尽管仅使用三个稠密FFN层,DeepSeek-V3的计算仍会显著增加峰值内存占用,若管理不当可能导致系统崩溃。为此,我们采用数据并行(DP)而非张量并行(TP)策略,其优势如下:
(1)扩展性增强:当中间维度达18,432时,高TP并行度(如TP32)会导致单元碎片化(如576单元),该数值无法被现代GPU(如H100)的通用对齐边界128整除。这种错位会损害计算效率和内存利用率。DP通过避免碎片化确保跨设备负载均衡,提供更优的扩展方案。
(2)内存效率优化:传统TP虽能随计算单元增加降低内存占用,但在DP注意力机制下优势减弱。纯TP架构中,单层Transformer模型的内存需求随DP规模呈以下比例增长:
此处,表示每个设备(DP rank)上的隐藏状态大小,代表模型参数量,是表示CUDA Graph复制额外内存开销的系数。假设时,该内存使用函数在条件下取得最小值。DeepSeek-V3的中间层维度为18,432。在预填充阶段,CUDA Graph通常禁用,因此。但每设备的token数极易超过2,048,此时最优TP并行度为3或更低。在解码阶段,典型配置为每设备128个token且设置,此时内存最优TP并行度为6。两个阶段中,较低的TP并行度都能最小化单设备内存占用。因此,相比单纯依赖TP,DP可提供更具内存效率的扩展方案。
(3)通信开销最小化:在纯TP架构中,每个FFN层需要进行两次all-reduce操作,产生显著通信开销。通过采用DP策略,我们将其优化为在前置注意力层后执行单次reduce-scatter,在后续层前执行all-gather,使通信成本降低50%。当注意力计算也采用纯DP时,设备间通信可完全消除,大幅提升整体效率。
下图(a)展示了DP稠密FFN与DP注意力的集成方案,用户可通过设置--moe-dense-tp-size=1启用该功能。
在DeepSeek-V3的混合专家(MoE)架构中,稀疏FFN需要存储大量专家权重,形成显著内存瓶颈。我们采用专家并行(EP)策略,将专家权重分布到多个设备上。该方案在保持高性能的同时有效扩展内存容量,但会带来非常规all-to-all通信和工作负载不均衡等挑战。上图(b)展示了基于DeepEP框架的EP实现方案,具体设计与优化详见后续章节。
LM头需要在大词汇表上计算输出概率,这一资源密集型操作传统上采用词汇表并行来聚合TP组的token逻辑值。为提升扩展性和效率,我们沿用稠密FFN的数据并行(DP)策略,既降低内存开销又简化设备间通信,提供更高效的解决方案。
大语言模型推理包含两个独立阶段:预填充阶段(计算密集型,处理完整输入序列)和解码阶段(内存密集型,管理KV缓存进行token生成)。传统方案采用统一引擎处理这两个阶段,导致预填充与解码批次混合调度效率低下。为此,我们在SGLang中引入了预填充-解码(PD)分离架构。
传统统一引擎会引发三个关键问题:
PD分离架构通过阶段解耦,为每个阶段实施定制优化,有效解决上述问题。
SGLang的PD分离架构如下图所示,通过预填充服务器与解码服务器交替执行实现:
接收到输入请求后,工作流程如下:
这种分离确保每个阶段在最佳条件下运行,最大化 GPU 资源利用率。为了进一步提高性能,我们的实现包括:
DeepEP是DeepSeek团队开发的一款专为简化混合专家模型(MoE)中专家并行(EP)设计的通信库。它有效解决了跨多GPU高效路由令牌至特定专家的技术难题,通过优化通信内核显著降低延迟并提升吞吐量,特别适合大规模推理任务。DeepEP提供两种专用调度模式以应对不同计算需求:
在SGLang中,DeepEP的自动模式能根据工作负载动态选择上述调度方式。但若未采用参数分散(PD)技术,自动模式存在局限:同一通信组内无法同时支持预填充阶段的常规调度和解码阶段的低延迟调度。这一限制影响了其与DP注意力(内存高效推理的关键技术)的兼容性。各模式兼容性如下表所示:
PD解耦技术通过分离预填充和解码阶段来解决这一问题,使得在DP注意力机制下,预填充阶段可采用常规调度模式,解码阶段则启用低延迟调度模式。这种集成方案通过精准匹配各阶段需求来优化资源利用率,从而全面提升系统性能。
DeepGEMM是DeepSeek团队开发的另一款高效计算库,专为优化MoE模型中的计算任务而设计。它提供两种针对推理不同阶段的MoE相关矩阵乘法(分组GEMM)专用函数:
DeepGEMM与DeepEP的调度模式深度协同:
SGLang还在张量并行下集成了DeepGEMM的MoE计算能力。此外,DeepGEMM提供高性能通用GeMM内核,通过设置环境变量SGL_ENABLE_JIT_DEEPGEMM=1即可在SGLang中启用,为非MoE运算带来更强计算效能。
在多节点环境中,有限的通信带宽会显著增加整体延迟。为应对这一挑战,我们基于深度求索的系统设计实现了双批次重叠技术(TBO)。该技术将单个批次拆分为两个微批次,实现计算与通信的重叠执行,同时通过有效批次大小减半来降低峰值内存占用。然而,实际部署TBO时需解决特定实现难题。
尽管DeepSeek已公开TBO的设计框架,但仍存在两个细微的实现难点:
为构建更易维护和复用的代码库,我们采用由操作节点和暂停点组成的抽象层。该方法允许开发者以单微批次模式编写代码,同时通过插入策略性暂停点让其他微批次执行,从而简化开发流程。该方案具有以下优势:
以下为该方案的简要实现演示:
我们改进了预填充阶段的任务启动顺序,以避免DeepEP中调度操作造成的CPU阻塞(即使在使用异步模式时)。具体而言:
为优化性能,我们优先向GPU提交计算任务,再启动会阻塞CPU的通信操作。这确保了GPU在通信期间仍能保持计算活跃状态。如下图所示,采用合理启动顺序(以加粗边框标示)的TBO技术,成功规避了常规调度等CPU阻塞操作导致的计算气泡。
在MoE模型中,专家并行(EP)常导致GPU间工作负载分布不均。这种不平衡迫使系统等待最慢的GPU计算或通信,既浪费计算周期又因专家激活增加内存占用。随着GPU数量(EP规模)增加,不平衡问题会愈发严重。
为解决此问题,DeepSeek开发了专家并行负载均衡器(EPLB)。EPLB以专家分布统计数据为输入,计算最优的专家排布方案以最小化负载不均。用户可分配冗余专家(例如32个额外专家),与原有256个专家共同构成288个专家的资源池。该资源池允许EPLB智能地放置或复制专家——例如多次复制最高频使用的专家,或将中等使用频率专家与极少使用专家组合部署在同一GPU上。
除平衡负载外,EPLB还提供了更灵活的并行设计。原始256个专家方案将并行规模限制为2的幂次方,而EPLB的288专家方案支持更丰富的配置(如12或72等并行规模)。
下图通过仿真展示了规模效应和EPLB算法对负载不均的影响。我们通过GPU间MoE层的平均计算时间与最大计算时间之比来衡量平衡性,并使用各GPU处理的token数量估算其计算时间。可见系统扩展时利用率随节点数增加而下降,而启用EPLB能显著提升利用率。
要使EPLB发挥最佳效果,输入分布必须与实际服务负载高度匹配。我们通过两种策略实现这一目标:
即使采用EPLB,部分负载不均衡仍不可避免,这使得进一步优化成为有价值的未来研究方向。
SGLang采用三阶段专家再平衡机制,在保证效率的同时最大限度降低服务中断:
这种分阶段实施方案确保再平衡过程既高效又无感知,在更新过程中始终保持系统性能稳定。
我们在12节点集群上基于DeepSeek-V3评估了SGLang不同配置的端到端性能,集群通过InfiniBand互联,每个节点配备8块H100 GPU。本次测试重点验证高级优化技术带来的吞吐量提升,对比了以下四种配置方案:
为适应不同负载需求,我们分别评估了预填充(P)与解码(D)阶段性能(假设非测试阶段资源无限以隔离测试节点负载)。测试环境复现DeepSeek官方配置,结果如下:
本节将SGLang的性能与DeepSeek推理系统进行对比,实验设置尽可能贴近DeepSeek的生产环境。我们从整体吞吐量和详细内核拆解两个维度展开分析,并参照DeepSeek官方博客及公开性能数据进行基准测试。
在预填充阶段,我们测试了单设备处理16,384个token、输入长度为4,096的场景。由于不确定DeepSeek的专家分布策略,我们评估了两种情形:默认专家分布方案,以及模拟理想EPLB(遵循分组限路由语义的随机专家选择)作为性能上限。 测试结果如下所示:
DeepSeek的分析报告显示其吞吐量大约是其生产环境的两倍。使用默认专家负载均衡的SGLang比DeepSeek的结果慢20%,而模拟的完美EPLB情况将差距缩小到6%。在解码方面,结果如下:
仅使用DeepSeek一半节点时,采用模拟MTP的SGLang性能仅略低于DeepSeek的配置。在高批量设置下(256序列,2000输入长度),SGLang每节点每秒可处理22,282个token,展现出强劲的可扩展性。
下图展示了预填充阶段的内核执行时间细分,包括作为理论上限的单元测试结果:
SGLang的解码内核分解与DeepSeek高度吻合,如下图所示:
关键观察结果包括:
尽管存在小幅改进空间(主要在"其他内核"的融合优化),SGLang的解码性能已基本与DeepSeek对齐,下一步将重点优化预填充阶段。
本节探讨了在不同批处理大小和模拟多任务处理(MTP)场景下TBO的性能表现。
TBO在预填充阶段带来两大显著收益,吞吐量对比和内存优化结果证明了这一点:
TBO在解码阶段的表现因场景而异,性能与批处理大小和注意力处理时间密切相关:
我们评估了三种预填充场景:TBO 16k令牌/批次、TBO 8k令牌/批次、无TBO 8k令牌/批次。关键发现如下:
我们分析了三种配置:TBO 256批次、无TBO 256批次、无TBO 128批次。时间分解显示:
本节通过整体吞吐量分析和详细案例研究评估EPLB对系统性能的影响。鉴于EPLB对生产环境中工作负载分布及分布变化的敏感性,我们重点关注定性且可泛化的结论,而非需生产数据支撑的实际性能表现。
下图展示了大规模场景下EPLB对吞吐量的影响。EPLB在预填充和解码阶段分别实现1.49倍和2.54倍的加速,这得益于其缓解GPU间工作负载失衡的能力。随着计算规模扩大,失衡问题加剧,而EPLB在实验中有效解决了这一问题,从而显著提升吞吐量。
为探究工作负载失衡与吞吐量的关联,我们以解码阶段为例进行案例分析:输入1800个令牌,输出100个令牌,批次大小为256。通过绘制解码步骤中吞吐量与平衡度(专家间平均令牌数/最大令牌数)的关系曲线,发现二者存在强相关性,表明高平衡度对性能优化至关重要。
下图展示了预填充与解码样本数据的专家分布统计结果:
关键发现:
这些结论揭示了EPLB在解决工作负载失衡中的作用,以及针对阶段需求定制专家分布的重要性。
PyTorch中的内存管理可能因持久化对象引用而变得复杂,尤其是在GPU密集型工作流中,CUDA内存属于稀缺资源。参考以下示例:
在这段代码中,del hidden_state的本意是在计算完intermediate_state后释放hidden_state占用的内存。然而由于hidden_state仍在函数外部被引用,del操作实际并未生效。这会导致峰值内存占用增加,可能引发性能下降或内存不足错误。
SGLang通过DisposableTensor类解决这一问题——作为torch.Tensor的子类,它新增了dispose()方法,能显式且立即释放张量内存,从而规避Python引用计数机制的限制。其工作原理如下:
通过将hidden_state封装为DisposableTensor并在不再需要时调用dispose(),CUDA内存可立即释放。这确保了张量在完成计算作用后内存即刻回收,有效降低峰值内存占用并提升整体效率。
SGLang还包含一套工具集,用于分析和模拟MoE模型中专家工作负载的分布。该功能支持用户实现以下目标:
此模拟功能使用户能够评估再平衡频率、节点数量或批次大小等因素对系统性能的影响,为规模化部署前的配置调优提供高性价比方案。
尽管当前基于SGLang的DeepSeek-V3推理实现已显著提升吞吐量,仍存在以下待改进方向:
通过参数分解解耦(PD)、专家并行(EP)和精心设计的并行方案,我们在SGLang中复现了DeepSeek推理框架并实现卓越性能。开源成果显示:输入吞吐量达52.3k token/秒,输出吞吐量达22.3k token/秒,充分证明SGLang在大规模LLM推理中的强大能力。诚邀社区共同探索、复现并拓展此项工作,推动高效AI部署的边界。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-04
ThinkParse 1.1.0 开源发布:把文档解析,做成可扩展的企业级服务
2026-07-04
Agent 工程终于有脚手架了, Google开源一个开发agent的工具
2026-07-03
用云新范式:Qoder Cloud Agents × Alibaba Cloud Skills
2026-07-03
Ornith-1.0 发布: 新一代 Agentic Coding 之王,MIT 开源
2026-07-02
Meta把内部设计系统开源了,支撑内部13000+应用,专为Agent调优
2026-07-02
别再把 AI 当搜索引擎了,这 20 个操作让它替你干活
2026-07-02
ollama v0.31.1发布:Apple Silicon上Gemma 4提速近90%,默认开启无感升级
2026-07-01
在 OpenCode 中接入本地模型:Ollama 部署与配置完全指南
2026-04-09
2026-04-18
2026-04-18
2026-06-22
2026-05-10
2026-05-06
2026-05-31
2026-05-20
2026-04-21
2026-04-21
2026-06-16
2026-05-30
2026-05-16
2026-04-22
2026-04-21
2026-04-15
2026-04-09
2026-04-01
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。