DeepSeek R1模型权重原生为FP8类型,仅能被英伟达新型GPU支持。美团技术团队进行了INT8精度量化的尝试,量化后模型精度基本无损,可部署到A100等其他型号GPU,从而解锁了芯片限制;相比BF16实现了50%的吞吐提升,降低了推理成本。

1. 背景

DeepSeek R1横空出世后,吸引了众多公司和个人用户尝试其满血版本部署。然而原生版本的模型权重为FP8数据格式,对GPU芯片类型有严格限制,仅能被英伟达新型GPU支持(如Ada、Hopper架构芯片),其他型号GPU(如A100)无法直接部署。尽管我们可以将FP8权重反量化为BF16权重后,在A100等GPU上进行推理,但是这对显存的要求提升了一倍,推理吞吐也会下降。

为了解决这些难题,美团搜索和推荐平台部对DeepSeek R1模型进行了INT8精度量化尝试,发现使用INT8量化后模型精度基本无损。基于INT8量化,DeepSeek R1模型解锁了芯片限制,可以部署到A100等其他型号GPU;并且相比BF16实现了50%的吞吐提升,进一步降低了推理成本。量化代码已经发布在了开源LLM推理框架SGLang上,量化模型已经发布到了Hugging Face社区,方便用户使用。

本文将分享基于SGLang框架的DeepSeek R1模型INT8量化推理实践经验,欢迎大家多多交流,相互学习,共同成长。

2. INT8量化推理实践

2.1 量化的基本原理

模型量化是将模型的权重和激活值等数据从高精度(如BF16)转化为低精度(如INT8),并尽可能保证转化前后模型效果一致的过程。以常见的INT8对称量化为例,量化过程如下所示:

图片

图1 量化示意图

1.计算缩放因子

2.在适当位置做量化(Quant)和反量化(Dequant)

2.2 DeepSeek R1的量化简介

根据DeepSeek最新发布的技术报告,V3/R1突破性的训练成本控制主要依托FP8精度训练方案。FP8是一种典型的模型量化技术,相较于业界常用的BF16精度,FP8精度通过将数据位宽减半显著降低了单次计算开销,但也会带来一定的精度损失。在实践中,DeepSeek R1采用了混合精度训练机制有效缓解了精度损失问题。

由于DeepSeek R1采用FP8精度训练,所以开源的原生权重就是FP8精度。在推理时,为了尽可能地降低模型精度损失,同时保持和FP8类似的推理吞吐,我们自然想到使用和FP8精度等位宽的INT8精度进行平替。同时,INT8精度被广泛硬件原生支持,基于INT8精度可以极大拓展DeepSeek模型的硬件部署范围。因此,我们开始探索INT8量化在DeepSeek R1上的可行性。

图2 DeepSeek R1的权重精度选择

图2 DeepSeek R1的权重精度选择

2.3 量化方法设计

我们在综合考虑量化后模型的精度和推理性能后,选择了分块量化(Block-wise Quantization)和通道量化(Channel-wise Quantization)两种方案。

分块量化:分块量化是DeepSeek V3/R1降低量化损失的关键技术之一。分块量化通过对权重矩阵的细粒度切分,将量化操作的范围控制在128,128的矩阵内,减少了分布分散的出现概率,从而很好地控制了每次量化过程中的损失。为了尽可能地减少量化后模型的精度损失,我们延续了DeepSeek训练的量化策略,同样在128,128的矩阵内对权重进行分块量化操作,保证训练和推理的一致性。但是需要注意的是,由于分块量化的不同块之间的量化缩放因子不同,因此需要在INT8的矩阵乘法过程中进行多次反量化操作,而反量化操作是在计算吞吐较低的CUDA Core上进行的,这在一定程度上会降低矩阵乘法的效率。在实践中,由于DeepSeek官方并没有提供半精度浮点型(BF16)的权重,因此首先需要将原生的FP8模型权重反量化成BF16,再分块量化成INT8精度。为了匹配权重的分块量化,激活值采用在线逐token-group的量化方式,即每个token的嵌入向量分为多个组,逐组进行量化。分块量化的激活值和权重的乘法过程如下左图所示。

通道量化:除了上述的分块量化外,我们还探索了更高效的通道量化,即权重的每列为一组进行量化。通道量化在执行完INT8的矩阵乘法后,只需进行一次反量化计算,计算开销相比分块量化更低。但是由于通道量化在量化一列元素时,更容易遇到离群值(Outlier),因此相比分块量化会有更多的精度损失。在具体实践中,同样地先将原生FP8的模型权重反量化成BF16,之后逐通道量化成INT8类型。同时,对激活值采用在线逐token量化,最大程度地减少activation的量化损失。通道量化的激活值和权重的乘法过程如下右图所示:

图3 分块量化和通道量化

图3 分块量化和通道量化

目前,两种INT8量化权重均已开源到Hugging Face。

2.4 量化模型评估

2.4.1 精度

我们分别应用上述两种量化方法,对开源的DeepSeek R1模型进行了INT8量化处理,并在GSM8K和MMLU两个数据集上对量化后的模型进行了精度评估。评估结果如下表所示,相比基线的BF16和FP8模型,两种INT8量化模型的精度基本无损。

图片

注:表中的精度结果是多次测试的均值。

2.4.2 推理吞吐

我们在知名开源推理框架SGLang上,对上述两种INT8量化方法进行了推理支持(分块量化、通道量化)。SGLang是当前SOTA的开源LLM推理框架,在DeepSeek系列模型上有着最优的推理性能,被业界广泛使用。

以BF16模型为Baseline,我们在A100-80G GPU上对两种INT8模型进行了推理吞吐评估。得益于更低的显存要求,INT8量化模型仅需要16张A100 GPU即可推理,但是BF16模型需要32张A100 GPU。为了比较的公平性,我们统一在32张A100 GPU上进行吞吐测试。结果如下表所示,分块量化的INT8推理相比BF16可以提升33%的吞吐;通道量化的INT8推理得益于更低的反量化开销,可以进一步达到50%的吞吐提升。

图片

2.5 量化模型部署

以双节点各8张A100 GPU为例,开发者需要在双部署节点安装最新版本的SGLang,然后分别执行下面命令:

# 分块量化INT8推理# 主节点python3 -m sglang.launch_server \ --model meituan/DeepSeek-R1-Block-INT8 --tp 16 --dist-init-addr \ HEAD_IP:5000 --nnodes 2 --node-rank 0 --trust-remote --enable-torch-compile --torch-compile-max-bs 8# 副节点python3 -m sglang.launch_server \ --model meituan/DeepSeek-R1-Block-INT8 --tp 16 --dist-init-addr \ HEAD_IP:5000 --nnodes 2 --node-rank 1 --trust-remote --enable-torch-compile --torch-compile-max-bs 8  # 通道量化INT8推理# 主节点python3 -m sglang.launch_server \ --model meituan/DeepSeek-R1-Channel-INT8 --tp 16 --dist-init-addr \ HEAD_IP:5000 --nnodes 2 --node-rank 0 --trust-remote --enable-torch-compile --torch-compile-max-bs 8 \  --quantization w8a8_int8# 副节点python3 -m sglang.launch_server \ --model meituan/DeepSeek-R1-Channel-INT8 --tp 16 --dist-init-addr \ HEAD_IP:5000 --nnodes 2 --node-rank 1 --trust-remote --enable-torch-compile --torch-compile-max-bs 8 \  --quantization w8a8_int8

下面是一些有趣的Case:

深度思考能力展示

这里以curl为例发送一条请求:

curl -X POST 'http://HEAD_IP:5000/v1/chat/completions' \ --header 'Content-Type: application/json' \  -d '{          "model": "deepseek-r1",        "messages": [{"role": "user",    "content": "下列选项中,找出与众不同的一个:1.铝 2.锡 3.钢 4.铁 5.铜" } ]       }'

在INT8 R1的回答中,能看到其风格独特的反思:

不过,我需要确认这一点是否正确。比如,有没有可能其他选项中也有合金?比如,锡有时候会和其他金属混合使用,但锡本身是纯金属。同样,铝、铁、铜都是纯金属。所以钢作为合金,应该是一个关键的不同点。另外,可以考虑其他属性,比如它们的用途、物理性质或化学性质。例如,导电性:银是最好的导体,但这里没有银,而铜的导电性也很好,铝也不错,铁和钢的导电性相对差一些。但这样分类的话,可能难以确定哪一个不同。......不过回到最初的分类,钢是唯一的合金,而其他都是纯金属,这一点可能更为基础。因此答案应该是3.钢。不过需要再验证一下这个结论是否正确。

最终答案也是正确的:

答案:3.钢

模拟海量小球运动

参考其他LLM测试的Prompts作为输入,我们对比了INT8(下图左)和FP8(下图右)输出代码的运行效果,INT8完全不逊于FP8。

write a script for 100 bouncing balls within a sphere, make sure to handle collision detection properly. make the sphere slowly rotate. make sure balls stays within the sphere. implement it in p5.js

3. 总结与展望

综上,我们在DeepSeek R1上进行了INT8量化技术的探索,并基于SGLang框架进行了推理能力的支持,在保证量化后模型精度的前提下,让DeepSeek R1可以在如A100等老型号GPU上进行部署,并且提升了推理吞吐。我们希望开源的代码和权重可以让更多用户和业务方受益,也欢迎大家积极交流相关技术,共同建设、回馈开源社区。

 这份《AI产品经理学习资料包》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以在文末CSDN官方认证二维码免费领取【保证100%免费】
资料包: CSDN大礼包:《对标阿里黑客&网络安全入门&进阶学习资源包》免费分享


AI产品经理,0基础小白入门指南
作为一个零基础小白,如何做到真正的入局AI产品?

什么才叫真正的入局?

是否懂 AI、是否懂产品经理,是否具备利用大模型去开发应用能力,是否能够对大模型进行调优,将会是决定自己职业前景的重要参数。

你是否遇到这些问题:
1、传统产品经理

不懂Al无法对AI产品做出判断,和技术沟通丧失话语权
不了解 AI产品经理的工作流程、重点
2、互联网业务负责人/运营
对AI焦虑,又不知道怎么落地到业务中想做定制化AI产品并落地创收缺乏实战指导
3、大学生/小白
就业难,不懂技术不知如何从事AI产品经理想要进入AI赛道,缺乏职业发展规划,感觉遥不可及
为了帮助开发者打破壁垒,快速了解AI产品经理核心技术原理,学习相关AI产品经理,及大模型技术。从原理出发真正入局AI产品经理。

这里整理了一些AI产品经理学习资料包给大家
📖AI产品经理经典面试八股文
📖大模型RAG经验面试题
📖大模型LLMS面试宝典
📖大模型典型示范应用案例集99个
📖AI产品经理入门书籍
📖生成式AI商业落地白皮书

🔥作为AI产品经理,不仅要懂行业发展方向,也要懂AI技术,可以帮助大家:
✅深入了解大语言模型商业应用,快速掌握AI产品技能
✅掌握AI算法原理与未来趋势,提升多模态AI领域工作能力
✅实战案例与技巧分享,避免产品开发弯路

这份《AI产品经理学习资料包》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
资料包: CSDN大礼包:《对标阿里黑客&网络安全入门&进阶学习资源包》免费分享

AI大模型学习福利
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

大模型&AI产品经理如何学习
求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图


第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击CSDN大礼包:《对标阿里黑客&网络安全入门&进阶学习资源包》免费分享前往获取

3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。


4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。


👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。


1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以CSDN大礼包:《对标阿里黑客&网络安全入门&进阶学习资源包》免费分享免费领取【保证100%免费】🆓

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐