在昇腾GPU上部署DeepSeek大模型与OpenWebUI:从零到生产的完整指南

news2025/3/9 11:24:08
引言

随着国产AI芯片的快速发展,昇腾(Ascend)系列GPU凭借其高性能和兼容性,逐渐成为大模型部署的重要选择。本文将以昇腾300i为例,手把手教你如何部署DeepSeek大模型,并搭配OpenWebUI构建交互式界面。无论你是AI开发者还是企业运维,都能通过本文快速搭建生产级AI服务。


一、为什么选择昇腾GPU?

 信创要求,现在N卡其实便宜了

二、环境准备

1. 基础配置检查
# 确认操作系统版本(推荐OpenEuler 22.03)
cat /etc/os-release

# 检查NPU驱动状态(关键!)
npu-smi info
# 预期输出:能看到NPU设备列表和驱动版本(≥6.0.RC3)
2. 安装依赖工具
# 禁用防火墙
systemctl stop firewalld && systemctl disable firewalld

# 安装开发工具链
yum install -y git gcc cmake python3-devel

三、Docker环境配置

1. 配置Docker镜像加速
# 创建配置文件
vi > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
        "https://docker.1ms.run",
        "https://docker.xuanyuan.me",

  "data-root": "/data/docker"  # 建议挂载至大容量存储
}
EOF

# 重启生效
systemctl restart docker
2. 安装昇腾容器插件
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Ascend-Docker-Runtime/6.0.RC3/Ascend-docker-runtime_6.0.RC3_linux-aarch64.run
chmod +x Ascend-docker-runtime_6.0.RC3_linux-aarch64.run
./Ascend-docker-runtime_6.0.RC3_linux-aarch64.run --install

四、部署GPUSTACK(NPU管理平台)

1. 启动管理服务
docker run -d \
  --name=gpustack \
  -p 80:80 \
  -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
  --device=/dev/davinci0 \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gpustack/gpustack:latest-npu

关键参数说明

  • --device:挂载NPU设备,多个设备可重复添加
  • -v /usr/local/Ascend/driver:只读挂载驱动,避免容器内版本冲突
2. 登录管理界面

访问 http://<服务器IP>:80,使用以下命令获取初始密码:

docker exec gpustack cat /var/lib/gpustack/initial_admin_password

五、DeepSeek模型部署实战

1. 模型准备
# 创建模型目录
mkdir -p /data/models/deepseek-14b && cd /data/models

# 下载模型文件(以DeepSeek-R1-Distill-Qwen-14B为例)
wget https://modelscope.cn/api/v1/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B/repo?Revision=master -O deepseek-14b.tar.gz
tar zxvf deepseek-14b.tar.gz
2. 启动vLLM推理服务
docker run -d \
  --name=deepseek-inference \
  --runtime=ascend \  # 指定昇腾运行时
  -p 23333:8000 \
  -v /data/models/deepseek-14b:/model \
  swr.cn-south-1.myhuaweicloud.com/ascendhub/vllm-ascend:0.7.3 \
  --model=/model \
  --tensor-parallel-size=1 \
  --max-model-len=4096

性能调优建议

  • 调整--max-model-len控制显存占用
  • 添加--quantization awq启用4bit量化

六、集成OpenWebUI

1. 部署Web界面
docker run -d \
  --name=openwebui \
  -p 3000:8080 \
  -v /data/openwebui:/app/backend/data \
  -e OPENAI_API_BASE_URL=http://host.docker.internal:23333/v1 \
  ghcr.io/open-webui/open-webui:main
2. 界面配置
  1. 访问 http://<服务器IP>:3000
  2. 进入设置 → 模型 → 添加:
    • 模型名称:DeepSeek-R1-Distill-Qwen-14B
    • API Base URLhttp://host.docker.internal:23333/v1
    • API Key:留空

七、性能监控与优化

1. 实时监控命令
# 查看NPU利用率
npu-smi info -t training -i 0 -c

# 查看服务日志
docker logs -f deepseek-inference --tail 100

八、常见问题排查

Q1:容器启动报错npu-smi command not found

原因:驱动未正确挂载
解决

docker run -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi ... # 添加挂载
Q2:模型加载缓慢

优化方案

# 启用模型缓存
docker run -e VLLM_USE_MODELSCOPE=true ...

结语

通过本文,你已成功在昇腾GPU上构建了从模型推理到Web交互的完整链路。这种方案不仅适用于DeepSeek,也可快速迁移到其他开源模型(如Qwen、ChatGLM)。随着昇腾生态的不断完善,国产AI芯片正在为开发者打开新的可能性。

希望这篇指南能为你的AI应用部署提供实用参考!如有疑问,欢迎在评论区交流讨论。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

递归专题刷题

文章目录 递归合并两个有序链表题解代码 反转链表题解代码 两两交换链表中的节点题解代码 Pow(x, n)&#xff08;快速幂&#xff09;题解代码汉诺塔题解代码 总结 递归 1. 重复的子问题宏观看待递归问题 合并两个有序链表 题目链接 题解 1. 重复的子问题 -> 函数头的设…

Android Studio 一直 Loading devices

https://stackoverflow.com/questions/71013971/android-studio-stuck-on-loading-devices

摄相机标定的基本原理

【相机标定的基本原理与经验分享】https://www.bilibili.com/video/BV1eE411c7kr?vd_source7c2b5de7032bf3907543a7675013ce3a 相机模型&#xff1a; 定义&#xff1a; 内参&#xff1a;就像相机的“眼睛”。它描述了相机内部的特性&#xff0c;比如焦距&#xff08;镜头的放…

CentOS 7 安装 Redis6.2.6

获取资源、下载安装 Redis6.2.6 安装Redis6.2.6 上传到服务器或直接下载&#xff08;wget http://download.redis.io/releases/redis-6.2.6.tar.gz&#xff09;、再解压安装 tar -zxvf redis-6.2.6.tar.gz 进入redis解压目录 cd redis-6.2.6先编译 make再执行安装 make PREFI…

3D数字化:家居行业转型升级的关键驱动力

在科技日新月异的今天&#xff0c;家居行业正经历着一场前所未有的变革。从传统的线下实体店铺到线上电商平台的兴起&#xff0c;再到如今3D数字化营销的广泛应用&#xff0c;消费者的购物体验正在发生翻天覆地的变化。3D数字化营销不仅让购物变得更加智能和便捷&#xff0c;还…

无人机推流/RTMP视频推拉流:EasyDSS无法卸载软件的原因及解决方法

视频推拉流/直播点播EasyDSS平台支持音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务&#xff0c;在应用场景中可实现视频直播、点播、转码、管理、录像、检索、时移回看等。此外&#xff0c;平台还支持用户自行上传视频文件&#xff0c;也可将上传的点播…

Logisim实验--计组

每个实验会先讲一下原理再给出答案。 实验一&#xff1a;7段数码管驱动电路设计 实验目的 (1)帮助学生理解真值表方式设计电路的原理&#xff1b; (2)能利用Logisim的真值表生成电路功能自动生成所需电路。 这里我们要看清每个引脚控制的是哪个灯亮&#xff0c;注意看它的线…

【Linux】软硬链接 | 动静态链接(三)

目录 前言&#xff1a; 一、软硬链接 1.软链接 2.硬链接 3.硬链接数 4.软硬链接的区别 5.使用unlink删除链接的文件 6.目录文件链接数( . 和 .. ) 二、静态库的制作和使用 1.制作静态库 2.使用静态库 2.1方法一 2.2方法二 2.3方法三 三、动态库的制作和使用 1.…

数据结构(回顾)

数据结构&#xff08;回顾&#xff09; 回顾 不同点顺序表链表存储空间上物理上一定连续逻辑上连续&#xff0c;物理上不一定连续随机访问支持&#xff0c;时间复杂度O(1)不支持&#xff0c;时间复杂度O(N)任意位置插入或者删除元素可能需要挪动元素&#xff0c;效率低&#…

达梦数据库在Linux,信创云 安装,备份,还原

&#xff08;一&#xff09;系统环境检查 1操作系统&#xff1a;确认使用的是国产麒麟操作系统&#xff0c;检查系统版本是否兼容达梦数据库 V8。可以通过以下命令查看系统版本&#xff1a; cat /etc/os-release 2硬件资源&#xff1a;确保服务器具备足够的硬件资源&#xff0…

从0开始的操作系统手搓教程23:构建输入子系统——实现键盘驱动1——热身驱动

目录 所以&#xff0c;键盘是如何工作的 说一说我们的8042 输出缓冲区寄存器 状态寄存器 控制寄存器 动手&#xff01; 注册中断 简单整个键盘驱动 Reference ScanCode Table 我们下一步就是准备进一步完善我们系统的交互性。基于这个&#xff0c;我们想到的第一个可以…

01-简单几步!在Windows上用llama.cpp运行DeepSeek-R1模型

1.llama.cpp介绍 Llama.cpp 是一个开源的、轻量级的项目&#xff0c;旨在实现 Meta 推出的开源大语言模型 Llama 的推理&#xff08;inference&#xff09;。Llama 是 Meta 在 2023 年开源的一个 70B 参数的高质量大语言模型&#xff0c;而 llama.cpp 是一个用 C 实现的轻量化…

HarmonyOS Next 属性动画和转场动画

HarmonyOS Next 属性动画和转场动画 在鸿蒙应用开发中&#xff0c;动画是提升用户体验的关键要素。通过巧妙运用动画&#xff0c;我们能让应用界面更加生动、交互更加流畅&#xff0c;从而吸引用户的注意力并增强其使用粘性。鸿蒙系统为开发者提供了丰富且强大的动画开发能力&…

JavaWeb-mysql8版本安装

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

【实战ES】实战 Elasticsearch:快速上手与深度实践-3.2.3 案例:新闻搜索引擎的相关性优化

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 Elasticsearch新闻搜索引擎相关性优化实战3.2.3 案例&#xff1a;新闻搜索引擎的相关性优化项目背景1. 相关性问题诊断与分析1.1 初始查询DSL示例1.2 问题诊断矩阵1.3 性能基…

HCIA复习拓扑实验

一.拓扑图 二.需求 1.学校内部的HTTP客户端可以正常通过域名www.baidu.com访问到百度网络中HTTP服务器 2.学校网络内部网段基于192.168.1.0/24划分&#xff0c;PC1可以正常访问3.3.3.0/24网段&#xff0c;但是PC2不允许 3.学校内部路由使用静态路由&#xff0c;R1和R2之间两…

企业如何选择研发项目进度管理软件?盘点15款实用工具

这篇文章介绍了以下工具: 1. PingCode&#xff1b; 2. Worktile&#xff1b; 3. 腾讯 TAPD&#xff1b; 4. 华为 DevCloud&#xff1b; 5. 亿方云&#xff1b; 6. 阿里云效&#xff1b; 7. CODING 码云&#xff1b; 8. 明道云&#xff1b; 9. 进度猫&#xff1b; 10. 轻流等。 …

(二 十 二)趣学设计模式 之 备忘录模式!

目录 一、 啥是备忘录模式&#xff1f;二、 为什么要用备忘录模式&#xff1f;三、 备忘录模式的实现方式四、 备忘录模式的优缺点五、 备忘录模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;…

conda 配置新环境时package will be install 和 package will be download 的区别

install 和 download 的区别 package will be downloaded下的包&#xff1a;这一类显示的是需要从 conda 仓库或其他指定的源下载的软件包。这些软件包通常是 .tar.bz2、.tar.xz 或 .conda 格式的压缩包。这些包会被下载到本地缓存目录&#xff08;通常是 ~/.conda 或 C:\Users…

第本章:go 切片

注意&#xff1a; 切片必须要初始化 才能使用 &#xff0c;切片是引用类型 a :[]int{} // 这上叫始化 此时并没有申请内存 // 如果要追加值的话&#xff1a; append ints : append(a, 1, 2, 3)a : make([]int,5) // 声明切片类型var a []string //声明一…