首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

一文速览DeepSeek-R1的本地部署——可联网、可实现本地知识库问答:包括671B满血版和各个蒸馏版的部署

  • 25-02-15 07:21
  • 3581
  • 5587
blog.csdn.net

前言

自从deepseek R1发布之后「详见《一文速览DeepSeek R1:如何通过纯RL训练大模型的推理能力以比肩甚至超越OpenAI o1(含Kimi K1.5的解读)》」,deepseek便爆火

爆火以后便应了“人红是非多”那句话,不但遭受各种大规模攻击,即便后来挡住了大部分攻击,但海内外大量闯入deepseek官网一探究竟的网友也把他们的服务器压得不堪重负

导致一提问,要么频繁显示:服务器繁忙,请稍后再试;要么回答了 但无法联网,致使我朋友圈内一些不知情的朋友说:看把媒体给能的,各种瞎吹,但其实不过尔尔..

怎么办呢?

  • 一方面,微信上的好友老师木发圈表示
    “ 这个春节有点特别,虽然没有休息一天,大家也没有怨言。看到DeepSeek创造的一个又一个奇迹,我很焦急但苦于没有资源,同事突发奇想:国产卡多,用国产卡吧 ”
    于是,在25年的2.1日,硅基流动 x 华为云联合推出基于昇腾云的 DeepSeek R1 & V3 推理服务!

    个人认为这是国产GPU替代英伟达GPU之路的里程碑时刻
    虽然在此之前,华为以及不少国内公司在GPU国产化上做了很多工作、努力,而且在不少政务单位已经做了很多替代
    但我们过去两年 对外接各种大模型项目的时候——我司「七月在线」除了开发一系列内部产品 也对外接各种项目,不论是客户还是我们内部,对国产GPU是否好适配、以及适配之后是否丝滑好用 始终存在着一定的担忧

    我相信,这一情况会随着本次的「昇腾云的 DeepSeek R1 & V3 推理服务」而越来越好
  • 二方面,加之我司「七月在线」遇到的大部分B端政企客户出于安全、私密的考虑,很多都希望本地部署
    故本文便来重点探讨各种版本下、各种情况下的DeepSeek-R1的本地部署「当然,某乎上也有很多类似“ 如何在本地部署DeepSeek-R1模型?” 的帖子,但有了本文之后,你基本上不用再看别的帖子了」

如此,本文来了,以下是本文的更新记录「本文不用付费、不用各种附加条件,直接看即可,且涵盖各种版本的部署、各种交互模式、各种额外功能比如联网、知识库——齐活」

  1. 2.3日下午,在我自己的iMac上本地部署了下R1 7B蒸馏版,详见下文的
    2.1.1 Ollama下的终端命令行交互
    2.1.2 Ollama下的open-webui交互:基于docker安装,且支持联网搜索
  2. 2.4日晚上,可能是自己早已习惯在博客中尽可能把所有细节一次性讲清楚
    所以我自己又尝试了
    2.1.3 基于Ollama + ChatBox部署deepseek-r1:7b
    2.2.1 基于Ollama + Page Assist搭建本地知识库问答系统:且支持联网搜索


    且同时让同事文弱尝试了通过vLLM推理deepseek-r1,也已更新在了下文的
    2.3 通过vLLM推理deepseek-r1
  3. 2.5日早上,再度尝试了
    2.2.2 基于Ollama + AnythingLLM搭建本地知识库问答
  4. 2.8日下午,在文中体现出不同电脑上的安装差别——分Mac版、Windows版、Linux
    后两者分别来自同事朝阳、同事青睐的贡献

第一部分 本地部署之前的准备工作:各个版本、推理框架、硬件资源

1.1 DeepSeek-R1的多个版本:加上2个原装671B的,总计8个参数版本

在huggingface上总共有以下几种参数的deepseek R1

  1. DeepSeek-R1 671B
  2. DeepSeek-R1-Zero 671B
  3. DeepSeek-R1-Distill-Llama-70B
  4. DeepSeek-R1-Distill-Qwen-32B
  5. DeepSeek-R1-Distill-Qwen-14B
  6. DeepSeek-R1-Distill-Llama-8B
  7. DeepSeek-R1-Distill-Qwen-7B
  8. DeepSeek-R1-Distill-Qwen-1.5B

1.2 主流的大模型推理框架:分为PC端和Android端

首先,看推理框架,目前主流的大模型推理框架主要有以下5种:

  • SGLang
    完全支持 BF16 和 FP8 推理模式下的 DeepSeek-V3 模型
  • Ollama,相对简单易用,大众用户首选
  • vLLM,开发者首选,便于商业化诉求
    支持 FP8 和 BF16 模式的 DeekSeek-V3 模型,用于张量并行和管道并行
    详见:一文通透vLLM与其核心技术PagedAttention:减少KV Cache碎片、提高GPU显存利用率(推理加速利器)
  • LLaMA.cpp
  • MNN-LLM,偏Android手机端
    MNN-LLM展现了卓越的CPU性能,预填充速度相较于llama.cpp提高了8.6倍,相较于fastllm提升了20.5倍,解码速度分别快了2.3倍和8.9倍
    更多详情,请参见论文《MNN-LLM: A Generic Inference Engine for Fast Large Language Model Deployment on Mobile Devices》

1.3 不同参数的模型所要求的硬件

其次,看硬件要求,很显然,不同参数的模型所要求的硬件各不相同(修改自微信好友杨老师整理的表格)

模型参数最低GPU配置最低CPU配置建议内存建议硬盘空间
R1 or R1-Zero 满血版

A/H100(80G) x 16-18

​某乎上便有篇文章:16张H100部署模型DeepSeek-R1

值得一提的是,A100/A800原生并不支持FP8运算,如果A800要执行FP8精度计算,需要在指令层面进行模拟(存在精度转换计算)

如下图所示(图源)

当然,如果用8-bit量化,则显存需求降至671B,需9-12张H100

Xeon 8核192GB2TB固态
R1-distill-llama70BRTX 4090(24GB) x 2,相当于合起来48Gi9-13900K64GB1TB固态
R1-distill-Qwen32BRTX 4090(24GB)i7-13700K64GB1TB固态
R1-distill-Qwen14BRTX 4060S(16GB)Ryzen 732GB500G固态

* 至于7B或8B的只需4G或以上显存即可,1.5B的则只需1G或以上显存

可以看到

  • 完全开源的DeepSeek-R1 671B参数进行本地私有化部署的显卡资源要求极高
    包括我司七月在线内部之前也最多用过8张80G的A100——通过1.5K条paper-review数据微调LLaMA2 70B「详见此文《七月论文审稿GPT第4.2版:通过15K条paper-review数据微调Llama2 70B(含各种坑)》」
  • 由于 FP8 训练是Deepseek 的框架中原生采用的,故DeepSeek-R1/3均(DeepSeek-R1基于DeepSeek-V3-base后训练)均为FP8精度训练「详见此文《一文通透让Meta恐慌的DeepSeek-V3:在MoE、GRPO、MLA基础上提出Multi-Token预测(含FP8训练详解)》」,下图是各个精读的对比(图源)

因此提供的精度就是FP8(e4m3),占单个Byte空间

  1. "quantization_config": {
  2. "activation_scheme": "dynamic"
  3. "fmt": "e4m3",
  4. "quant method": "fp8"
  5. "weight_block_size": [
  6. 128,
  7. 128
  8. ]
  9. }
  • 模型分片163个,模型的文件总计约为642G,如果以FP3精度加载到显存,模型参数就需要642GB空间
    按PagedAttention论文预估的KV-Cache+和激化值估计至少要占到30%左石
  • 在推理场景下,输出大多是长文本,那就更多了,而且具体模型还要实测,或用Nvidia Nisight+分析显存占用。估计常规部署都需要800GB以上,10张A800打底

而大部分消费者或开发者拥有的硬件资源是有限的,故关于网上大多数人所谓部署的R1都是其蒸馏Llama/Qwen后的8B/32B/70B版本,本质是微调后的Llama或Qwen模型

1.4 蒸馏版和满血版的两类部署

最后,咱们下面有两种部署对象

  1. 一个是部署各种蒸馏版

    也不要小看蒸馏版,虽然R1蒸馏llama/qwen的版本效果上不及R1 671B满血版,但还是挺能打的


    详见下图,在与GPT-4o 0513、o1 mini、QwQ-32B preview PK的过程中,各个蒸馏版在六个榜单中的五个榜单 都拿到了第一

  2. 一个是部署R1 or R1-Zero 满血版

第二部分 通过Ollama/vLLM/MNN本地部署R1蒸馏版:支持联网及知识库问答(含PC端和手机端)

2.1 基于Ollama和各类插件构建智能对话:终端、open-webui、chatbox

2.1.1 Ollama下的终端命令行交互

首先,671B的R1光模型本身就有688G:

  • huggingface.co/deepseek-ai/DeepSeek-R1,没有一定的GPU集群 确实不好弄
  • 即便是量化版本,最极端的Q1量化,也要94G:​​​​​​huggingface.co/bartowski/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-IQ1_S
  • Q4量化版,则大概360G,如果有5张 A100 80G,则可以试一下
    ​​​​​​huggingface.co/bartowski/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-IQ4_XS

所以,一般用户比较好跑的还是R1的蒸馏版

  • 如果是10G显存
    可以跑这个R1蒸馏Qwen 2.5 14b的IQ4_NL版本​​​​​​huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-14B-GGUF/blob/main/DeepSeek-R1-Distill-Qwen-14B-IQ4_NL.gguf
  • 如果是16G显存
    一方面,可以试试蒸馏的Qwen 2.5 32b的版本,IQ3_M量化,不过,有人实测后,说损失有点严重——相当于Q4以下量化都不太推荐
    二方面,我司七月在线的《DeepSeek项目实战营》提供的GPU预装了DeepSeek-R1-Distill-Llama-8B:https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-8B,欢迎大伙体验

ollama目前支持部署多种模型,包括且不限于目前最流行的deepseek R1,也包括之前的llama 3.3等

我下午在我自己的iMac上本地部署了下R1 7B蒸馏版(同事朝阳则在Windows上试了下,同事青睐则在Linux上 试了下),还想办法支持了联网搜索,这一切确实比之前更平权了,速度可以的,效果的话 毕竟就7B嘛——和671B 满血版还是有很大差距的

我的iMac Retina 4K, 21.5-inch, 2017配置如下

  • 处理器 3,4 GHz 四核Intel Core i5
  • 图形卡 Radeon Pro 560 4 GB
  • 内存16 GB 2400 MHZ DDR4
  • macOS Ventura 13.6.7

同事朝阳Windows的配置如下

  • CPU:Intel(R) Core(TM) i5-8300H
  • 显卡:NVIDIA GeForce GTX 1050Ti 4G独显
  • 内存:16G

具体怎么操作呢,进入Ollama页面

  1. Download Ollama,我个人电脑因为是iMac,故选择macOS版本——180M大小
    如果是Windows、或Linux,则分别对应选择

    其中,如果是Windows
    如同事朝阳所说,则Windows上下载后,先不要着急安装,因为会默认安装到C盘中,为避免占用C盘空间,可以先打开终端(cmd),通过OllamaSetup.exe /dir="E:\Program Files\Ollama”命令可以指定Ollama安装目录——这里由于Windows会默认安装到C盘,故和其他系统如Mac需特别注意下

    且Ollama安装好之后,需先关闭,在配置并保存完环境变量后重新启动
    接下来,指定大模型存储目录
    1、打开“开始”菜单,搜索“环境变量”,点击“编辑系统环境变量”

    2、在“系统属性”窗口中,点击“环境变量 按钮。在“用户变量”下,点击“新建”,输入变量名“ollama_models”,变量值为你想要存储模型的目录路径,如 “D:\Program Files\ollama_models”,点击 “确定” 保存更改


    其中,如果是ubuntu
    如同事青睐所说,则如下安装Ollama
    curl -fsSL https://ollama.com/install.sh | sh
    可以查看ollama版本
    ollama -v
    以下则是其他的命令
    ollama

    还可以查看ollama的服务运行状态
    1. # 要查看当前正在运行的服务,可以使用以下命令:
    2. sudo systemctl list-units --type=service --state=running

    如遇问题,可以课程《DeepSeek原理与项目实战营》群内多多讨论​​​​​​​
  2. 在模型列表页面,下载deepseek R1模型:ollama.com/library/deepseek-r1,然后可以选择比如R1蒸馏qwen2 7B的蒸馏版

  3. 打开本地的命令提示符「我个人电脑是iMac,故在启动台的搜索框里:输入终端,即可打开」,输入以下命令后,回车键开始下载安装对应参数的模型:
    ollama pull deepseek-r1:7b
    下载完成后,可以通过ollama list指令查看所有本地模型占用的存储空间
    ollama list
    想看具体某一个模型的参数。可以使用ollama show指令:
    ollama show <模型名称>
    具体如下图所示

  4. 然后再运行以下命令,便可以和deepseek R1对话了
    ollama run deepseek-r1:7b

    比如可以提问它:为何deepseek影响力这么大——当然,我当时这个例子 举的并不好,因为它没联网(不过,下一节会增加联网搜索的功能),故它已有的预训练知识,回答不了这种时效性很强的问题,大家通过命令行交互的时候,可以问它数学题,毕竟其本质是个推理模型

2.1.2 Ollama下的open-webui交互:基于docker安装,且支持联网搜索

当然,如果你希望有更好的交互方式,则可以考虑用ollama的标配前端open-webui

  1. 首先通过docker的官网下载docker
    docker.p2hp.com
    我直接用的Google账号注册

    如果是ubuntu,则可以
    1)第一步:准备ubuntu系统
    我使用的是win11的wsl2 ubuntu 子系统(也可以使用VM虚拟机),详情见:window11使用wsl2安装Ubuntu22.04
    2)第二步:ubuntu安装docker(命令行版)
    linux 安装配置docker与网络代理,详情见:Ubuntu 安装 docker 配置环境及其常用命令


    如遇问题,可以课程《DeepSeek原理与项目实战营》群内多多讨论
  2. 安装好后在右下角点击Terminal,打开控制台

  3. 输入以下命令——等待安装完成
    docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
    然后在docker页面可以看到如下呈现

  4. 点击上面的链接:http://localhost:3000/auth,创建相关管理员账号之后

    即可开始和R1对话拉

可能有同学疑问,这个7B没法联网,有点弱智啊,好问题

  1. 巧的是,在管理员面板上:http://localhost:3000/admin/settings,可以打开联网搜索滴,如果有相应搜索引擎的API,则自行设置,否则可以选择免费的duckduckgo

  2. 然后点击聊天界面的左下角 + 按钮,选择联网搜索

  3. 则一切大功告成

2.1.3 基于Ollama + ChatBox部署deepseek-r1:7b

除了上面的open-webui之外,当然,也有人说,chatbox 是个很方便的图形界面,比open web-UI 好用

一不做二不休,那我们再试下这个chatbox

  1. 通过Ollama部署好deepseek-r1:7b之后,再通过chatbox官网下载对应的客户端:chatboxai
  2. 下载好chatbox之后,进行如下图所示的一系列设置「比如模型的提供方选择OLLAMA.API,且在下拉框处选择本地已经安装的模型deepseek-r1:7b」

  3. 接下来,便可以提问R1 7B拉

2.2 基于Ollama和Page Assist/AnythingLLM构建本地知识库问答系统

2.2.1 基于Ollama + Page Assist搭建本地知识库问答系统:且支持联网搜索

也有人称,Page Assist 直接提供了一个类似Open WebUI的交互界面来运行本地的大模型,故我们再试下这个Page Assist

更何况在通过Ollama部署好deepseek-r1:7b之后,如果你想让DeepSeek R1不仅仅是一个问答机器人,而是一个具有专有知识的智能助手,那就需要搭建本地知识库了

实现也很简单——基于Page Assist即可

  1. 直接打开Chrome的插件市场,搜索并添加Page Assist插件

  2. 安装完插件后,点击插件图标,选择本地搭建的DeepSeek模型,进行配置,且支持联网搜索——背后还是基于免费的duckduckgo

  3. 且点击页面右上角的设置按钮,还可以进入RAG(RetrievalAugmented Generation)模式

  4. 上传你自己的知识库

2.2.2 基于Ollama + AnythingLLM搭建本地知识库问答

除了通过page Assist搭建本地知识库外,还可以通过AnythingLLM

  1. 在其官网下载客户端:https://anythingllm.com/desktop
  2. 下载好了之后,选择模型

  3. 一切安装好了之后,点击界面左上角-工作区的上传按钮

    即可上传自己的知识库

2.3 通过vLLM推理deepseek-r1

本2.3节基本为我司大模型项目组的文弱编写

2.3.1 基于vLLM的命令行交互——R1-Distill-Llama-8B

  1. 首先,新建一个conda环境:
    ​​​​​​​conda create -n vllm_test python=3.10
  2. 然后配置该conda环境:
    1. conda activate vllm_test
    2. pip install vllm
  3. 配置好以后,启动vllm推理服务:
    vllm serve path_to/DeepSeek-R1-Distill-Llama-8B --tensor-parallel-size 1 --max-model-len 32768 --enforce-eager --gpu_memory_utilization=0.98 --enable-chunked-prefill --port 6060
    默认是8000端口,可以修改port里的参数来改变服务端口
    vllm serve后面的模型路径改为本地下载好的模型的实际绝对路径
  4. 启动vllm服务后,便可以直接提问了,比如输入如下命令行:
    1. ​
    2. curl http://localhost:6060/v1/chat/completions \
    3. -H "Content-Type: application/json" \
    4. -d '{
    5.   "model": "path_to/DeepSeek-R1-Distill-Llama-8B ",
    6.   "messages": [
    7.     {"role": "system", "content": "You are a helpful assistant."},
    8.     {"role": "user", "content": "题目:有五个人站成一排,每个人手中都拿着一顶帽子,帽子的颜色可以是红色、蓝色或绿色。每个人都能看到自己前面的人头上的帽子颜色,但看不见自己头上的帽子,且每个人只能看到前面人的帽子颜色,而无法看见自己的帽子和别人背后的帽子。每个人都可以听到别人说话的内容,但不能交换信息。规则:每个人都知道一共有三种颜色的帽子(红、蓝、绿),并且帽子是随机分配的,每种颜色可能有多个,但也可能没有。每个人会依次回答自己头上的帽子颜色,能正确猜出自己帽子颜色的人可以获得奖励。第一个人只能听到后面四个人的回答,无法知道任何自己的信息;第二个人只能听到后面三个人的回答,依此类推。第一个人可以先做一个声明,告知后面的人如何推理他们自己的帽子颜色。问题:如果所有人都能完美推理出自己头上的帽子颜色,问:第一个人应该如何开始,才能确保最多的人能够猜对自己帽子颜色?"}
    9.   ],
    10.   "max_tokens": 2000,
    11.   "temperature": 0.7,
    12.   "top_p": 0.9
    13. }'

2.3.2 基于vllm + open WebUi 部署r1 7b

同事文弱因为电脑显存有限,所以找了一个量化的7b模型,重在跑通流程「如他所说,open webui需要docker,所以autodl上不能用,但是我的电脑显存又比较小,我去魔搭社区找到了一个8bit的r1 7b弄的,最终在wsl2上启动的vllm服务,在Windows上启动的open webui」

对于wsl2的部分:

  1. 第一步:下载模型
    1. git lfs install
    2. git clone https://www.modelscope.cn/okwinds/DeepSeek-R1-Distill-Qwen-7B-Int8-W8A16.git
  2. 第二步:搭建环境
    1. conda create -n vllm_deploy python=3.10
    2. conda activate vllm_deploy
    3. pip install vllm
  3. 第三步:用vllm启动推理服务
    vllm serve /home/duke/playground/models/DeepSeek-R1-Distill-Qwen-7B-Int8-W8A16  --max-model-len 32768 --enforce-eager --gpu_memory_utilization=0.9 --enable-chunked-prefill
  4. 第四步:得到wsl2的实际ip地址
    1. ip addr show eth0 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1
    2. 172.18.xxx.xxx

对于Windows部分

  1. 第一步:下载docker桌面版
    在docker官网(www.docker.com)下载Windows的docker桌面版
  2. 第二步:运行(下载)open Webui docker
    docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
  3. 第三步:在本地浏览器输入 localhost:3000 进入open Webui界面
    注册并登录之后
    点击左下角的settings:

    在settings的界面再点击admin settings:

    在接下来的页面点击Connections,点击以后在 Manage OpenAI API Connections 这个框中填入「注意,这里只是个设置框,并不需要你事先有OpenAI的API」:
    http://172.18.xxx.xxx:8000/v1 (这里的ip地址为wsl2的地址,而不是localhost)
    在同事文弱的环境中,必须用http协议,否则会报错。默认是https,这里需要注意一下

    在第二框中填入一个空格即可

    点击右下角的齿轮再连接就可以了
  4. 第四步:对话验证
    新建一个对话框,这个时候就可以找到我们在wsl2中vllm部署的模型了
    加载该模型即可开始对话

2.4 本地手机端部署DeepSeek-R1蒸馏Llama/Qwen后的版本

直接通过这个链接:mnn_llm_app_debug_0_1.apk,下载Android apk,安装之后,在应用内的模型列表最后一个,直接安装R1-1.5B-Qwen-MNN 即可

我另一个同事朝阳——我司七月大模型项目组负责人,也验证了下,没问题

第三部分 无蒸馏前提下本地部署R1 or R1-Zero 671B满血版

本地部署R1 or R1-Zero 满血版又分为两种方式

  1. 一种是做了各种量化的,此乃属于追求满血版但资源还是有限不得不做的折中处理
  2. 一种是不做任何量化的,这种属于土豪路径,如果你是用的这个路线,请私我,原因很简单,我也想多一些土豪朋友

3.1 折中路径:无蒸馏但量化部署Deepseek-R1 671B满血版

3.1.1 本地CPU上运行 Deepseek-R1 的完整的硬件 + 软件设置

huggingface 的一工程师Matthew Carrigan展示了在本地CPU上运行 Deepseek-R1 的完整的硬件 + 软件设置「他使用的是 670B 模型,无蒸馏,Q8 量化,实现全质量,总成本 6,000 美元——GPU版本得10万美元+」

核心硬件方面

  • 主板:技嘉 MZ73-LM0 或 MZ73-LM1。有 2 个 EPYC 插槽,以获得 24 个 DDR5 RAM 通道
  • CPU:2x 任何 AMD EPYC 9004 或 9005 CPU
    “LLM 一代的瓶颈在于内存带宽,因此您不需要高端产品。如果真的想降低成本,请购买 9115 甚至 9015”
  • RAM:24×32GB DDR5-RDIMM
    因为需要 768GB(以适应模型)跨 24 个 RAM 通道(以获得足够快的带宽),故意味着 24 x 32GB DDR5-RDIMM 模块

关键组件方面

  • 电源:该系统的功耗出奇地低!(<400W)
    “但是,您需要大量的 CPU 电源线来为 2 个 EPYC CPU 供电。Corsair HX1000i 的功率足够了。”
  • 机箱:具有用于安装完整服务器主板的螺丝安装座
  • 散热器:适合AMD EPYC 有 SP5 插槽的就行

系统调优方面

  • 最后,SSD:任何适合 R1 的 1TB 或更大的 SSD 都可以。“推荐 NVMe,只是因为启动模型时你必须将 700GB 复制到 RAM 中
  • 软件部分:安装 Linux,进入 BIOS 并将 NUMA 组数设置为 0。这将确保模型的每一层都交错在所有 RAM 芯片上,从而使我们的吞吐量加倍。安装 Llama。下载 700G 的DeepSeek-R1-Q8_0 版本

软件部署

  1. 安装llama.cpp:git clone https://github.com/ggerganov/llama.cpp
  2. 下载模型权重:HuggingFace Q8_0目录全量700GB(⚠️确保存储空间)
  3. 一切完成后,设置以下代码:
    llama-cli -m ./DeepSeek-R1.Q8_0-00001-of-00015.gguf --temp 0.6 -no-cnv -c 16384 -p "<|User|>How many Rs are there in strawberry? <|Assistant|>"

这个版本没有 GPU,生成速度是每秒 6 到 8 个tokens,作者认为考虑到价格,这个非 GPU 硬件的方案可以接受。因为运行的是 Q8 量化的完整 670B 模型,因此质量应与 Deepseek API 无异

至于为什么不用GPU?

  1. 显存墙限制:保持Q8精度需700GB+显存,单张H100仅80GB → 需9张组集群 → 成本超10万美元
  2. 量化损耗困境:若降精度至FP16,8卡H100即可运行 → 但模型质量显著下降 ≈ 智商砍半
  3. 性价比暴击:本方案以1/20成本实现可用推理速度(对比GPU方案6-8tps vs 50-100tps)

3.1.2 GPU上跑无蒸馏但量化的Deepseek-R1 671B满血版

Unsloth AI 在 HuggingFace 上提供了 “动态量化” 版本来大幅缩减模型的体积

所谓“动态量化” 的核心思路是:对模型的少数关键层进行高质量的 4-6bit 量化,而对大部分相对没那么关键的混合专家层(MoE)进行大刀阔斧的 1-2bit 量化

为什么可以做呢,原因在于他们观察到,DeepSeek 的前 3 层是全连接层,而非 MoE 层


作为回顾,MoE(专家混合)层使得能够在不增加模型计算量(FLOPs)的情况下增加参数数量,因为他们动态地将大多数条目掩码为 0,因此实际上跳过了对这些零值条目的矩阵乘法运算「更多请参阅此条推文:x.com/danielhanchen/status/1868748998783517093」

  1. 总之,通过这种方法,DeepSeek R1 全量模型可压缩至最小 131GB(1.58-bit 量化),极大降低了本地部署门槛,甚至能在单台 Mac Studio 上运行
  2. Unsloth AI 提供了4 种动态量化模型(1.58 至 2.51 比特,文件体积为 131GB 至 212GB)
    MoE BitsDisk SizeTypeQualityLinkDown_proj
    1.58-bit131GBIQ1_SFairhuggingface.co/unsloth/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-UD-IQ1_S2.06/1.56bit
    1.73-bit158GBIQ1_MGoodhuggingface.co/unsloth/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-UD-IQ1_M2.06bit
    2.22-bit183GBIQ2_XXSBetterhuggingface.co/unsloth/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-UD-IQ2_XXS2.5/2.06bit
    2.51-bit212GBQ2_K_XLBesthuggingface.co/unsloth/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-UD-Q2_K_XL3.5/2.5bit

部署此类大模型的主要瓶颈是内存+显存容量,建议配置如下:

  • DeepSeek-R1-UD-IQ1_M:内存 + 显存 ≥ 200 GB
  • DeepSeek-R1-Q4_K_M:内存 + 显存 ≥ 500 GB

若硬件条件有限,可尝试体积更小的 1.58-bit 量化版(131GB),可运行于:

  • 单台 Mac Studio
    192GB 统一内存,参考案例可见 X 上的 @ggerganov,成本约 5600 美元
  • 2×Nvidia H100 80GB
    参考案例可见 X 上的 @hokazuya,成本约 4~5 美元 / 小时

且在这些硬件上的运行速度可达到 10+ token / 秒

// 待更

3.2 土豪路径:无蒸馏不量化部署Deepseek-R1 671B满血版

想既不蒸馏、且不量化部署R1满血版,其实过程跟上面差不多,但核心问题是对硬件的要求很高——正因为需要十几张H100,故涉及到对GPU集群的管理

配置项配置要求
GPUH100 * 16
CPU128核
内存512GB
磁盘1TB

// 待更

注:本文转载自blog.csdn.net的v_JULY_v的文章"https://blog.csdn.net/v_JULY_v/article/details/145429696"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top