腾讯云 SA9 CPU 服务器硬刚 deepseek-r1-671b 满血版
背景
不久前腾讯玄武实验室分享了一篇名为 DeepSeek-671B纯CPU部署经验分享 文章,再次引爆了大家用CPU跑大模型的热情。正好博主观察到腾讯云也发布了新一代的SA9服务器,忽然想到一个主意:试试用 DeepSeek-R1-Q8_0 虐一下 SA9 ?
相关产品
惯例,先介绍下今天的主角和配角:
-
腾讯云第九代实例(S9/S9e/SA9/SA9e)依托星星海自研服务器,整机性能相比上一代提升达20%-41%;依托玄灵智能网卡,全系实例支持高达6750万PPS。参考文档:https://cloud.tencent.com/act/pro/gen9
-
云原生构建(Cloud Native Build,CNB)是新一代开发者工具,为开发者提供代码托管、流水线、云上开发空间、制品管理等能力。基于 Docker 生态,对环境、缓存、插件进行抽象,通过声明式的语法,帮助开发者以更高效的方式构建软件。
购买服务器
由于双路NUMA节点的跨节点访问会导致内存带宽严重劣化,所以本次在广州地域开了一台384核心1152GB内存的SA9服务器(确保只分配一路CPU),使用debian-12镜像,附加2T数据盘挂载到/opt目录。
PS:据悉cnb.cool主节点部署在腾讯云广州地域,可以获得内网下载速度加持。
准备运行环境
git
用于从cnb.cool下载大模型文件docker
用于免编译运行玄武实验室修改版llama.cpp
apt install git git-lfs
wget -O- https://get.docker.com | sh
启动测试环境
-
脚本使用 cnb.cool 提供的DeepSeek-R1-Q8_0模型文件及玄武实验室魔改版llama.cpp来加速下载和推理。
-
脚本中
-t 192
和-tb 384
参数分别指定生成和预填充时的核心数量,一般情况下生成使用超线程是负优化,预填充使用超线程可以提高速度,参考文章 https://github.com/ggml-org/llama.cpp/tree/master/examples/server
cd /opt
git lfs clone https://cnb.cool/tdp/pioneer/DeepSeek-R1-Q8_0.git
docker pull docker.cnb.cool/ai-models/deepseek-ai/deepseek-r1-gguf/dev-env:latest
docker image tag docker.cnb.cool/ai-models/deepseek-ai/deepseek-r1-gguf/dev-env:latest xllama
docker run -it --rm --net host -v /opt/DeepSeek-R1-Q8_0:/opt xllama \
/app/llama.cpp/build/bin/llama-server \
-m /opt/DeepSeek-R1-Q8_0/DeepSeek-R1.Q8_0-00001-of-00015.gguf \
-t 192 -tb 384 \
-c 16384 -np 1 \
--jinja --chat-template-file /app/llama.cpp/models/templates/llama-cpp-deepseek-r1.jinja \
--cache-type-k q8_0 \
--host 0.0.0.0 \
--port 8080
实验结果分析
- 虽然已经加速了,但模型文件下载和加载仍然消耗了大量的时间,需要耐心或者Money加持~~
- 推理速度超出预期,输出速度最高可达6.52tps(没有其他调优,据产品介绍可以达到7tps以上)