DeepSeek-R1:使用KTransformers实现高效部署指南

KTransformers作为一个开源框架,专门为优化大规模语言模型的推理过程而设计。它支持GPU/CPU异构计算,并针对MoE架构的稀疏性进行了特别优化,可以有效降低硬件要求,允许用户在有限的资源下运行像DeepSeek-R1这样庞大的模型。

硬件配置:CPU: 使用的是Intel Xeon Silver 4310 CPU @ 2.10GHz,拥有24个物理核心(每个插槽12个核心),支持超线程技术,总共有48个逻辑处理器。内存: 系统配备了1T的DDR4内存,频率为3200MHz。GPU: NVIDIA GeForce RTX 4090,显存为24GB。软件环境:操作系统版本:Ubuntu 20.04CUDA版本:12.4软件框架: KTransformers v0.2.1,支持DeepSeek-R1模型的本地推理。
模型参数:DeepSeek-R1-Q4_K_MKTransformers:ktransformers:https://github.com/kvcache-ai/ktransformersktransformers安装指南:https://kvcache-ai.github.io/ktransformers/en/install.html模型文件:huggingface(科学上网):https://huggingface.co/unsloth/DeepSeek-R1-GGUFmodelscope(国内推荐):https://modelscope.cn/models/unsloth/DeepSeek-R1-GGUF

实现步骤:
1.使用 Conda
创建虚拟环境
我们建议使用Conda来创建一个Python=3.11的虚拟环境来运行程序:
bash conda create --name ktransformers python=3.11
conda activate ktransformers

2.模型加载
下载Deepseek原模型配置文件
modelscope:https://modelscope.cn/models/deepseek-ai/DeepSeek-R1
huggingface:https://huggingface.co/deepseek-ai/DeepSeek-R1
(模型都是从modelscope下载的,但是KTransformer如果没有找到本地的模型文件,会从Hugging Face上面去搜索相应的模型进行下载。而由于国内的一些网络问题,可能会导致直接下载模型失败。有一种方法是配置HF的镜像地址:$ export HF_ENDPOINT=https://hf-mirror.com)
检查配置文件是否完整
在这里插入图片描述
3.下载源代码并编译
初始化源代码:
bash git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule init
git submodule update
安装(Linux): bash bash install.sh

pip install flash-attn

以及需要手动安装libstdc

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install --only-upgrade libstdc++6
conda install -c conda-forge libstdcxx-ng

$ git clone https://github.com/kvcache-ai/ktransformers.git
正克隆到 ‘ktransformers’…
remote: Enumerating objects: 1866, done.
remote: Counting objects: 100% (655/655), done.
remote: Compressing objects: 100% (300/300), done.
remote: Total 1866 (delta 440), reused 359 (delta 355), pack-reused 1211 (from 2)
接收对象中: 100% (1866/1866), 9.33 MiB | 7.65 MiB/s, 完成.
处理 delta 中: 100% (990/990), 完成.
$ cd ktransformers/
$ git submodule init
子模组 ‘third_party/llama.cpp’(https://github.com/ggerganov/llama.cpp.git)已对路径 ‘third_party/llama.cpp’ 注册
子模组 ‘third_party/pybind11’(https://github.com/pybind/pybind11.git)已对路径 ‘third_party/pybind11’ 注册
$ git submodule update
正克隆到 ‘/datb/DeepSeek/ktransformers/third_party/llama.cpp’…
正克隆到 ‘/datb/DeepSeek/ktransformers/third_party/pybind11’…
子模组路径 ‘third_party/llama.cpp’:检出 ‘a94e6ff8774b7c9f950d9545baf0ce35e8d1ed2f’
子模组路径 ‘third_party/pybind11’:检出 ‘bb05e0810b87e74709d9f4c4545f1f57a1b386f5’
$ bash install.sh
Successfully built ktransformers
Installing collected packages: wcwidth, zstandard, tomli, tenacity, sniffio, six, pyproject_hooks, pydantic-core, psutil, propcache, orjson, ninja, multidict, jsonpointer, h11, greenlet, frozenlist, exceptiongroup, colorlog, click, attrs, async-timeout, annotated-types, aiohappyeyeballs, yarl, uvicorn, SQLAlchemy, requests-toolbelt, pydantic, jsonpatch, httpcore, build, blessed, anyio, aiosignal, starlette, httpx, aiohttp, langsmith, fastapi, accelerate, langchain-core, langchain-text-splitters, langchain, ktransformers
Successfully installed SQLAlchemy-2.0.38 accelerate-1.3.0 aiohappyeyeballs-2.4.6 aiohttp-3.11.12 aiosignal-1.3.2 annotated-types-0.7.0 anyio-4.8.0 async-timeout-4.0.3 attrs-25.1.0 blessed-1.20.0 build-1.2.2.post1 click-8.1.8 colorlog-6.9.0 exceptiongroup-1.2.2 fastapi-0.115.8 frozenlist-1.5.0 greenlet-3.1.1 h11-0.14.0 httpcore-1.0.7 httpx-0.28.1 jsonpatch-1.33 jsonpointer-3.0.0 ktransformers-0.2.1+cu128torch26fancy langchain-0.3.18 langchain-core-0.3.35 langchain-text-splitters-0.3.6 langsmith-0.3.8 multidict-6.1.0 ninja-1.11.1.3 orjson-3.10.15 propcache-0.2.1 psutil-7.0.0 pydantic-2.10.6 pydantic-core-2.27.2 pyproject_hooks-1.2.0 requests-toolbelt-1.0.0 six-1.17.0 sniffio-1.3.1 starlette-0.45.3 tenacity-9.0.0 tomli-2.2.1 uvicorn-0.34.0 wcwidth-0.2.13 yarl-1.18.3 zstandard-0.23.0
Installation completed successfully
在这里插入图片描述

参考:
https://www.cnblogs.com/dechinphy/p/18719866/ktransformer
https://zhuanlan.zhihu.com/p/25811017239

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/30492.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

回归预测 | Matlab实现GWO-BP-Adaboost基于灰狼算法优化BP神经网络结合Adaboost思想的回归预测

回归预测 | Matlab实现GWO-BP-Adaboost基于灰狼算法优化BP神经网络结合Adaboost思想的回归预测 目录 回归预测 | Matlab实现GWO-BP-Adaboost基于灰狼算法优化BP神经网络结合Adaboost思想的回归预测回归效果基本介绍GWO-BP-Adaboost:基于灰狼算法优化BP神经网络结合Adaboost思想…

基于websocket的多用户网页五子棋 --- 测试报告

目录 功能测试自动化测试性能测试 功能测试 1.登录注册页面 2.游戏大厅页面 3.游戏房间页面 自动化测试 1.使用脑图编写web自动化测试用例 2.创建自动化项目,根据用例通过selenium来实现脚本 根据脑图进行测试用例的编写: 每个页面一个测试类&am…

JavaWeb-mysql8版本安装

下载方式 地址:https://www.mysql.com/cn/downloads/ 选择:MySQL Community (GPL) downloads 选择:MySQL Community Server 选择: 选择: 安装mysql (8.0.30) 1、以管理员身份 打开 命令行…

人工智能神经网络基本原理

MP 神经元数学模型 MP 模型是神经网络领域的早期模型,它模仿了神经元的基本结构和工作原理。 人工神经元是一个多输入、单输出的信息处理单元,是对生物神经元的建模。建模方式可以有很多种,不同的建模方式就意味着不同的人工神经元结构。 比…

python从入门到精通(二十六):python文件操作之Word全攻略(基于python-docx)

python文件操作之word技巧大全 word技巧基础到高级操作大全A.准备工作1. 安装python-docx库2. 导入库 B.基础操作1. 创建Word文档1.1 创建文档对象1.2 添加word标题1.3 添加word段落1.4 设置段落样式1.5 创建有序列表1.6 创建无序列表1.7添加word分页1.8 添加word图片1.9 添加w…

Android Configuration相关问题如何定位分析(中英文切换、黑夜白天模式等)

Android Configuration相关问题如何定位分析(中英文切换、黑夜白天模式等). Configuration的常见问题场景: app的size position不正确中英文显示不正确白天黑夜模式不正确 Configuration信息如下: mFullConfiguration{1.0 ?mc…

SCI1区TOP:自适应学习粒子群算法SLPSO,深度解析+性能实测

目录 1.摘要2.改进策略3.自适应学习粒子群算法4.结果展示5.参考文献6.获取代码 1.摘要 粒子群算法(PSO)是一种基于种群的随机搜索方法,广泛应用于科学和工程领域的连续空间优化问题,并已证明其高效性和有效性。许多实际问题的往往…

kotlin协程之CoroutineScope 与 CoroutineContext 详解

前言 在使用协程时,不管是看协程的源码还是日常使用,会经常看到 CoroutineScope 和 CoroutineContext, 这两个到底是什么东西呢?作用是什么? 本篇文章我们就来深入的理解一下 CoroutineScope 和 CoroutineContext。 …

win11编译llama_cpp_python cuda128 RTX30/40/50版本

Geforce 50xx系显卡最低支持cuda128,llama_cpp_python官方源只有cpu版本,没有cuda版本,所以自己基于0.3.5版本源码编译一个RTX 30xx/40xx/50xx版本。 1. 前置条件 1. 访问https://developer.download.nvidia.cn/compute/cuda/12.8.0/local_…

正向代理与反向代理

代理: 通常称为代理、代理服务器或 Web 代理,代理一般是指正向代理,是位于一组客户端计算机之前的服务器。当这些计算机向 Internet 上的站点和服务发出请求时,代理服务器将拦截这些请求,然后代表客户端与 Web服务器进行通信&…

Vue _总结

文章目录 一 Vue介绍1 什么是Vue.js2 MVVM二 第一个例子1 引入vue2 html中用法3 创建vue实例对象三 Vue基本语法1 v-text2 v-bind3 v-on4 v-model5 v-if6 v-for7 计算属性8 组件化全局注册本地注册9 生命周期10 员工程序使用vue.js重构list.htmladd.htmlupdate.html四 使用vue-…

理解梯度下降、链式法则、梯度消失/爆炸

第一章:人工智能之不同数据类型及其特点梳理 第二章:自然语言处理(NLP):文本向量化从文字到数字的原理 第三章:循环神经网络RNN:理解 RNN的工作机制与应用场景(附代码) 第四章:循环神经网络RNN、LSTM以及GR…

笔记四:C语言中的文件和文件操作

Faye:只要有正确的伴奏,什么都能变成好旋律。 ---------《寻找天堂》 目录 一、文件介绍 1.1程序文件 1.2 数据文件 1.3 文件名 二、文件的打开和关闭 2.1 文件指针 2.2.文件的打开和关闭 2.3 文件读取结束的判定 三、 文件的顺序读写 3.1 顺序读写…

mysql下载与安装、关系数据库和表的创建

一、mysql下载: MySQL获取: 官网:www.mysql.com 也可以从Oracle官方进入:https://www.oracle.com/ 下载地址:https://downloads.mysql.com/archives/community/ 选择对应的版本和对应的操作系统&#xff…

(数据结构)双向链表

(数据结构)带头双向循环链表 前言 前面链表部分,咱们着重讲解了不带头单向不循环链表,简称单链表。那么链表其实也分很多种类适用于各种各样的场景。通过单链表的学习,其实我们已经大致了解了链表的绝大多数的内容,所以接下来我通…

考研英语语法全攻略:从基础到长难句剖析​

引言 在考研英语的备考之旅中,语法犹如一座灯塔,为我们在浩瀚的英语知识海洋中指引方向。无论是阅读理解中复杂长难句的解读,还是写作时准确流畅表达的需求,扎实的语法基础都起着至关重要的作用。本文将结合有道考研语法基础入门课的相关内容,为大家全面梳理考研英语语法…

【计算机网络入门】应用层

目录 1.网络应用模型 1.1 C/S模型(客户端服务器模型) 1.2 P2P模型(对等模型) 2. DNS系统 2.1 域名 2.2 域名解析流程 3. FTP文件传输协议 4. 电子邮件系统 4.1 SMTP协议 4.2 pop3协议 4.3 IMAP协议 4.4 基于万维网的电…

【GoTeams】-3:构建api、重构错误码

本文目录 1. 构建api梳理调用关系api包的作用路由梳理注册Register代码语法 2. 重构错误码 1. 构建api 首先复制project-user,改名为project-api,放在总的路径下,然后在工作区中进行导入。 运行命令go work use .\project-api\新建工作区之…

游戏引擎学习第145天

仓库:https://gitee.com/mrxiao_com/2d_game_3 今天的计划 目前,我们正在完成遗留的工作。当时我们已经将声音混合器(sound mixer)集成到了 SIMD 中,但由于一个小插曲,没有及时完成循环内部的部分。这个小插曲主要是…

Qt 实现绘图板(支持橡皮擦与 Ctrl+Z 撤销功能)[特殊字符]

作业&#xff1a; 1&#xff1a;实现绘图的时候&#xff0c;颜色的随时调整 2&#xff1a;追加橡皮擦功能 3&#xff1a;配合键盘事件&#xff0c;实现功能 当键盘按 ctrlz的时候&#xff0c;撤销最后一次绘图 头文件.h #ifndef WIDGET_H #define WIDGET_H#include <QWidge…