DeepSeek02-KoboldCPP本地部署DeepSeek

使用 KoboldCPP 在本地部署 DeepSeek 大模型

KoboldCPP 是一个基于 C++ 的高性能推理引擎,专门用于在本地部署和运行大模型。它支持多种模型格式,并且能够高效地利用硬件资源(如 GPU)。本文将详细介绍如何使用 KoboldCPP 在本地部署 DeepSeek 大模型。


一、 什么是 KoboldCPP?

KoboldCPP 是一个轻量级、高性能的推理引擎,专注于在本地运行大模型。它支持以下特性:

  • 高性能:通过 C++ 实现,能够充分利用硬件资源。
  • 多平台支持:支持 Linux、Windows 和 macOS。
  • 易于使用:提供简单的命令行接口,方便快速部署和运行模型。

二、 准备工作

在开始之前,确保你的本地环境满足以下要求:

  • 操作系统:Linux、Windows 或 macOS。
  • Python:3.8 或更高版本(用于模型转换和工具脚本)。
  • GPU:推荐使用 NVIDIA GPU,并安装 CUDA 和 cuDNN(可选,用于加速推理)。
  • 内存:至少 16GB RAM(具体需求取决于模型大小)。
  • 软件: 下载并安装KoboldCPP。
  • 模型文件:下载DeepSeek大模型的权重文件。

三、 安装 KoboldCPP

A、 下载 KoboldCPP

KoboldCPP是一个用于本地部署大模型的工具,支持多种模型格式。以下是安装步骤:

首先,从 KoboldCPP 的 GitHub 仓库下载预编译的二进制文件:

选择适合你操作系统的版本(Windows、Linux 或 macOS),并下载。

B、安装依赖

确保你的系统已安装以下依赖:

  • CUDA(如果使用 GPU):安装与你的 GPU 驱动兼容的 CUDA 版本。
  • OpenBLASMKL(用于 CPU 加速):可以通过包管理器安装。

C、安装,运行KoboldCPP

window版本,是exe格式,直接运行即可


四、 准备 DeepSeek 大模型

KoboldCPP 支持多种模型格式(如 GGML、GPTQ 等)。你需要将 DeepSeek 大模型转换为 KoboldCPP 支持的格式。

A、下载模型

  1. 可以访问huggingface.co:
    从 Hugging Face 或其他来源下载 DeepSeek 大模型。例如:
git lfs install
git clone https://huggingface.co/deepseek-ai/deepseek-large
  1. 不能访问huggingface.co(国内)
pip install hf_transfer huggingface-cli  --trusted-host mirrors.huaweicloud.com -i https://mirrors.huaweicloud.com/repository/pypi/simple

# 然后命令行开启镜像网站并加速:
export HF_ENDPOINT=https://hf-mirror.com  # 镜像网站
export HF_HUB_ENABLE_HF_TRANSFER=1  # 开启加速

# 最后下载模型:
huggingface-cli download --resume-download AAA/BBB
# AAA/BBB是HugglingFace官网复制的模型的名字,比如说hfl/rbt3

hf_transfer是指Hugging Face官方开发的一个基于Rust的加速模块,用于提升从
Hugging Face Hub下载模型的速度。它可以通过设置环境变量
HF_HUB_ENABLE_HF_TRANSFER=1 来启用,并且需要先安装
pip install hf-transfer。启用后,该模块可以显著提高下载速度,尤其是在带宽充足的机器上,可以达到500MB/s的下载速度。尽管它在优化下载速度方面表现优秀,但也有一些限制和问题,比如缺乏进度条、在网络不稳定时鲁棒性较差。从0.19版本开始,hf_transfer支持了进度条,使得用户更容易判断下载状态。在使用时,如果遇到网络中断或不稳定的情况,可能会导致下载失败,此时建议关闭该模块以提高容错性。此外,尽管它能显著加速下载过程,但在某些网络环境下可能不如直接使用Hugging Face CLI稳定。

B、转换模型格式

使用 transformers 或其他工具将模型转换为 KoboldCPP 支持的格式(如 GGML)。以下是一个示例脚本:

pip install  --trusted-host mirrors.huaweicloud.com -i https://mirrors.huaweicloud.com/repository/pypi/simple torch transformers

转换脚本如下:

from transformers import AutoModelForCausalLM
import torch

model_name = "deepseek-ai/deepseek-large"
model = AutoModelForCausalLM.from_pretrained(model_name)

# 转换为 GGML 格式
model.save_pretrained("./deepseek-ggml", save_format="ggml")

五、配置KoboldCPP,使用 KoboldCPP 运行模型

A、模型路径配置

将DeepSeek大模型的权重文件放置在KoboldCPP的models目录下。确保模型文件的路径正确。

B、启动 KoboldCPP

打开终端或命令提示符,导航到KoboldCPP的目录,然后运行以下命令:

./koboldcpp --model ./models/deepseek-ggml.bin --gpu  # 使用 GPU 加速

如果使用 CPU,可以省略 --gpu 参数:

./koboldcpp --model ./models/deepseek-ggml.bin

其中,./models/deepseek-ggml.bin是你的DeepSeek模型文件的路径。

B、参数说明

  • --model:指定模型文件路径。
  • --gpu:启用 GPU 加速(需要 CUDA 支持)。
  • --threads:设置 CPU 线程数(适用于 CPU 模式)。
  • --port:指定服务端口(默认为 5000)。

C、KoboldCPP 配置说明

1. Presets(预设模式)

在软件首页的 Presets 选项中,提供了多种预设模式,包括旧版 N 卡、新版 N 卡、A 卡、英特尔显卡等不同硬件的优化配置。

  • 仅使用 CPU 的 OpenBLAS
    该模式通过 OpenBLAS 进行快速处理和推理,但由于仅依赖 CPU,运行速度相对较慢。

  • CuBLAS(Nvidia GPU 加速)
    该功能专为 Nvidia GPU 设计,启用后软件会自动识别显卡并调用 CuBLAS 进行加速,显著提升推理效率。

  • CLblast(通用 GPU 加速)
    对于没有 Intel 显卡的用户,可以选择 CLblast 模式。CLblast 是基于 OpenCL 的开源计算库,强调通用性,支持多种 GPU 硬件,适合生产环境使用。


2. Context Size(上下文长度)

在主页设置中,Context Size 是一个关键参数,用于调整模型能够处理的上下文长度。

  • 为了获得更好的上下文理解和连贯性,建议将 Context Size 设置为 4096
  • 需要注意的是,Context Size 越大,模型能够记住的上下文信息越多,但同时也会显著影响推理速度。因此,需要根据硬件性能和实际需求进行权衡。

3. 大模型资源获取

目前,开源大模型主要可以通过以下平台获取:

  • Hugging Face(huggingface.co)
    全球知名的模型托管平台,提供丰富的开源模型资源。

  • 国内镜像站(HF-Mirror)
    如果无法直接访问 Hugging Face,可以使用国内的镜像站点下载模型。

  • ModelScope(魔搭社区)
    阿里巴巴推出的模型共享平台,提供大量中文优化模型,适合国内用户使用。


D、 KoboldCPP Web 界面详解

启动KoboldCPP后,你会看到一个Web界面。以下是界面中各项的详细说明:

1. 模型选择

在界面的左上角,你可以选择要加载的模型。确保选择的是你刚刚放置的DeepSeek模型。

2. 推理设置
  • Temperature: 控制生成文本的随机性。值越高,生成的文本越随机;值越低,生成的文本越确定。
  • Top-K: 限制生成时考虑的词汇数量。值越小,生成的文本越集中。
  • Top-P: 通过概率累积来选择词汇。值越小,生成的文本越集中。
4. 输入框

在界面的中央,有一个输入框,你可以在这里输入提示文本(prompt),模型将根据提示生成后续文本。

4. 生成按钮

点击“Generate”按钮后,模型将开始生成文本。生成的文本会显示在输入框下方。

5. 历史记录

在界面的右侧,你可以看到生成的历史记录。每次生成的文本都会保存在这里,方便你查看和比较。

六、访问 KoboldCPP Web 界面

启动 KoboldCPP 后,它会自动启动一个本地 Web 服务。打开浏览器,访问以下地址:

http://localhost:5000

你将看到一个简单的 Web 界面,可以在其中输入文本并查看模型的生成结果。

1. 运行模型

在配置好所有设置后,点击“Generate”按钮,模型将开始生成文本。你可以根据需要调整参数,以获得不同的生成效果。

2. 保存和导出

生成的文本可以直接在界面上复制,或者通过KoboldCPP提供的导出功能保存为文本文件。


七、 使用 API 访问模型

KoboldCPP 还提供了一个简单的 API,可以通过 HTTP 请求与模型交互。以下是一个示例:

A、发送请求

使用 curl 或其他 HTTP 客户端发送请求:

curl -X POST http://localhost:5000/api/v1/generate -d '{
  "prompt": "你好,DeepSeek!",
  "max_length": 50
}'

B、响应示例

{
  "text": "你好,DeepSeek!我是一个基于 DeepSeek 大模型的 AI 助手。"
}

八、进一步优化

  • 量化模型:如果资源有限,可以将模型量化为 4-bit 或 8-bit 以减少内存占用。
  • 多 GPU 支持:如果你的系统有多个 GPU,可以启用多 GPU 推理以进一步提高性能。
  • 批处理:通过调整批处理大小,优化推理速度。

九、关闭KoboldCPP

当你完成所有操作后,可以通过关闭终端或命令提示符来停止KoboldCPP的运行。


十、常见问题

  • 模型加载失败: 确保模型路径正确,并且模型文件完整。
  • 生成速度慢: 如果你的计算机性能不足,建议使用GPU加速。

十一、总结

通过 KoboldCPP,我们可以在本地高效地部署和运行 DeepSeek 大模型。无论是用于研究、开发还是生产环境,KoboldCPP 都提供了一个简单而强大的解决方案。希望本文能帮助你顺利在本地部署 DeepSeek 大模型,并充分发挥其潜力。

如果你有任何问题或建议,欢迎在评论区留言!

通过以上步骤,你应该能够成功在本地部署并运行DeepSeek大模型。如果有任何问题,可以参考KoboldCPP的官方文档或社区支持。


© 著作权归作者所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengyoufengyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值