南宫体育新闻详情 - 安全升级与赛事新体验 - 南宫体育网站

突发,DeepSeek重磅开源核心推理引擎

源神重新归位!

就在不久前,DeepSeek再次发布重磅消息,完全开源其自主研发的推理框架DeepInfer。

借助该框架,一个集群每日可处理155万亿Token,DeepSeek V4.1 Flash之所以能实现高吞吐、低延迟的大规模推理,正是归功于此。

开源地址:https://github.com/deepseek-ai/DeepInfer 开源地址:https://github.com/deepseek-ai/deepseek-recipe

一同发布的,还有面向生产环境的Token编解码组件deepseek-recipe。

英伟达SM100 GPU和华为昇腾950 NPU,均在其支持之列。

DeepSeek在知乎上发布了详细的技术文章,并在GitHub上提供了一份部署问答,将这套系统从架构设计到具体部署细节,毫无保留地公之于众。

根据官方公布的线上数据,每个请求平均输入77K Token,首个Token的平均生成时间仅为400毫秒。在生成阶段,每秒可输出230个Token,编写代码时更是能达到300个。

平均有96%的输入可以直接命中缓存,无需重新计算。

按谷价计算,每张卡每小时的收入为38美元。

如今,全球开发者都能看到DeepSeek究竟是如何让大模型高效运行的。

DeepSeek研究员Deli Chen更是放出豪言。

开源与闭源。光明与黑暗。两种未来、人类两种命运之间的决战。他们想打多久,我们就打多久。直到取得完全胜利。

评论区里,充满了开发者的热烈反响。

正如网友所言,模型开源已是“常规操作”,如今连推理引擎也一并开源,格局直接拉满。

此前,DeepSeek已经开源了一系列大模型、用于开发高性能算子的TileLang以及多个推理算子库。

这一次,从请求进入系统到生成结果,中间每一步如何节省算力,DeepSeek都完全公开了。

一个请求,分两路处理

模型处理一个请求分为两个步骤。第一步是Prefill,模型会一次性读取系统提示、聊天记录、文件以及问题,每个Token在每一层都会产生一组中间结果,这就是KV缓存。

第二步是Decode,模型开始逐个Token地生成答案,每生成一个,都需要用到之前所有的KV缓存。

这两个步骤消耗的资源截然不同。Prefill一次需要处理数万个Token,对算力要求极高。

Decode一次只生成一个Token,大部分时间都花费在从显存中读取参数和缓存上。

因此,DeepSeek将这两个步骤拆分到不同的机器上执行。Prefill使用常见的8卡机器,Decode则使用64到128卡的超节点。

如果请求中包含图片,会先交由独立部署的图像编码服务处理。

实际运行中,两边所需的显卡数量大致为1比1。根据官方建议,要达到高效运行,最小部署单元是64卡Prefill加64卡Decode。

官方API那套逻辑,也开源了

请求进入系统后,首先会经过deepseek-recipe的处理。

目前主流API格式有三种:OpenAI的Chat Completions和Responses,以及Anthropic的Messages。

deepseek-recipe将它们统一转换为同一种对话格式,然后根据模型版本拼接prompt并编码为Token。模型输出的Token,也由它转换回各家的格式,以流式方式返回。

它还顺手堵上了一个漏洞。DeepSeek的模型依靠一批特殊Token来标记对话结构,例如用户发言从哪开始、思考到哪结束、何时调用工具。

96%的输入,无需再次计算

Agent每次调用工具时,都需要将系统提示、工具说明,连同之前每一轮的回复和工具结果,整个重新发送给模型。

这其中绝大部分内容,上一轮已经计算过了。

DeepSeek的做法是,将计算过的KV缓存保存下来,下一轮只计算新增的部分。前提是前缀必须从第一个Token开始完全一致,中间重复的内容无法复用。

效果有多显著呢?同一张卡运行Prefill,如果不算缓存命中,每秒处理6万个Token。

算上缓存命中,每秒可达150万个,性能相差整整25倍。

这些缓存全部存放在DeepSeek自家的3FS存储集群中,容量约为100PiB,全部采用固态硬盘。Agent流量的缓存保留3天,聊天流量缓存保留7天。

聊天流量保留更久,是因为少数缓存会被频繁读取,一旦丢失,整体命中率会大幅下降。根据DeepSeek的经验,如果聊天流量只保留3天,命中率会下降0.5%到1%。

将缓存单独放入存储集群,任何一台Prefill机器都能读取到任何一段缓存,用户无需被绑定到上次使用的机器上。而且,计算设备的故障率比存储设备高出一个数量级以上,即使机器出现故障,缓存依然安全。

没有命中?只补算128个Token

V4.1 Flash模型的部分层使用了滑动窗口注意力(SWA),每个Token只关注距离自己最近的128个Token。

注意力计算也只在这128个Token内进行,从而得到一份近似的窗口缓存。这样,重算成本就变成了一个常数,无论上下文多长、模型有多少层,都不会影响。

同样的方法也应用在了模型的另外20层上。这20层每次Prefill都需要重建窗口缓存,原本需要计算最后的2560个Token,现在只计算128个,Prefill的总计算量因此减少了近一半。

一步生成多个Token

进入Decode阶段,模型每计算一步,原本只能生成一个Token。

DeepSeek自研的DSpark则更进一步。它先估计每个猜测被接受的概率,对于概率低的猜测直接跳过验证,将验证算力留给其他请求。

与固定验证5个Token的方法相比,线上吞吐量提升了6%。

在两个计算步骤之间,CPU需要安排下一步的请求并处理上一步的结果,GPU原本只能空闲等待。DeepInfer让两边同时工作:GPU计算第N步时,CPU已经在安排第N+1步。

通过这一系列优化,线上Decode阶段每张卡每秒能生成1.4万个Token。

384个专家,分配到64张卡上

V4.1 Flash是一个MoE模型,内部包含多组“专家”参数,每个Token只会用到其中几组,其中路由专家就有384个。

在Decode阶段,DeepSeek将这些专家分配到64张卡上,每张卡放置6个,并额外放置1个热门专家的副本,共计7个。每张卡上的专家越少,每一步需要从显存中读取的参数就越少,同等数量的显卡就能处理更多请求。

在官方离线测试中,64卡一组的Decode配置,每张卡每秒最多能输出超过2.6万个Token。

热门专家的副本会动态调整,每1000步统计一次负载,每10000步重新分配。线上实测显示,负载最高的那张卡仅比平均水平高出9%。

请求也需要均匀分配。Prefill根据输入长度分为4个档次,每个档次分配多少机器,会根据上一轮的需求动态调整。

Decode阶段则同时考虑每张卡上的请求数和缓存总长度:短请求分配给请求数少、缓存长的卡;长请求则分配给缓存短的卡。

通过这一套调度机制,系统整体性能可以达到离线测试中完全均衡状态下的80%左右。

就连跨机房部署,DeepSeek也在问答中给出了答案。V4.1 Flash大幅压缩了KV缓存,跨机房部署在技术上是可行的,每8张卡配备约400Gbps的互联带宽即可,但可能会牺牲可靠性,因为“跨机房的光纤容易被挖断”。

DeepSeek自身的推理节点,就部署在不同但相邻的机房中。

把智能的价格,打下来

此次开源的DeepInfer采用Apache 2.0协议,deepseek-recipe采用MIT协议。DeepInfer目前支持V4.1 Flash,最初主要基于vLLM搭建,并参考了SGLang和TensorRT-LLM。

开源版本目前提供的是离线推理。KV缓存管理和负载均衡功能因与内部基础设施绑定较深,代码暂时没有完全开源,但设计细节已写入长文和问答中。

DeepSeek此次分享内部部署经验的主要目的是降低算力成本、减少能源消耗,让更广泛的人群能够用得起智能。

接下来,DeepSeek新模型的推理代码和性能优化,都将在DeepInfer中持续开源。

从模型、TileLang、算子库,到推理框架和API编解码,DeepSeek的开源范围,已经从模型本身一路扩展到了每天处理155万亿Token的线上服务。

这次官方宣布,DeepSeek使用的标题是“走向真正普惠的未来”。

本文来自微信公众号“新智元”,作者:ASI启示录,36氪经授权发布。