本文介绍了英特尔 ® 至强 ® 处理器在 AI 推理领域的优势,如何使用一键部署的镜像进行纯 CPU 环境下基于 AMX 加速后的 DeepSeek-R1 7B 蒸馏模型推理,以及纯 CPU 环境下部署 DeepSeek-R1 671B 满血版模型实践。 大模型因其参数规模庞大、结构复杂,通常需要强大的计算资源来支持其推理过程,这使得算力成为大模型应用的核心要素。随着 DeepSeek-R1 模型的问世,各行各业纷纷展开了关于如何接入大模型能力的广泛调研与探索,市场对大模型推理算力的需求呈现出爆发式增长的趋势。 例如在医疗、金融、零售等领域,企业迫切希望通过接入 DeepSeek 大模型来提升决策效率和业务能力,从而推动行业的创新发展。在这一背景下,算力的供给和优化成为推动大模型落地应用的重要因素。 近年来,CPU 制程和架构的提升以及英特尔 ® 高级矩阵扩展 AMX(Advanced Matrix Extensions)加速器的面世带来了算力的快速提升。英特尔对大模型推理等多个 AI 领域持续深入研究,提供全方位的 AI 软件支持,兼容主流 AI 软件且提供多种软件方式提升 CPU 的 AI 性能。目前,已有充分的数据显示 CPU 完全可以用于大模型推理场景。 CPU 适用于以下大模型推理场景: 场景 1: 大模型推理需要的内存超过了单块 GPU 的显存容量,需要多块或更高配 GPU 卡,采用 CPU 方案,可以降低成本; 场景 2: 应用请求量小,GPU 利用率低,采用 CPU 推理,资源划分的粒度更小,可有效降低起建成本; 场景 3: GPU 资源紧缺,CPU 更容易获取,且可以胜任大模型推理。 天翼云 EMR 实例 DeepSeek-R1-Distill-Qwen-7B 蒸馏模型部署实践 本节内容主要介绍如何在天翼云 EMR 实例上,基于 Intel ® xFasterTransformer 加速库和 vllm 推理引擎完成模型部署,并展示相关性能指标。 服务部署 为了方便用户使用,天翼云联合英特尔制作了一键部署的云主机镜像,内置 DeepSeek-R1-Distill-Qwen-7B 模型、vLLM 推理框架、xFT 加速库以及 open-webui 前端可视环境。您可在天翼云控制台选择下列资源池和镜像,开通云主机进行体验。 完成云主机开通后,推理服务会在 5 分钟内自动启动,您无需进行任何其他操作。 注:如需在云主机外访问服务,您需要绑定弹性 IP,并在安全组内放行 22/3000/8000 端口。 模型使用 open-webui 前端使用 镜像已内置 open-webui,并已完成和 vllm 的连接配置,可直接通过以下地址进行访问 : [ 弹性 IP ] :3000/ 注:1. 首次打开页面时,您需要先完成管理员注册,以进行后续的用户管理。注册数据均保存在云实例的 /root/volume/open-webui 目录下。 2. 如果首次打开对话页面时没有模型可供选择 , 请您稍等几分钟让模型完成加载即可。 vllm api 调用 镜像内置 vllm 服务可直接通过如下地址访问: # 根路径 [ 弹性 IP ] :8000/# 查询现有模型 [ 弹性 IP ] :8000/v1/models# 其他 api 接口参阅 vllm 文档 注:vllm 服务配置有 API_KEY,您可在云实例的 /root/recreate_container.sh 文件开头查看到当前值,并可进行修改以确保服务安全。 性能指标 借助于英特尔 AMX 的加速能力,本推理服务能够取得显著的性能提升,天翼云完成测试并给出参考指标如下: 基本参数 vcpu 数:24(物理核 12) 内存:64GB 硬盘:60G 通用型 SSD 模型:DeepSeek-R1-Distill-Qwen-7B(bf16) batch size:1 输入 token 个数:30-60 输出 token 个数:256 性能数据 平均 token 生成速率: 首 token 时延: 在天翼云 c8e 系列 24vcpu 云主机上,启用 AMX 加速能力后,DeepSeek 7B 蒸馏模型(BF16)推理速度能够超越 9token/s,满足日常使用需求。 基于英特尔 ® 至强 ® 6 处理器部署满血版 DeepSeek-R1 671B 实践性能指标 DeepSeek R1 671B 满血版模型以其卓越的性能,为用户带来了极致的效果体验,不过其部署成本也不容小觑。若采用传统的 GPU 部署方式,需要 8-16 张 GPU 才能提供足够的支持,这无疑大幅增加了硬件购置、能耗以及维护等方面的成本。 在这样的背景下,天翼云基于英特尔 ® 提供的至强 ® 6 处理器服务器进行了 DeepSeek R1 671B 满血版 Q4_K_M 模型的部署尝试,测试结果如下 : 1-instance 1-socket: 平均吞吐性能 9.7~10 token/s 2-instance 1-socket: 平均 7.32 token/s 和 7.38token/s, 共 14.7token/s 从上面测试数据可以看到,采用单实例单 socket 部署下,DeepSeek R1 671B 满血版模型可达到平均 9.7~10 token/s 的吞吐量,而在双实例部署模式中,总体吞吐量提升至 14.7 token/s。单颗 CPU 系统的吞吐性能可以达到普通用户正常使用的需要。 英特尔®至强®6 处理器简介 英特尔 ® 至强 ® CPU 为 DeepSeek R1 671B 模型的部署提供了一个极具竞争力的方案。英特尔 ® 至强 ® CPU 具备支持 T 级超大内存的能力,这使得它在权重存储与加载方面表现高效。对于像 DeepSeek R1 671B 这样的超大模型,其所需的显存容量在多卡 GPU 配置下才能满足,而英特尔 ® 至强 ® CPU 能够凭借其强大的内存支持能力,为该模型提供良好的运行环境。 此外,DeepSeek R1 模型采用的 MOE(Mixture of Experts)结构,通过参数稀疏化的方式,使得在单 token 推理时仅需激活少量专家参数。这种特性显著降低了推理过程中的算力要求,与 CPU 的计算特点相契合,使得模型在 CPU 系统上的运行更加高效。这意味着在英特尔 ® 至强 ® CPU 上部署 DeepSeek R1 671B 模型,不仅能够充分发挥模型的性能优势,还能有效降低部署成本,避免了对大量 GPU 的依赖。 如需复现以上性能测试结果,请参看附录 2 总结 通过本次实践,无论是在天翼云 EMR 云实例上结合 xFasterTransformer 部署 DS R1 distill Qwen-7B 蒸馏模型,还是基于英特尔 ® 至强 ® 6 处理器部署满血版 DeepSeek-R1 671B 模型,均验证了 CPU 系统在 DeepSeek 大模型推理上的可行性和符合业界普遍要求的性能表现。CPU 系统不仅能够灵活应对不同规模的模型需求,无论是轻量化蒸馏模型还是全功能满血模型,都能高效满足用户场景需求,提供了一种低成本、经济高效的解决方案。 附录 1 英特尔 ® 至强 ® 可扩展处理器与 AI 加速技术最新英特尔®至强®可扩展处理器产品英特尔第五代®至强®可扩展处理器(代号 Emerald Rapids)——为 AI 加速而生 第五代英特尔 ® 至强 ® 处理器以专为 AI 工作负载量身定制的设计理念,实现了核心架构和内存系统的双重飞跃。其 64 核心设计搭配高达 320MB 的三级缓存(每核心由 1.875MB 提升至 5MB),相较上代缓存容量实现近三倍增长,为大规模并行 AI 推理提供充裕的本地数据存储空间。与此同时,处理器支持 DDR5-5600 高速内存,单路最大 4TB 的容量保证了大数据处理时的带宽和延迟优势。基于这些硬件提升,Emerald Rapids 整体性能较上一代提升 21%,AI 推理性能平均提升 42%,在大语言模型推理场景中可实现最高 1.5 倍的性能加速,同时大幅降低总拥有成本达 77%。 英特尔®至强®6 处理器(代号 GNR Granite Rapids)——引领 CPU AI 算力革新 全新 GNR 处理器专为应对人工智能、数据分析及科学计算等计算密集型任务而设计。该产品在内核数量、内存带宽及专用 AI 加速器方面均实现重大突破: 核心与性能:每 CPU 配备多达 128 个性能核心,单路核心数较上一代翻倍,同时平均单核性能提升达 1.2 倍、每瓦性能提升 1.6 倍,进一步强化了 CPU 在大模型推理中的独立处理能力; AI 加速功能:内置英特尔 ® 高级矩阵扩展(AMX)新增对 FP16 数据类型的支持,使得生成式 AI 和传统深度学习推理任务均能获得显著加速; 内存与 I/O 突破:支持 DDR5-6400 内存及英特尔首款引入的 Multiplexed Rank DIMM ( MRDIMM ) 技术,有效将内存带宽提升至上一代的 2.3 倍;同时,高达 504MB 的三级缓存和低延迟设计确保数据能够更快加载,为复杂模型训练和推理缩短响应时间。 英特尔 ® 至强 ® 6 处理器不仅通过更多的核心和更高的单线程性能提升了 AI 大模型推理能力,同时也能够作为机头 CPU 为 GPU 和其他加速器提供高速数据供给,进一步缩短整体模型训练时间。在满足混合工作负载需求的同时,其 TCO 平均降低 30%,大模型推理加速最高可达 2.4 倍。 无论是第五代至强还是全新的至强 6 处理器,英特尔均通过在核心架构、缓存系统、内存技术和专用 AI 加速器方面的全面革新,提供了业界领先的 AI 计算支持。这两款产品为数据中心和高性能计算平台在 AI 推理、训练以及多样化工作负载下提供了强大而高效的算力保障。 △图 1 英特尔高级矩阵扩展(AMX)英特尔全方位的 AI 软件生态支持 英特尔及其合作伙伴凭借多年 AI 积累,围绕至强 ® 可扩展处理器打造了完善的软件生态:广泛支持主流开源框架,通过插件优化及多样化开源工具链,使用户在 x86 平台上能够轻松开发、部署通用 AI 应用,无需手动调整,同时确保从终端到云的全程安全保护。 其中,xFasterTransformer(xFT)是英特尔官方开源的 AI 推理框架,专为大语言模型在至强 ® 平台上深度优化。xFT 不仅支持多种数据精度(FP16、BF16、INT8、INT4),还能利用多 CPU 节点实现分布式部署,显著提升推理性能并降低成本。其简单的安装和与主流 Serving 框架(如 vLLM、FastChat、MLServer、MindSpore Transformer、PaddlePaddle)的兼容性,帮助用户快速加速大模型应用。在 3.1 节中基于天翼云 EMR 云主机和 xFasterTransformer 加速引擎实现了对与 DeepSeek R1 蒸馏模型的高效推理部署。 △图 2 英特尔提供 AI 软件工具 全面兼容主流 AI 开发框架附录 2 CPU 环境下部署 DeepSeek-R1 671B 模型实践环境配置 硬件配置 CPU:Intel ® Xeon ® 6980P Processor, 128core 2.00 GHz 内存 24*64GB DDR5-6400 存储 1TB NVMe SSD 软件环境 OS: Ubuntu 22.04.5 LTS Kernel: 5.15.0-131-generic llama.cpp: github bd6e55b cmake: 3.22.0 gcc/g++: 11.4.0 Python: 3.12.8 git: 2.34.1 BIOS ⾥关闭 sub NUMA 相关配置。 注:版本是指本测试中服务器上安装的版本,并⾮要求的最低版本。 部署步骤 1. 安装 llama.cpp 参考 llama.cpp 官⽹的安装说明,我们的步骤如下。 # 下载 llama.cpp 推理框架源码 git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp# 预先准备 intel oneapi 库 source /opt/intel/oneapi/setvars.sh# 基于 oneapi 库对 llama.cpp 进行编译 cmake -B build -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=Intel10_64lp -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_NATIVE=ON cmake --build build --config Release -j$nproc 2. 下载模型⽂件 社区提供了从 1bit 到 8bit 不同版本的量化选项,具体区别可以参考社区网页。我们选择了使用最受欢迎的 Q4_K_M 版本。如果追求最佳效果,建议使用 Q8_0 版本。 # 下载 unsloth 制作的社区版量化模型 ( hf-mirror 和 modelscpoe 源都可 ) git clone — no-checkout https://hf-mirror.com/unsloth/DeepSeek-R1-GGUFcd DeepSeek-R1-GGUF/# 建议 nohup 执行 , 预计至少需要半天时间 , 同时确保磁盘容量足够 400G.git lfs pull — include="DeepSeek-R1-Q4_K_M/*" 3. 模型加载和运⾏ 使用 llama-cli,指定模型文件路径并启用交互模式,DeepSeek R1 满血版就可以在 CPU 上顺利运行了。 build/bin/llama-cli -m /tmp/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00001-of- 00009.gguf -i 下面用几个示例展现 DeepSeek-R1 671B 满血版强大的的 reasoning 推理能力 : 测试模型自我认知 : 验证推理能⼒的经典 " 草莓 " 问题 : " 等灯等灯 " 的意思 : 4. 性能及优化 那么 CPU 运⾏满⾎版 R1 的性能怎么样呢?我们做了相关性能测试。对于 Q4_K_M 模型,使⽤如下命令进行 : export MODEL_PATH=/tmp/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00001-of-00009.ggufnumactl -C 0-127 -m 0 ./build/bin/llama-cli -m $MODEL_PATH -t 128 — temp 0.6 -s 42 -no-cnv — no-kv-offload -ctk q4_0 -c 8192 -n 128 -p "<|User|> 以孤独的夜行者为题写一篇 750 字的散文,描绘一个人在城市中夜晚漫无目的行走的心情与所见所感,以及夜的寂静给予的独特感悟。<|Assistant|>" 这⾥使⽤ numactl 来指定使⽤单路 CPU ( 0-127, 6980P 有 128 核 ) ,以及这⼀路 CPU 的内存节点(numa0),避免跨 numa 传输以获取最佳性能。 llama.cpp 是本地编译的,编译的时候使⽤ Intel oneAPI 可以有效提升它的性能。英特尔尝试⽤了 oneAPI ⾥的 Intel C++ 编译器和数学加速库 MKL,结合 jemalloc 内存管理优化,推理速度可以达到每秒 9.7~10 词元 ( TPS, tokens per second ) 。 上⾯的实验是在单路 CPU 上进⾏的,我们⼜在两路 CPU 上各⾃独⽴启动 1 个模型实例,总速度可以达到 14.7TPS ( 7.32TPS+7.38TPS ) 。 再进⼀步,英特尔观察到基于现有的 llama.cpp 软件⽅案,在 CPU 平台没有实现⾼效的专家并⾏和张量并⾏等优化,CPU 核⼼利⽤率和带宽资源没有充分发挥出来,6980P 的 128 核⼼运⾏ 1 个模型还有不少性能储备。预计可以继续增加实例数来获得更好的总 TPS。 另外,通常情况下,CPU 的 SNC ( Sub-NUMA Clustering ) 设置可以获得更⾼的带宽,但是受限于软件并未优化实现良好匹配,此次实验关闭了 SNC 测试。 以下⽅式的系统配置也有助于提升性能: BIOS ⾥关闭 AMP prefetcher ⽤ cpupower 打开 CPU 的 pstate 性能模式 提⾼ CPU 的 uncore 频率 关闭超线程 ( Hyper-Threading ) 注 : 为了加快试验进度,我们限制了词元输出⻓度 ( -n 128 ) 。经过验证,增加输出⻓度 ( 例如 -n 512 ) 对于生成性能指标的影响不大。 (责任编辑:) |