返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

仅需10万不到,DeepSeek R1 671B大模型本地部署实战指南

[复制链接]
链载Ai 显示全部楼层 发表于 2 小时前 |阅读模式 打印 上一主题 下一主题
最近帮一个朋友部署本地的671b版本的deepseek r1,需求是要完全本地部署,但是又不想花太高的成本,没有并发要求,我一想,用ktransformers框架来部署完全合适。
关于机器配置,在挑挑拣拣评比之后,设备选择如下,最终选择的是其中的服务器配置。
这套设备下来总成本不到10万,相比如动辄几百万的满血版deepseek R1或者花个五六十万买个deepseek 70b的一体机要值当的多,且不说70b并不是真正的deepseek r1,效果还不如32b的QWQ,就光说一体机的升级也是个麻烦事,买了机器基本就和模型绑定了,以后新模型出来后想升级就难了。
说起这个,我上个月去给政府某部门培训大模型时,还听到一个八卦,说有个公司,花了几百万让某个大厂私有化部署了一套定制的模型,但是deepseek r1出来后,直接弃用了,又去买了一套deepseek一体机。
而且这些公司买了一体机后,也还是不知道怎么用,就是搞个接口和页面,让员工来问下问题,就没了其他用途了。只能说,公司是真有钱。
基础配置
先说结论,使用Ktransformers框架,在上述图片的服务器配置上,速度能达到5token/s, 考虑到Ktransformers目前还并不支持并发,本地私有化部署给少数人使用,这个速度还是勉强可以接受。
ktransformers官网文档的安装方式我之前已经写过一篇文章,ktransformers部署详细笔记。此处不再赘述。
这里我介绍一个这次我安装时发现的一个新的教程r1-ktransformers-guide,提供了基于uv的预编译的环境,可以避免很多环境的依赖的报错。
同时要注意ubuntu版本要使用ubuntu22及以上,python版本为3.11。
NVIDIA驱动版本570.86.1x ,CUDA版本12.8
然后Ktransfomers要使用0.2.2版本,目前最新版本0.3还存在很多的bug
gitclonehttps://github.com/kvcache-ai/ktransformers.gitcdktransformersgitsubmoduleinitgitsubmoduleupdategitcheckout7a19f3bgitrev-parse--shortHEAD#应显示7a19f3b

注意的是,git submodule update 主要是为了更新third_party中的项目
如果网络不好,可以直接github中下载这些项目并放到到third_party文件夹中
[submodule"third_party/llama.cpp"]path=third_party/llama.cppurl=https://github.com/ggerganov/llama.cpp.git[submodule"third_party/pybind11"]path=third_party/pybind11url=https://github.com/pybind/pybind11.git


下载模型

然后下载量化后的deepseek r1模型,这里我下载的是int4量化版本,因为网络问题,使用阿里的魔塔下载模型
modelscopedownloadunsloth/DeepSeek-R1-GGUF--include"DeepSeek-R1-Q4_K_M/*"--cache_dir/home/user/new/models
--cache_dir /home/user/new/models 是制定模型下载路径的位置


uv安装

uv是一个用Rust语言编写的现代Python包管理工具,被称为"ython的Cargo",它是pip、pip-tools和virtualenv等传统工具的高速替代品。速度比pip更快,而且还支持可编辑安装、git依赖、本地依赖、源代码分发等pip的高级功能。

安装uv工具链
curl-LsSfhttps://astral.sh/uv/install.sh|sh

创建虚拟环境
uvvenv./venv--python3.11--python-preference=only-managedsourcevenv/bin/activate

然后我们就可以按照教程中的使用uv工具进行安装。


uv安装预编译版本
flashinfer-python是一个专为大型语言模型(LLM)推理服务设计的高性能GPU加速库。它主要提供以下功能:
$uvpipinstallflashinfer-python
这是安装ktransformers库的预编译版本:
$exportTORCH_CUDA_ARCH_LIST="8.6"uvpipinstallhttps://github.com/ubergarm/ktransformers/releases/download/7a19f3b/ktransformers-0.2.2rc1+cu120torch26fancy.amd.ubergarm.7a19f3b.flashinfer-cp311-cp311-linux_x86_64.whl
这是安装flash_attn库的预编译版本:
uvpipinstallhttps://github.com/mjun0812/flash-attention-prebuild-wheels/releases/download/v0.0.5/flash_attn-2.6.3+cu124torch2.6-cp311-cp311-linux_x86_64.whl
这里的预编译版本其实是这个文档的作者直接编译好的,虽然这个教程说明中提到仅适合RTX 3090Ti 24GB显存 + 96GB DDR5-6400内存 + Ryzen 9950X处理器 。
但是我使用4090 24显存 + 500 DDR5-4800内存 ,使用这个预编译版本也可以安装成功的。如果这个预编译版本可以安装成功的话,很多潜在的因为版本不对造成的报错都可以避免掉了。

源码运行ktransformers


如果上面的预编译版本运行不了的话,又不想接着安装ktransfomers,其实也可以直接用源码来跑的,命令如下:


支持多GPU配置及通过 `--optimize_config_path` 进行更细粒度的显存卸载设置PYTORCH_CUDA_ALLOC_CONF=expandable_segments:Truepython3 ktransformers/server/main.py --gguf_path /mnt/ai/models/unsloth/DeepSeek-R1-GGUF/DeepSeek-R1-UD-Q2_K_XL/ --model_path deepseek-ai/DeepSeek-R1--model_name unsloth/DeepSeek-R1-UD-Q2_K_XL--cpu_infer 16--max_new_tokens 8192--cache_lens 32768--total_context 32768--cache_q4 true--temperature 0.6--top_p 0.95--optimize_config_path ktransformers/optimize/optimize_rules/DeepSeek-R1-Chat.yaml--force_think--use_cuda_graph--host 127.0.0.1--port 8080
是的,其实即使不编译ktransfomers,也是可以跑起来的。直接把项目下好,运行上面的命令,准备好相应的文件,就能正常运行了。
如果要继续编译ktransfomers的话,则可以按照下面的流程进行操作:
#安装额外编译依赖项,包括CUDA工具链等,例如:#sudoapt-getinstallbuild-essentialcmake...sourcevenv/bin/activateuvpipinstall-rrequirements-local_chat.txtuvpipinstallsetuptoolswheelpackaging#建议跳过可选网站应用,使用`open-webui`或`litellm`等替代方案cdktransformers/website/npminstall@vue/clinpmrunbuildcd../..#如果拥有充足的CPU核心和内存资源,可显著提升构建速度#$exportMAX_JOBS=8#$exportCMAKE_BUILD_PARALLEL_LEVEL=8#安装flash_attnuvpipinstallflash_attn--no-build-isolation#可选实验性使用flashinfer替代triton#除非您是已经成功上手的进阶用户,否则暂不建议使用#使用以下命令安装:#$uvpipinstallflashinfer-python#仅适用于以下情况:#配备Intel双路CPU且内存>1TB可容纳两份完整模型内存副本(每路CPU一份副本)#AMDEPYCNPS0双路平台可能无需此配置?#$exportUSE_NUMA=1#安装ktransformersKTRANSFORMERS_FORCE_BUILD=TRUEuvpipinstall.--no-build-isolation

如果想自己编译好后供其他环境使用的,则可以使用下面的命令进行环境编译。
KTRANSFORMERS_FORCE_BUILD=TRUEuvbuild

然后把生成的文件移动到其他环境安装则输入下面命令即可
uvpipinstall./dist/ktransformers-0.2.2rc1+cu120torch26fancy-cp311-cp311-linux_x86_64.whl

ktransformers运行
接口运行命令
ktransformers--model_path/home/user/new/ktran0.2.2/ktransformers/models/deepseek-ai/DeepSeek-R1--gguf_path/home/user/new/models/unsloth/DeepSeek-R1-GGUF/DeepSeek-R1-Q4_K_M--port8080


如果想运行网页版本,则再最后增加 --web True参数即可。


其他问题

如果使用了不支持amx的cpu, 可能会遇到下面的报错
/tmp/cc8uoJt1.s:23667:Error:nosuchinstruction:`vpdpbusd%ymm3,%ymm15,%ymm1'的报错,File"<string>",line327,inbuild_extensionFile"/usr/local/python3/lib/python3.11/subprocess.py",line571,inrunraiseCalledProcessError(retcode,process.args,subprocess.CalledProcessError:Command'['cmake','--build','.','--verbose','--parallel=128']'returnednon-zeroexitstatus1.[endofoutput]


这是因为CPU架构不支持这些指令:编译时使用了-march=native参数,这会让编译器生成针对当前CPU优化的代码,包括使用特定的指令集。但如果当前CPU不支持AVX-VNNI指令集,就会出现这个错误。
解决方案:在CMake配置中添加以下选项:
-DLLAMA_NATIVE=OFF-DLLAMA_AVX=ON-DLLAMA_AVX2=ON-DLLAMA_AVX512=OFF-DLLAMA_AVXVNNI=OFF
就可以让cpu不使用amx指令集,从而避免这个报错了。

另外,如果需要我环境的requirements.txt, 可以在后台回复330获取。

写在最后

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);">

2025年的今天,AI创新已经喷井,几乎每天都有新的技术出现。作为亲历三次AI浪潮的技术人,我坚信AI不是替代人类,而是让我们从重复工作中解放出来,专注于更有创造性的事情,关注我们公众号口袋大数据,一起探索大模型落地的无限可能!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ