news 2026/4/3 7:45:56

DeepSeek-R1-Distill-Qwen-1.5B部署教程:Windows WSL环境配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek-R1-Distill-Qwen-1.5B部署教程:Windows WSL环境配置

DeepSeek-R1-Distill-Qwen-1.5B部署教程:Windows WSL环境配置

DeepSeek-R1-Distill-Qwen-1.5B 是一款由 113小贝 二次开发构建的轻量级文本生成模型,基于 Qwen-1.5B 架构,并通过 DeepSeek-R1 的强化学习数据进行知识蒸馏优化。该模型在保持较小参数规模的同时,显著提升了数学推理、代码生成和逻辑推导能力,适合在本地 GPU 环境中部署用于快速原型开发或轻量级 AI 应用服务。

本教程将带你从零开始,在Windows 子系统 Linux(WSL)环境下完成 DeepSeek-R1-Distill-Qwen-1.5B 模型的完整部署流程,涵盖环境搭建、依赖安装、服务启动与后台运行等关键步骤,确保你能在本地高效运行这一高性能推理模型。

1. 项目概述

1.1 模型简介

DeepSeek-R1-Distill-Qwen-1.5B 是基于阿里云 Qwen-1.5B 小型语言模型,结合 DeepSeek 团队发布的DeepSeek-R1强化学习训练数据,通过知识蒸馏技术微调得到的推理优化版本。其核心优势在于:

  • 数学推理能力强:能处理代数、微积分、概率统计等复杂问题
  • 代码生成准确:支持 Python、JavaScript、C++ 等主流语言的函数级生成
  • 逻辑链条清晰:在多步推理任务中表现稳定,输出连贯且合理
  • 资源占用低:仅 1.5B 参数,可在消费级显卡上流畅运行(如 RTX 3060/4060)

该模型以 Web 接口形式提供服务,前端使用 Gradio 构建交互界面,后端基于 Hugging Face Transformers + PyTorch 实现推理逻辑,适用于本地测试、教学演示或小型自动化工具集成。

1.2 部署目标

本文档旨在指导用户在以下环境中成功部署模型服务:

  • 操作系统:Windows 10/11 + WSL2(Ubuntu 22.04)
  • 显卡支持:NVIDIA GPU(CUDA 兼容)
  • 运行模式:本地 Web 服务(默认端口 7860)
  • 部署方式:原生 Python 或 Docker 容器化

2. 环境准备

2.1 启用 WSL 并安装 Ubuntu

首先确保你的 Windows 系统已启用 WSL 功能:

# 在 PowerShell(管理员权限)中执行 wsl --install

此命令会自动安装默认的 Linux 发行版(通常是 Ubuntu)。若需指定版本:

wsl --install -d Ubuntu-22.04

安装完成后重启电脑,启动 Ubuntu 终端并设置用户名和密码。

2.2 更新系统并安装基础工具

进入 WSL 终端后,更新软件包列表并安装必要工具:

sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential curl wget git vim htop

2.3 安装 NVIDIA 驱动与 CUDA 支持

WSL 中的 GPU 加速依赖于主机 Windows 上的 NVIDIA 驱动和 WSL-CUDA 支持。

步骤一:检查 Windows 驱动

前往 NVIDIA 驱动下载页,确认你的显卡驱动版本 ≥ 535,并支持 WSL。

步骤二:在 WSL 内验证 GPU 可见性
nvidia-smi

如果看到类似如下输出,说明 GPU 已正确识别:

+-----------------------------------------------------------------------------+ | NVIDIA-SMI 535.54.03 Driver Version: 535.54.03 CUDA Version: 12.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M.| |===============================================| | 0 NVIDIA RTX 3060 45C P8 10W / 170W | 1200MiB / 12288MiB | 5% Default | +-----------------------------------------------------------------------------+

若提示command not found,请先在 Windows 安装 CUDA on WSL。


3. Python 环境与依赖安装

3.1 安装 Python 3.11

Ubuntu 22.04 默认可能未包含 Python 3.11,手动添加源并安装:

sudo add-apt-repository ppa:deadsnakes/ppa -y sudo apt update sudo apt install -y python3.11 python3.11-venv python3-pip

验证安装:

python3.11 --version # 输出应为:Python 3.11.x

3.2 创建虚拟环境

推荐使用虚拟环境隔离依赖:

mkdir ~/deepseek-deploy && cd ~/deepseek-deploy python3.11 -m venv venv source venv/bin/activate

激活后终端前缀应出现(venv)标识。

3.3 安装核心依赖库

根据官方要求,安装指定版本的 PyTorch 和 Transformers:

pip install torch==2.9.1+cu121 torchvision==0.14.1+cu121 --extra-index-url https://download.pytorch.org/whl/cu121 pip install transformers==4.57.3 gradio==6.2.0

注意:这里使用的是CUDA 12.1 版本的 PyTorch,与 WSL-CUDA 兼容性最佳。虽然文档提到 CUDA 12.8,但目前 PyTorch 官方尚未发布对应版本,建议降级适配。


4. 模型获取与缓存配置

4.1 下载模型文件

模型托管于 Hugging Face Hub,需使用 CLI 工具下载:

# 安装 Hugging Face CLI pip install huggingface_hub # 登录(可选,若模型公开则无需登录) huggingface-cli login

下载模型到本地缓存目录:

huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-1___5B --local-dir ~/.cache/huggingface/deepseek-ai/DeepSeek-R1-Distill-Qwen-1___5B

提示:路径中的1___5B是因文件系统限制对1.5B的转义写法,请保持一致。

4.2 验证模型加载

创建一个测试脚本test_load.py

from transformers import AutoTokenizer, AutoModelForCausalLM model_path = "/root/.cache/huggingface/deepseek-ai/DeepSeek-R1-Distill-Qwen-1___5B" tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained( model_path, device_map="auto", # 自动分配至 GPU torch_dtype="auto" ) print(" 模型加载成功!") print(f"设备映射: {model.hf_device_map}")

运行测试:

python3 test_load.py

预期输出包含"cuda"设备信息,表示模型已成功加载至 GPU。


5. 启动 Web 服务

5.1 获取应用主程序

假设app.py文件已准备好(通常由开发者提供),内容大致如下:

# app.py import gradio as gr from transformers import AutoTokenizer, AutoModelForCausalLM MODEL_PATH = "/root/.cache/huggingface/deepseek-ai/DeepSeek-R1-Distill-Qwen-1___5B" tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH) model = AutoModelForCausalLM.from_pretrained( MODEL_PATH, device_map="auto", torch_dtype="auto" ) def generate_text(prompt, max_tokens=2048, temperature=0.6, top_p=0.95): inputs = tokenizer(prompt, return_tensors="pt").to("cuda") outputs = model.generate( **inputs, max_new_tokens=max_tokens, temperature=temperature, top_p=top_p, do_sample=True ) return tokenizer.decode(outputs[0], skip_special_tokens=True) demo = gr.Interface( fn=generate_text, inputs=[ gr.Textbox(label="输入提示"), gr.Slider(1, 2048, value=2048, label="最大 Token 数"), gr.Slider(0.1, 1.0, value=0.6, label="温度 Temperature"), gr.Slider(0.5, 1.0, value=0.95, label="Top-P") ], outputs="text", title="DeepSeek-R1-Distill-Qwen-1.5B 推理服务" ) if __name__ == "__main__": demo.launch(server_name="0.0.0.0", server_port=7860)

将此文件保存至项目根目录:

nano app.py # 粘贴上述代码并保存

5.2 启动服务

python3 app.py

启动成功后,终端会显示:

Running on local URL: http://0.0.0.0:7860

6. 访问与使用服务

6.1 本地访问

打开 Windows 浏览器,访问:

http://localhost:7860

你应该能看到 Gradio 界面,包含输入框和参数调节滑块。

6.2 示例测试

尝试输入以下提示:

请解方程:x^2 - 5x + 6 = 0

模型应返回类似:

这是一个一元二次方程,可以分解为: (x - 2)(x - 3) = 0 因此,解为 x = 2 或 x = 3。

这表明数学推理能力正常工作。


7. 后台运行与日志管理

7.1 启动后台服务

关闭当前服务(Ctrl+C),改用nohup后台运行:

nohup python3 app.py > /tmp/deepseek_web.log 2>&1 &

7.2 查看运行状态

# 查看日志 tail -f /tmp/deepseek_web.log # 检查进程是否存在 ps aux | grep "python3 app.py"

7.3 停止服务

ps aux | grep "python3 app.py" | grep -v grep | awk '{print $2}' | xargs kill

8. Docker 部署方案(可选)

8.1 编写 Dockerfile

创建Dockerfile

FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 RUN apt-get update && apt-get install -y \ python3.11 \ python3-pip \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY app.py . # 复制已缓存的模型(需提前挂载) ENV HF_HOME=/root/.cache/huggingface RUN mkdir -p $HF_HOME/deepseek-ai/DeepSeek-R1-Distill-Qwen-1___5B RUN pip3 install torch==2.9.1+cu121 \ torchvision==0.14.1+cu121 \ --extra-index-url https://download.pytorch.org/whl/cu121 \ && pip3 install transformers==4.57.3 gradio==6.2.0 EXPOSE 7860 CMD ["python3", "app.py"]

8.2 构建并运行容器

# 构建镜像 docker build -t deepseek-r1-1.5b:latest . # 运行容器(挂载模型缓存) docker run -d --gpus all -p 7860:7860 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --name deepseek-web deepseek-r1-1.5b:latest

9. 故障排查指南

9.1 端口被占用

lsof -i:7860 # 或 netstat -tuln | grep 7860

解决方法:终止占用进程或更换端口。

9.2 GPU 内存不足

现象:CUDA out of memory

解决方案:

  • 降低max_new_tokens至 1024 或更低
  • 修改app.py中的torch_dtype=torch.float16减少显存占用
  • 或强制使用 CPU(不推荐):
model = AutoModelForCausalLM.from_pretrained(MODEL_PATH, device_map="cpu")

9.3 模型加载失败

常见原因:

  • 路径错误:确认缓存路径为/root/.cache/huggingface/deepseek-ai/DeepSeek-R1-Distill-Qwen-1___5B
  • 权限问题:确保 WSL 用户有读取权限
  • 网络中断导致下载不完整:删除目录后重新下载

10. 总结

10.1 成功部署的关键点回顾

  • WSL2 + NVIDIA 驱动正确配置,nvidia-smi可见 GPU
  • 使用 Python 3.11 虚拟环境,避免版本冲突
  • 安装 CUDA 12.1 版本的 PyTorch,兼容 WSL
  • 模型缓存路径与代码中引用路径完全一致
  • 使用device_map="auto"实现 GPU 自动分配
  • Gradio 服务绑定0.0.0.0并开放端口

10.2 后续优化建议

  • app.py封装为 systemd 服务,实现开机自启
  • 添加 HTTPS 和身份验证(如auth=("user", "pass"))提升安全性
  • 结合 FastAPI 替代 Gradio,构建更专业的 API 接口
  • 利用量化技术(如 GPTQ 或 GGUF)进一步降低显存需求

现在你已经拥有了一个稳定运行的 DeepSeek-R1-Distill-Qwen-1.5B 推理服务,无论是做个人助手、编程辅助还是教育演示,都能轻松应对。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/5 21:29:41

BERT模型资源占用太高?内存优化三大技巧实战

BERT模型资源占用太高?内存优化三大技巧实战 1. 为什么你的BERT填空服务总在“卡壳”? 你是不是也遇到过这样的情况:明明只是跑一个中文语义填空的小服务,启动后内存就飙升到2GB以上,CPU风扇呼呼作响,甚至…

作者头像 李华
网站建设 2026/3/31 23:29:23

打造高效在线订水平台,基于PHP+MySQL开源小程序源码系统

温馨提示:文末有资源获取方式 技术基石:PHP与MySQL的经典组合 本系统采用PHP作为服务器端脚本语言,结合MySQL关系型数据库,构建稳定高效的技术架构。PHP提供强大的数据处理能力和灵活扩展性,适用于处理用户请求、订单…

作者头像 李华
网站建设 2026/3/24 15:58:53

AI 写论文哪个软件最好?实测封神!虎贲等考 AI 承包毕业论文全流程

毕业季来临,“AI 写论文哪个软件最好” 的灵魂拷问,成了无数学子的日常焦虑。市面上 AI 写作工具五花八门,有的只懂生成文字却虚构文献,有的能做图表却格式混乱,有的查重达标却满是机器痕迹。历经多轮真实场景实测&…

作者头像 李华
网站建设 2026/4/1 4:23:19

JS Fetch入门:零基础到实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向初学者的JS Fetch教程项目,包含:1)Fetch基本语法讲解 2)简单GET请求示例 3)处理响应数据 4)常见错误及解决方法 5)小练习项目。要求代码注释详…

作者头像 李华
网站建设 2026/3/31 15:58:22

零基础入门:5分钟学会用OPENSPEED优化你的网络

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个极简的OPENSPEED网络优化向导应用。功能:1. 一键式网络检测;2. 自动应用最佳优化方案;3. 简单易懂的结果展示。使用HTML/CSS/JavaScrip…

作者头像 李华
网站建设 2026/3/21 9:25:21

5分钟搞定:用Python快速验证Excel数据处理方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个灵活的Excel数据处理原型系统:1) 用户上传Excel文件 2) 自动检测文件结构并显示预览 3) 提供多种处理选项(筛选特定列、按条件过滤、简单计算等&am…

作者头像 李华