开场白
2025年01月20日DeepSeek推出推理模型R1并宣布开源,标志着开源模型首次追上闭源模型。

不久后社区中出现了许多低成本部署R1模型的方案,从几十万到十几万,甚至现在单卡4090+60GB内存就能运行满血版R1模型。 这些低成本部署方案是怎么做到的?他们与直接使用DeepSeek官方平台的区别是什么?

大模型工作原理
简单理解
如果把大模型内部看作一个黑盒,那么可以简单的把大模型看作是一个推理函数。对于用户输入的内容(Token),推理下一个输出的内容(Token),然后把推理得到的内容拼接到后面继续推理,不断重复这个过程,直到遇到结束符或达到输出上下文上限。


大模型是如何进行推理的?
计算机只能处理二进制数据,无法理解文本这种抽象的概念。因此首先要将文本进行分词(Tonkenization)
转换成向量,这些向量是多维的,具体在计算机中的表现形式为浮点数列表。

这些向量与大模型进行一系列的矩阵乘计算,最终产生一个覆盖所有可能Token的概率分布。

选取哪些Token通常由温度(Temperature)
这个参数控制,温度
通常设定在0~1之间,温度越高小概率的Token越有可能被选取,这就是为啥模型的输出是不可预测的。
推理时计算机实际上在做什么
知道了大概的原理,就可以想象大模型进行推理时,计算机实际在干什么了。以CPU推理为例:
- 将模型加载到内存中
- 小部分计算参数搬运到 CPU 核心中参与计算并返回

可以看到模型的性能瓶颈主要集中在这几个地方:
- 模型文件载入内存的速度(受磁盘速率和PCIE总线带宽影响)
- 模型文件载入CPU的速度(受内存速率和PCIE总线带宽影响)
- CPU核心计算速度 这些瓶颈存在的原因,是因为CPU不是专门为大量计算而设计的。再看GPU和CPU硬件架构图,就能很直观的了解为什么大模型需要GPU了。
GPU和CPU的差异
对比NVIDIA H100显卡和Intel Xeon 6454s处理器可以发现,两者光是计算核心数量足足差了528倍,同时H100内置了显存,显存的带宽最大可达2TB/s,这些都是难以逾越的性能鸿沟。
核心数 | 内存/显存 | 内存/显存带宽 | |
---|---|---|---|
H100 | 16896 | 80GB | 3TB/s |
6454s | 32 | 4TB | DDR5 307GB/s |
H100硬件架构图

低成本部署是怎么做到的?
直接说结论:使用CPU代替GPU推理+量化缩小模型规模。用CPU替代GPU,用内存替代显存。
CPU异构推理------ktransformers 清华大学开源的CPU推理加速库KTransformers,可以将大部分计算放在CPU上,减少模型对GPU算力的需求。 从Intel4代至强开始的CPU均支持AMX矩阵计算指令集,KTransformers通过深度优化AMX指令集,使得6454s在INT8精度下能够达到37 TOPS的算力,约等于一张4060。
**量化模型------Unsloth Q4** Unsolth出品的Q4量化模型,能够有效缩小模型规模,减少模型对显存或内存的需求。 大模型文件占比最大的部分是训练好的各种权重,这些权重以多种精度的形式存在,如flot8/flot16/flot32/int16等。量化指的是通过数学转换,将flot32等精度转换为int4/int8,模型文件因此缩小,在实际计算时,再将参数转换回flot。这种转换是损失精度的,Unsloth出品的1.58bit量化模型,减小了80%的模型大小,仍能在测试中达到R1模型69.2%的效果。

模型的性能指标
之前说到GPU与CPU之间的性能差异非常大,除了量化之后的精度损失,使用CPU进行推理还损失了什么?答案是性能。
衡量模型的性能指标如下:
- TTFT:首次推理出Token时间,单位秒
- TPOT:平均推理Token时间,单位毫秒
- Throughput:针对多个并发每秒吞吐量,单位Token每秒 使用H100*8和6454s部署的DeepSeek R1模型性能差异如下:
TTFT | TPOT | 并发数 | |
---|---|---|---|
H100 | <1s | 32ms | >1000 |
6454s+Unsloth | 6s | 1.32/s | 1~2 |
因此所谓的满血部署,指的是参数量仍然是671B不变,但是模型精度/Token生成速度/并发量是下降了。