马上注册,查看更多内容,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
梁文锋亲自参与的DeepSeek最新论文,来了! 这一次,团队把DeepSeek-V3在训练和推理过程中,如何解决“硬件瓶颈”的方法公布了出来。 
具体而言,DeepSeek-V3之所以可以只用2048块H800,就能达到超大规模集群(如数万块GPU)相当的训练效果,核心在于四项创新技术:
- 内存优化
- 多头潜在注意力(MLA)
- 计算优化
- 混合专家模型(MoE)与FP8低精度训练
- 通信优化
- 多层网络拓扑与低延迟设计
- 推理加速
- 多token预测(MTP)

那么这四项优化具体又是如何起到作用的,我们继续往下看。 软硬件协同的优化设计 在训练大模型这条路上,可以说一直有“三座大山”在占道。 首先就是内存不够用。 现在的大语言模型(比如GPT、Llama)变得越来越庞大,需要的存储空间激增。特别是它们使用的“注意力机制”会产生大量临时数据(KV Cache),占用大量显卡内存。 但高性能显存的容量增长太慢了,每年才增加不到50%,远远跟不上需求。 其次是计算效率低。 训练超大规模模型需要海量计算资源,传统 “稠密模型”(如 Llama-3)每次计算都要激活所有参数,导致计算成本极高。 而 “混合专家模型”(MoE)虽然更高效,但需要复杂的通信机制(如专家间数据传输),对网络带宽要求极高。 最后就是通信速度慢。 当使用多个GPU一起训练时,它们之间需要不断交换数据,这个过程会产生延迟。即使用了高速网络(如InfiniBand),这种延迟仍然会拖慢整体训练速度,尤其是处理长文本或需要实时响应时更明显。 而这篇论文所要解决的,正是上述的这些老大难的问题。 
△DeepSeek-V3的基本架构 DeepSeek团队首先是对内存进行了优化,所采用的方法则是多头潜在注意力(MLA),为的就是减少 “键值缓存”(KV Cache)的内存占用。 传统模型每个注意力头都需要独立缓存键值对,而MLA通过投影矩阵将所有头的键值对压缩成一个更小的 “潜在向量”,只需缓存这一向量。 相比其他模型(如LLaMA-3、Qwen-2.5),DeepSeek-V3的KV缓存大小每token仅需70 KB,是传统方法的1/7到1/4,大幅降低显存压力,尤其适合长文本处理。 在计算优化方面,DeepSeek-V3所采用的方法,则是MoE和FP8低精度训练。 MoE,即将模型参数分成多个 “专家”,每次只激活部分专家处理输入,显著减少实际计算量。 DeepSeek-V3采用类似的思路,其总参数虽然是6710亿,但每次仅激活370亿参数,训练成本仅为同规模稠密模型的1/10(如Llama-3.1的训练成本是其近10倍)。 也正因推理时激活参数少,DeepSeek-V3可在消费级GPU(如售价1万美元的显卡)上运行,每秒生成近20个token,适合个人或中小型企业使用。 
至于FP8低精度训练,不同于传统训练使用BF16(16 位浮点),可将内存占用和计算量减半,同时通过 “精细量化”(如分块压缩)保持精度。 而DeepSeek-V3是首次在开源大模型中成功应用FP8训练,训练成本降低50%,且精度损失小于0.25%。 
除此之外,DeepSeek-V3在通信方面也做了相应的优化。 例如多层胖树网络(Multi-Plane Fat-Tree),将集群网络分为多个 “平面”,每个GPU连接到独立的网络平面,避免不同任务的流量冲突(如训练与存储通信分离)。 相比传统三层网络,两层结构成本降低40%,延迟减少30%,支持上万GPU扩展。 
DeepSeek-V3在做推理时,还将 “注意力计算” 与 “专家间通信” 分阶段执行,利用流水线并行(DualPipe)让GPU在计算时同时传输数据,避免空闲等待,吞吐量提升近1倍。 最后,在推理加速方面,DeepSeek-V3采用的是多token预测(MTP)的方法。 传统模型每次只能生成1个token,而MTP通过轻量级子模型并行预测多个候选token(如一次预测2-3个),验证后选择最优结果。 从实验效果来看,生成速度提升1.8倍,例如每秒生成 oken数从10个增至18个,同时保持准确率在80%-90%。 以上就是DeepSeek-V3通过硬件与模型的协同设计,在有限资源下可以实现高效训练和推理的关键技术了。 不过除此之外,这篇论文还对未来的工作有着一定的启发作用。 从 “被动适配” 到 “主动设计” 既然已经知道了当前AI在硬件上的瓶颈,就可以提出对下一代AI硬件的期待。 DeepSeek团队从五大维度做出了展望,希望在这一方面能够从过去的“被动适配”逐步过渡到“主动设计”。 1、低精度计算支持 针对计算效率低的问题,下一代的AI硬件需要提高累积寄存器的精度,支持FP32累加,或可配置精度(如训练用FP32,推理用FP16)。这样才能在不同的模型训练和推理需求中实现性能和准确性的平衡。 硬件还需要支持本地的细粒度量化,使张量核心能够直接接收缩放因子(scaling factors),在计算单元内部完成量化和反量化,减少数据搬运。 此外,建议支持LogFMT(对数浮点格式),在相同比特宽度下提供更高精度,并提高编解码的速度。 2、扩展与扩展融合 针对传输速度慢的问题,建议未来的硬件将节点内(纵向扩展)和节点间(横向扩展)的通信整合到一个统一的框架中,通过集成专门用于网络流量管理的协处理器。 这样的设计可以降低软件复杂性并最大化带宽利用率,包括以下内容:
- 统一网络适配器:设计连接到统一扩展和缩减网络的NIC(网络接口卡)或I/O芯片,让网卡直接支持所有通信需求。
- 专用通信协处理器:将数据搬运、Reduce、类型转换等任务卸载到专用硬件,释放GPU SM资源。
- 增加智能传输功能:自动转发数据,支持广播和汇总操作,并自动处理数据顺序问题。
- 动态带宽分配:支持流量优先级调度(如EP通信>KV缓存传输)。
- CPU-FPU高速互联:用NVLink连接CPU与GPU,进一步优化节点内通讯。
3、网络拓扑优化 针对网络卡顿的问题,建议以太网供应商开发专门针对RDMA工作负载进行优化的RoCE交换机,移除不必要的以太网功能。 还需要优化路由策略,支持自适应路由(Adaptive Routing,AR)通过动态向多个路径发送数据包,即可显著提高网络性能。 或者可以通过虚拟输出队列(VOQ)改进流量隔离或拥塞控制机制,隔离不同流量,避免拥塞。 4、内存系统优化 针对AI模型记性越来越差,聊天时难以记住上下文的问题,可以通过3D堆叠DRAM的方法,把内存芯片像三明治一样叠在计算芯片上。 或者学习Cerebras,直接在晶圆上进行集成工程,最大化内存带宽和计算密度,让硬件能记得更多。 又或者,在硬件存储层部署稀疏注意力加速器,让硬件直接帮忙整理记忆,只记重点。 5、鲁棒性与容错 针对大规模训练中网络闪断、GPU故障会导致任务失败的问题,期待下一代硬件能够支持链路层重试和快速故障切换,在闪断后能够立刻自己找备用路线。 还可以增加基于信用的流控(CBFC)+智能拥塞控制算法(如RTT-CC),避免网络集体卡死。 简单来说,下一代AI硬件要向算数快(低精度计算+本地细粒度量化)、传话快(直连网络+智能路由)、记性好(3D内存+近存计算)、不宕机(自愈网络)的方向改进,才能更好地应用于大模型训练,实现高效扩展。
|