最新本地部署 DeepSeekR1 蒸馏\满血量化版 + WebOpenUI 完整教程(Ubuntu\Linux系统\Ollama)

news/2025/2/22 11:10:45

测试机为6133CPU(40Cores)+256G D4+4*4090D 24G
一种方法是部署蒸馏版Distill模型。一种是部署Huggingface上unsloth的量化版模型

llama_2">Ollama及模型安装

llama_3">1.下载并安装ollama

curl -fsSL https://ollama.com/install.sh | sh

如果下载不动可以试试挂梯子或者再试几次
挂代理代码:

export HTTP_PROXY="http://xxx:xxx"
export HTTPS_PROXY="http://xxx:xxx"

2. 安装Deepseek模型

这里根据自己的实际配置选择对应的模型
在这里插入图片描述
有多种可选择:https://ollama.com/library/deepseek-r1
在这里插入图片描述

我选择的是70B

ollama run deepseek-r1:70b

下载时间可能会较长

安装完成后可以使用同样的命令来启动本地对话

3.更改监听端口(如需外网访问)

vim /etc/systemd/system/ollama.service

改成这样:

即添加一个:Environment=“OLLAMA_HOST=0.0.0.0”

随后执行

sudo systemctl daemon-reload 
sudo systemctl restart ollama

如需外网访问,还需要检查防火墙是否放开11434端口。

4.API测试

本地访问127.0.0.1:11434

curl http://127.0.0.1:11434

会出现 ollama is running的提示

外网可通过IP:11434访问

量化版部署

还有一种是在671B上面量化的版本,理论上比前面的蒸馏版要好一点,但是很麻烦

1.下载

https://huggingface.co/unsloth/DeepSeek-R1-GGUF
在这里插入图片描述
DeepSeek-R1-UD-IQ1_M:内存 + 显存 ≥ 200 GB
DeepSeek-R1-UD-IQ2_XXS:内存 + 显存 > 300GB
DeepSeek-R1-Q4_K_M:内存 + 显存 ≥ 500 GB

我这里选择了2.22bit

如果源网站下载慢的话,推荐用镜像站:
https://hf-mirror.com/unsloth/DeepSeek-R1-GGUF
https://www.modelscope.cn/models/unsloth/DeepSeek-R1-GGUF/files
或者使用hf的cli下载:

(base) user@user-SYS-7049GP-TRT:~/r1_gguf$ huggingface-cli download unsloth/DeepSeek-R1-GGUF DeepSeek-R1-UD-IQ2_XXS/DeepSeek-R1-UD-IQ2_XXS-00001-of-00004.gguf  --local-dir .

2.合并

这里需要将多个文件合并为一个大文件,需要llama.cpp文件,参考
https://hf-mirror.com/unsloth/DeepSeek-R1-GGUF

apt-get update

apt-get install build-essential cmake curl libcurl4-openssl-dev -y

git clone https://github.com/ggerganov/llama.cpp

cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON

cmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split

cp llama.cpp/build/bin/llama-* llama.cpp

随后使用split工具来合并gguf文件:
注意:只传入第一个文件作为输入,输出文件为目标文件

./llama.cpp/build/bin/llama-gguf-split --merge \
  /data/DeepSeek-R1/DeepSeek-R1-UD-IQ2_XXS/DeepSeek-R1-UD-IQ2_XXS-00001-of-00004.gguf \
  merged_deepseek_r1_ud_iq2_xxs.gguf

这个过程会有点漫长,并且需要大存储空间,要不然会报空间不足,而且模型较大的话只能装在固态盘,否则读取性能不足
如果空间不足,可以更改model位置到其它盘:

vim /etc/systemd/system/ollama.service

Environment=“OLLAMA_MODELS=/data/ollama_models”
在这里插入图片描述
随后保存

sudo systemctl daemon-reload 
sudo systemctl restart ollama

3.安装

创建一个文件 DeepSeekQ2_Modelfile

vim DeepSeekQ2_Modelfile

写入内容: 注:路径根据自己刚刚合并后的文件修改,其它详情见 https://snowkylin.github.io/blogs/a-note-on-deepseek-r1.html
这里可能需要过多调试

FROM /home/user/r1_gguf/merged_deepseek_r1_ud_iq2_xxs.gguf
PARAMETER num_gpu 24  
PARAMETER num_ctx 2048  
PARAMETER temperature 0.6  
TEMPLATE "<|User|>{{ .Prompt }}<|Assistant|>"

安装:

ollama create deepseek-r1-ud-iq2-xxs -f DeepSeekQ2_Modelfile

后面测试的时候可能会报CUDA或内存错误,具体需要自己排查

OpenWebUI搭建

这相当于搭建一个前端页面

1.docker安装

首先需要安装docker,步骤如下,如果已有docker可跳过

sudo apt-get update

sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

sudo apt-get update 

sudo apt-get install docker-ce docker-ce-cli containerd.io 

sudo systemctl enable docker    

sudo apt-get install docker-compose -y

2.运行openweb-ui

直接运行方式:

sudo docker run -d  --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

docker-compose方式

version: "3.8"

services:
  open-webui3:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui3
    ports:
      - "3000:8080"
    volumes:
      - open-webui:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://host.docker.internal:11434
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: always

volumes:
  open-webui:

3.启动并配置

docker-compose方式通过 sudo docker-compose up -d 启动

如果是直接运行,则访问 服务器ip:8080,
如果是docker-compose,则访问 服务器ip:3000

随后进入界面,首次进入需设置管理员账号

4.设置外部链接

1.打开设置-管理员设置-外部连接
在这里插入图片描述
在这里插入图片描述
2.进行设置如下:
注意 openAI的API一般需要关闭,且防火墙需要放行3000或8080以及11434端口,否则会导致初始化时界面白屏

sudo ufw allow 11434
sudo ufw allow 3000

在这里插入图片描述
这里我是以docker-compose方式启动的,所以前面设置过,这里直接通过host.docker.internal访问即可。
如果前面是直接运行的,则用的是主机网络,IP设置为127.0.0.1,端口同样是11434
3.设置后点击 下载 按钮测试

4.随后返回首页,会看到刚才添加的模型:

在这里插入图片描述

结语

这是我第一次接触ollama及大语言模型的部署,如有错误的地方请指正

最终的使用感受是 o3-mini-high ≈ R1满血版 ≈ O1 > Gemini2.0 Thiking > O3Mini > 本地量化2.22bit > GPT4o > 本地R1-Distill-70B > 本地R1-Distill-32B


http://www.niftyadmin.cn/n/5862165.html

相关文章

tailwindcss学习03

01 入门 02 vue中接入 03 工具类优先 准备 vue.svg <svg viewBox"0 0 40 40" xmlns"http://www.w3.org/2000/svg"> <defs> <linearGradient x1"50%" y1"0%" x2"50%" y2"100%" id"a"&…

深度学习(2)-深度学习关键网络架构

关键网络架构 深度学习有4种类型的网络架构&#xff1a;密集连接网络、卷积神经网络、循环神经网络和Transformer。每种类型的模型都是针对特定的输入模式&#xff0c;网络架构包含了关于数据结构的假设&#xff0c;即模型搜索的假设空间。某种架构能否解决某个问题&#xff0…

书生大模型实战营12-InternVL 多模态模型部署微调

文章目录 L2——进阶岛InternVL 部署微调实践0.开发机创建与使用1.环境配置1.1.训练环境配置1.2.推理环境配置 2.LMDeploy部署2.1.LMDeploy基本用法介绍2.2.网页应用部署体验2.3 出错解决2.3.1 问题12.3.2 问题2 3.XTuner微调实践3.1.准备基本配置文件3.2.配置文件参数解读3.3.…

Spring MVC 对象转换器:初级开发者入门指南

Spring MVC 对象转换器&#xff1a;初级开发者入门指南 为什么需要对象转换器&#xff1f; 在 Web 应用中&#xff0c;我们经常需要处理不同类型的对象。例如&#xff1a;前端数据到后端对象 &#xff1a;用户通过表单提交的数据通常是HttpServletRequest 对象&#xff0c;我们…

SIM盾构建安全底座的可行性分析

一、背景 1.1安全需求现状 在数字化时代&#xff0c;信息安全面临着日益严峻的挑战。各类网络攻击手段层出不穷&#xff0c;如数据泄露、恶意软件攻击、网络诈骗等&#xff0c;给个人、企业和社会带来了巨大的损失。为了保障信息系统的安全性&#xff0c;需要构建一个可靠的安…

JavaScript系列(80)--WebAssembly 基础入门

WebAssembly 基础入门 &#x1f680; WebAssembly&#xff08;简称Wasm&#xff09;是一种低级的类汇编语言&#xff0c;它具有紧凑的二进制格式&#xff0c;能够以接近原生的性能在现代Web浏览器中运行。让我们深入了解这项革命性的技术。 WebAssembly 概述 &#x1f31f; &…

亚马逊爬虫还有哪些注意事项?

在使用爬虫获取亚马逊商品信息时&#xff0c;除了技术实现外&#xff0c;还需要注意诸多细节&#xff0c;以确保爬虫的稳定运行并避免法律风险。以下是基于最新搜索结果的注意事项总结&#xff1a; 1. 遵守法律法规和亚马逊政策 在爬取亚马逊数据时&#xff0c;必须严格遵守相…

在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键

在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键&#xff0c;主要涉及到两个方面&#xff1a;确保 F1 键作为标准功能键工作 和 在 Snipaste 中设置 F1 为快捷键。 因为 Mac 默认情况下&#xff0c;F1-F12 键通常用作控制屏幕亮度、音量等系统功能的快捷键…