DeepSeek-R1 部署教程:70B模型的2025最新方案——prima.cpp本地加速部署指南

DeepSeek-R1 部署教程:70B模型的2025最新方案——prima.cpp本地加速部署指南

prima.cpp :低成本,低延迟,低内存,高性能超大LLM模型私有化分布式部署方案

项目地址:https://github.com/Lizonghang/prima.cpp

论文地址:https://arxiv.org/abs/2504.08791

请添加图片描述

​ DeepSeek创始人梁文锋入选《时代》周刊“2025年全球最具影响力100人”榜单,彰显其在人工智能领域的卓越贡献。2025年4月17日,英伟达创始人兼首席执行官黄仁勋时隔三个月再次访问北京。据报道,此行他会见了英伟达在华的重要客户,其中包括生成式人工智能初创公司DeepSeek的创始人梁文锋。此前,DeepSeek发布的开源大模型R1在全球范围内引起广泛关注。黄仁勋在接受采访时表示,投资者对DeepSeek在人工智能领域取得的进展存在误解,认为这可能减少对英伟达高端芯片的需求,导致英伟达股价波动。然而,他强调,DeepSeek R1的发布实际上有助于加速人工智能的普及,对整个行业是利好的。梁文锋的领导使DeepSeek在全球人工智能领域占据了重要地位,其个人也因此被《时代》周刊评为“2025年全球最具影响力100人”之一。今天,我们普通用户也能使用 prima.cpp 自己部署 DeepSeek-R1 大模型了!

​ 随着 大语言模型(LLM) 技术快速普及,本地化部署成为越来越多企业和开发者关注的焦点,特别是在隐私保护离线应用场景下尤为重要。本文将以最新高性能推理框架 prima.cpp 为核心,手把手讲解如何部署 70B 参数量的 DeepSeek R1 模型,适用于普通设备、多终端分布式环境。

prima.cpp 一个新兴的开源可商用大模型推理框架,该项目由 穆罕默德·本·扎耶德人工智能大学电子科技大学 的研究人员联合开发。旨在在资源有限的普通设备上高效运行更大的模型,根据实验显示,该项目成功部署了70B 规模的大语言模型 DeepSeek R1。在一些模型上与 llama.cpp 方案相比,速度最大提升了15倍,在内存管理上也有了明显进步。

请添加图片描述

​ 根据 2025 年 4 月发布的论文《PRIMA.CPP: Speeding Up 70B-Scale LLM Inference on Low-Resource Everyday Home Clusters》,prima.cpp 引入了多项创新技术:

  • 节省内存、降低成本: 它采用了一种叫 的技术,让大模型“随用随取”,像看电影时的缓冲一样,减少内存压力。再配合智能的“分工机制”,让你在家用电脑上也能跑超大模型。
  • CPU 和 GPU 携手上阵:不再只靠显卡“单打独斗”——它会根据每台设备的能力,智能地安排 CPU 和 GPU 一起工作,就像一个高效的团队各司其职,提升整体速度。
  • 高速“流水线”机制:引入了类似“工厂流水线”的 piped-ring 架构,能提前加载模型需要的数据,避免卡顿,使用起来更流畅。
  • 智能负载调度:DeepSeek 教程系统会自动评估每台机器的“能力值”(处理能力和内存),然后合理分配任务。哪台设备强,就干重活;哪台轻,就安排辅助任务。
  • 兼容主流模型,格式通吃:不管你喜欢 Meta 的 LLaMA,还是国产的 DeepSeek、Qwen 系列,都能轻松上阵,同时支持多种压缩格式。
  • 多系统支持,更广泛部署:无论你是用 Mac 还是 Linux,都可以尝试部署 prima.cpp。官方正在加急赶制 Windows 部署方案。

目前支持众多热门模型:

DeepSeek-R1

​ DeepSeek R1 是由 DeepSeek AI 团队推出的超大语言模型,覆盖从 7B 到 70B 多种规模,并通过蒸馏等技术压缩模型体积,提升运行效率。它融合了 Qwen 和 LLaMA 架构的优点,既有强大的理解能力,也对硬件要求更友好,特别适合用在像 这样的高性能本地部署框架中,兼顾性能和资源利用率。

  • DeepSeek R1-7B (Q4K, Q6K, Q80): deepseek-ai.DeepSeek-R1-Distill-Qwen-7B
  • DeepSeek R1-8B (Q4K, Q6K, Q80): deepseek-ai.DeepSeek-R1-Distill-Llama-8B
  • DeepSeek R1-14B (Q4K, Q6K, Q80): deepseek-ai.DeepSeek-R1-Distill-Qwen-14B
  • DeepSeek R1-32B (Q4K, Q6K, Q80): deepseek-ai.DeepSeek-R1-Distill-Qwen-32B
  • DeepSeek R1-70B (Q4K, Q6K, Q80): DeepSeek-R1-Distill-Llama-70B

Llama:

​ 由 Meta(Facebook 母公司)推出的大型语言模型系列,它以开源、高性能著称,广泛应用于自然语言理解、对话生成、编程辅助等场景。它支持从小到超大的模型版本,比如 7B、30B 到 70B,不同算力环境都能使用。LLaMA 模型在全球社区中非常受欢迎,几乎是本地部署 AI 的“默认选择”。

  • Llama 3-8B (Q4K, Q6K, Q80): Meta-Llama-3-8B-Instruct
  • Llama 3-14B (Q4K, Q6K, Q80): Llama-3-14B-Instruct-v1
  • Llama 1-30B (Q4K, Q6K, Q80): upstage-llama-30b-instruct-2048
  • Llama 3-45B (Q4K, Q6K, Q80): Llama-3-pruned-45B-Drobeta-Turnu-Severin
  • Llama 3-60B (Q4K, Q6K, Q80): nyun-llama3-60B
  • Llama 1-65B (Q4K, Q6K, Q80): llama-65b
  • Llama 3-70B (Q4K, Q6K, Q80): Meta-Llama-3-70B-Instruct

Qwen 2.5 / QwQ

​ Qwen 2.5 是阿里通义实验室研发的新一代中文大模型,专为中文理解优化,兼顾多语言能力。相比之下,QwQ 是它的轻量版兄弟,采用压缩和量化技术,使得在普通设备上也能高效运行。这两个模型在中文问答、客服、教育等领域表现出色。

  • Qwen 2.5-7B (Q4K, Q6K, Q80): Qwen2.5-7B-Instruct
  • Qwen 2.5-14B (Q4K, Q6K, Q80): Qwen2.5-14B-Instruct
  • Qwen 2.5-32B (Q4K, Q6K, Q80): Qwen2.5-32B-Instruct
  • Qwen 2.5-72B (Q4K, Q6K, Q80): Qwen2.5-72B-Instruct
  • QwQ-32B (Q4K, Q6K, Q80): qwq-32b
  • 用户可以在普通设备上部署先进的 30B 至 70B 大模型,实现本地化的智能助手功能,如自然语言对话、日程管理、家庭自动化控制等。
  • 开发者可以在本地环境中运行大型模型,进行模型测试、调试和微调,减少对云服务的依赖,降低开发成本,同时保护敏感数据的隐私。
  • 教育机构和研究人员可以利用 prima.cpp 在普通计算设备上进行大模型的教学和研究,促进人工智能教育的普及和科研的深入发展。
  • 中小企业可以在内部部署大型语言模型,应用于客户服务、文档生成、数据分析等场景,提高工作效率,保护企业数据的安全性。

官方测试设备:

D1 D2 D3 D4 设备 Mac M1 Laptop Desktop Mate40Pro 操作系统 MacOS(UMA) Linux Linux Linux(基于 HarmonyOS) 中央处理器 苹果 M1 英特尔 i9 英特尔 i9 麒麟9000 CPU 核心 8 8 16 8 RAM(可用) 2.4 GiB 4.1 GiB 9.7 GiB 1.9 GiB 磁盘读取速度 0.72 GB/秒 2.98 GB/秒 3.17 GB/秒 1.37 GB/秒 GPU 类型 苹果金属 3070 2080TI – VRAM(可用) – 8 GiB 11 GiB –

​ 在 llama.cppprima.cpp 上部署的模型推理速度比较,可以看到prima.cpp在超大模型处理上领先,随着模型参数的增大,推理时间变化更为平稳。

模型
llama.cpp / 1Token
prima.cpp / 1Token Llama 3-8B
15 ms 54 ms Llama 3-14B
20 ms 65 ms Llama 1-30B 202 ms
72 ms Llama 3-45B 328 ms
233 ms Llama 3-60B 7965 ms
468 ms Llama 1-65B 8807 ms
569 ms Llama 3-70B 10120 ms
674 ms Qwen-2.5-7B
14 ms 44 ms DeepSeek-R1-Distill-Qwen-7B
14 ms 52 ms DeepSeek-R1-Distill-Llama-8B
14 ms 59 ms Qwen-2.5-14B
23 ms 65 ms DeepSeek-R1-Distill-Qwen-14B
24 ms 76 ms Qwen-2.5-32B and QwQ-32B 224 ms
89 ms DeepSeek-R1-Distill-Qwen-32B 232 ms
93 ms DeepSeek-R1-Distill-Llama-70B 10978 ms
724 ms Qwen-2.5-72B 12227 ms
867 ms

​ 由于项目刚刚兴起,目前只支持LinuxmacOS操作系统进行部署(安卓手机需要模拟linux),有开发C项目经验的可以快速上手,大部分内容需要科学上网。注意:请用固态硬盘进行操作,机械硬盘太慢。目前 prima.cpp 仅支持基于 CUDA 的 GPU。

运行环境依赖准备:

  • gcc >= 9.4.0 (常用的 C/C++ 编译工具,让程序代码变成能运行的应用) 下载地址:https://ftp.gnu.org/gnu/gcc/gcc-9.5.0/
  • make> = 4.2.1(自动化构建工具,相当于“建房子的施工队长”,负责编译项目) 下载地址:https://ftp.gnu.org/gnu/make/
  • cmake >= 3.16.3 (帮助项目“配置施工图”的工具,配合 make 一起使用)下载地址: https://cmake.org/files/v3.18/
  • fio >= 3.16( 用来测试硬盘读写速度) 下载地址:https://sourceforge.net/projects/fio/files/fio-3.16-amd64-jessie/download
  • zmq >= 4.3.2(一种设备间通信工具,帮助多台设备高效协作)下载地址: https://zeromq.org/languages/cplusplus/
  • HiGHS >= 1.9.0(智能任务调度工具,让系统知道每台机器擅长干啥,任务分配更合理)下载地址:https://github.com/ERGO-Code/HiGHS/releases
  • CUDA(可选,如果你有 NVIDIA 显卡)

在Linux(Ubuntu) 上可以执行安装依赖,HiGHS需要自己下:


macOS 上可以直接下载:


下载prima.cpp并初始化构建:


下载DeepSeek-R1 模型

手动下载:

https://huggingface.co/DevQuasar/deepseek-ai.DeepSeek-R1-Distill-Qwen-32B-GGUF/tree/main

命令下载:


这里是单机测试,用的不是prima.cpp ,而是 llama.cpp


llama-cli 常用参数速查表

参数名 示例值 说明 指定模型路径( 格式) 上下文窗口大小(token 数),影响模型的“记忆范围” 提示词(Prompt),模型将基于此生成内容 要生成的最大 token 数量 分配到 GPU 的层数(越多越快,但显存要够) 温度参数,控制生成的多样性(越低越稳定) 从概率前 K 个词中随机抽取 从累计概率大于 P 的词中采样 惩罚重复词,避免输出重复 随机种子,保证结果可复现 使用的 CPU 线程数
(无参数) 启用彩色输出,提升可读性
(无参数) 启用交互模式,支持多轮对话 保留多少 token 不被截断(对上下文管理有用)

官方测试设备:

设备名 序号 大致型号/说明 分配地址
Mac M1 D0 MacBook Air/Pro M1(2020-2021 款) 192.168.1.2 Laptop D1 普通 Windows 笔电(中端配置) 192.168.1.3 Desktop D2 中端台式机(含独显) 192.168.1.4
Mate40 Pro D3 华为旗舰手机(2020 年发布) 192.168.1.5

​ 为了满足通信要求,需要一个 WIFI 局域网, 测试时可以考虑关闭防火墙,开放9000、10000等端口,避免设备之间通信失败。手机需要软件 Termux 模拟Linux系统,下载地址:https://github.com/termux/termux-app/releases

四台设备都需要部署与单机一样的环境,参考 单机部署

在每台设备上执行启动命令:


​ 主设备为D0,一旦启动,prima.cpp 将分析每个设备并决定分配多少工作负载,例如,每个设备应该处理多少个模型 layer,以及其中有多少个应该在 GPU 上运行。

数据的通信是有顺序的环形结构,例如D0->D1->D2->D3->D0 ,下图为论文使用的6台设备网络拓扑。

请添加图片描述

如果需要手动控制 layer 分布,可以使用(或、)和选项:

  • 设置每个设备应处理的模型 layer 总数。格式为逗号分隔的列表,每个设备一个值,按顺序排列。可以设置、、。
  • 设置有多少个模型 layer 应该在 GPU 上运行。

官方测试设备:一台至少配备 32 个 CPU 核心、32 GiB RAM 和 32 GiB VRAM 的主机。

使用 Docker 容器模拟 4 个同构节点,每个节点分配 8 个 CPU 核心、8 GiB RAM 和 8 GiB VRAM。拉取4个镜像:


分别复制模型到4个容器:


没有GPU需要在4个容器中重新构建 prima.cpp


启动推理


启动聊天(对话)模式,只需在头部设备上添加标志 -cnv,要退出聊天模式,输入或。


​ prima.cpp 建议操作系统预取即将到来的层权重,实际的预取操作由操作系统调度和处理,这可能会带来一些不确定性。要在计算后立即显式触发预取,强制预取需要可以添加 –force参数。这会实现更积极的重叠,但也会引入额外的内存访问延迟。请仅在测试后使用,因为其效果取决于硬件和操作系统行为。

调度算法优化与扩展:探索更高效的模型层分配算法,以提升在异构设备上的推理性能。

模型压缩与量化技术的深入研究:研究先进的量化和剪枝方法,进一步减小模型体积,适应低资源设备。

多模态模型的本地部署:拓展系统支持图文等多模态模型,实现更广泛的本地应用。

安全性与隐私保护机制的增强:开发本地部署环境下的隐私保护策略,确保用户数据安全。

系统性能的全面评估与优化:建立标准化评估框架,优化系统在不同硬件配置下的性能表现。

用户体验与交互界面的改进:设计用户友好的界面和工具,简化模型部署和管理流程。

开源社区的参与与贡献:积极参与开源项目,推动系统的持续优化和社区发展。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/237508.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 上午11:30
下一篇 2026年3月16日 上午11:30


相关推荐

关注全栈程序员社区公众号