天翼云910B部署DeepSeek蒸馏70B LLaMA模型实践总结

news2025/5/17 16:25:35

一、项目背景与目标

本文记录在天翼云昇腾910B服务器上部署DeepSeek 70B模型的全过程。该模型是基于LLaMA架构的知识蒸馏版本,模型大小约132GB。

1.1 硬件环境

- 服务器配置:天翼云910B服务器
- NPU:8×昇腾910B (每卡64GB显存)
- 系统内存:1500GB
- 操作系统:Ubuntu 22.04.5 LTS

 1.2 软件环境

- CANN版本:6.5.1
- Mindie版本:2.0.T3
- Python版本:3.11
- DeepSeek模型:70B-base

二、部署步骤

2.1 环境准备

 # 更新系统
apt update
apt upgrade

# 安装必要工具
apt install bash-completion
apt install iftop iotop htop atop haproxy

# 优化CPU性能
cpupower frequency-set -g performance

2.2 存储配置

# 清理并初始化新的NVME磁盘
wipefs -af /dev/nvme0n1 
wipefs -af /dev/nvme1n1

# 创建物理卷
pvcreate /dev/nvme0n1 
pvcreate /dev/nvme1n1

# 扩展卷组
vgextend system /dev/nvme0n1 
vgextend system /dev/nvme1n1

# 扩展逻辑卷
lvextend /dev/system/lv_root /dev/nvme0n1 
lvextend /dev/system/lv_root /dev/nvme1n1

# 扩展文件系统
xfs_growfs /dev/mapper/system-lv_root

2.2 华为ascend 910b mindie推理框架Docker镜像准备

# 拉取必要的Docker镜像
docker pull swr.cn-southwest-2.myhuaweicloud.com/ei-mindie/mindie:2.0.T3-800I-A2-py311-openeuler24.03-lts

2.3 模型文件准备

# 创建权重文件目录
mkdir /home/deepseek70b
chmod -R 755 /home/deepseek70b/
chown -R root:root /home/deepseek70b/

# 下载模型文件

# 下载模型分片文件
for i in $(seq -w 1 17); do
    wget https://modelers.cn/coderepo/web/v1/file/State_Cloud/DeepSeek-R1-Distill-Llama-70B/main/media/model-000${i}-of-000017.safetensors
done

# 下载配置文件
wget https://modelers.cn/coderepo/web/v1/file/State_Cloud/DeepSeek-R1-Distill-Llama-70B/main/media/config.json
wget https://modelers.cn/coderepo/web/v1/file/State_Cloud/DeepSeek-R1-Distill-Llama-70B/main/media/model.safetensors.index.json
wget https://modelers.cn/coderepo/web/v1/file/State_Cloud/DeepSeek-R1-Distill-Llama-70B/main/media/tokenizer.json
wget https://modelers.cn/coderepo/web/v1/file/State_Cloud/DeepSeek-R1-Distill-Llama-70B/main/media/tokenizer_config.json
wget https://modelers.cn/coderepo/web/v1/file/State_Cloud/DeepSeek-R1-Distill-Llama-70B/main/media/generation_config.json
wget https://modelers.cn/coderepo/web/v1/file/State_Cloud/DeepSeek-R1-Distill-Llama-70B/main/media/configuration.json

# 配置文件权限

chmod 750 /home/deepseek70b/config.json

2.4 通过docker启动加载模型

docker run -it -d --net=host --shm-size=1g \
  --privileged \
  --name ds-deepseek-70b \
  --device=/dev/davinci_manager --device=/dev/hisi_hdc --device=/dev/devmm_svm \
  --device=/dev/davinci0 --device=/dev/davinci1 --device=/dev/davinci2 --device=/dev/davinci3 \
  --device=/dev/davinci4 --device=/dev/davinci5 --device=/dev/davinci6 --device=/dev/davinci7 \
  -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
  -v /usr/local/sbin:/usr/local/sbin:ro \
  -v /home/deepseek70b:/home/deepseek70b:ro \
  swr.cn-southwest-2.myhuaweicloud.com/ei-mindie/mindie:2.0.T3-800I-A2-py311-openeuler24.03-lts bash

2.5 验证模型部署

# 检查NPU状态
npu-smi info

# 测试API接口
curl -ik -H 'Content-Type: application/json' \
    -d '{"messages":[{"role":"user","content":"请自我介绍"}],"model":"DeepSeek-70b","temperature":0.6,"max_tokens":128}' \
    -X POST http://127.0.0.1:1025/v1/chat/completions

2.6 部署openweb-ui界面容器

# 拉取WebUI镜像使用国内镜像源
docker pull ghcr.nju.edu.cn/open-webui/open-webui:main

2.7 运行webui 

# 运行WebUI容器
podman run -d \
    -p 8000:8080 \
    -v open-webui:/app/backend/data \
    --name open-webui \

2.8 配置webui与模型127.0.0.1:1025的连接

# WebUI配置说明:
# 1. 访问WebUI界面:http://[服务器IP]:8000
# 2. 在WebUI设置中配置API地址:http://127.0.0.1:1025/v1
# 3. 选择模型:DeepSeek-70b

三、效果分析

部署架构分析

4、上下文窗口分析

{
  "max_position_embeddings": 131072,
  "rope_scaling": {
    "factor": 8.0,
    "high_freq_factor": 4.0,
    "low_freq_factor": 1.0,
    "original_max_position_embeddings": 8192,
    "rope_type": "llama3"
  }
}

  • 基础窗口:8192 tokens
  • 扩展后窗口:131072 tokens(约128K)
  • 实际建议使用:32K-64K tokens

5、并发分析

1. 内存占用计算
- 模型基础占用:140GB (70B × 2 bytes)
- KV Cache每token占用:
  8192(hidden_size) × 2(k,v) × 2(bytes) × 8(num_kv_heads) = 256KB/token
  
2. 单会话最大内存
- 32K上下文示例:
  32K × 256KB = 8GB KV Cache

3. 并发会话数估算
基于910B 64GB NPU显存:
- 预留20GB给模型计算
- 剩余44GB可用于KV Cache
- 理论最大并发数:44GB ÷ 8GB ≈ 5-6个32K上下文会话

实际建议并发配置:

  • 短文本(4K以下):8-10并发
  • 中等文本(4K-16K):4-6并发
  • 长文本(16K以上):2-3并发

四、实测API效果

time curl -X POST http://localhost/v1/chat/completions \
     -H 'Content-Type: application/json' \
     -d '{
         "messages": [{"role": "user", "content": "写一个20字的句子"}],
         "model": "DeepSeek-70b",
         "max_tokens": 50,
         "temperature": 0.7
     }'

时间分析

1. 总响应时间:1.483秒
2. prefill_time: 60ms (预填充时间)
3. decode_time_arr详情:
   - 首token生成: 43ms
   - 后续token平均: 28ms
   - 最快token生成: 27ms
   - 最慢token生成: 43ms

Token统计

1. 输入tokens (prompt_tokens): 12个
2. 输出tokens (completion_tokens): 50个
3. 总计tokens (total_tokens): 62个

计算生成速度:
- 总生成时间:1.483秒
- Token生成速度:50 tokens / 1.483秒 ≈ 33.7 tokens/秒

性能分解

- 稳定的token生成时间(大部分维持在28ms)
- 较低的预填充延迟(60ms)
- 单token生成延迟控制得较好(<30ms)

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

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

相关文章

Jetson Agx Orin平台preferred_stride调试记录--1924x720图像异常

1.问题描述 硬件: AGX Orin 在Jetpack 5.0.1和Jetpack 5.0.2上测试验证 图像分辨率在1920x720和1024x1920下图像采集正常 但是当采集图像分辨率为1924x720视频时,图像输出异常 像素格式:yuv_uyvy16 gstreamer命令如下 gst-launch-1.0 v4l2src device=/dev/video0 ! …

DeepSeek冲击(含本地化部署实践)

DeepSeek无疑是春节档最火爆的话题&#xff0c;上线不足一月&#xff0c;其全球累计下载量已达4000万&#xff0c;反超ChatGPT成为全球增长最快的AI应用&#xff0c;并且完全开源。那么究竟DeepSeek有什么魔力&#xff0c;能够让大家趋之若鹜&#xff0c;他又将怎样改变世界AI格…

CF 144A.Arrival of the General(Java实现)

题目分析 一个n个身高数据&#xff0c;问最高的到最前面&#xff0c;最矮的到最后面的最短交换次数 思路分析 首先&#xff0c;如果数据有重复项&#xff0c;例如示例二中&#xff0c;最矮的数据就是最后一个出现的数据位置&#xff0c;最高的数据就是最先出现的数据位置&…

set的使用(c++)

STL里面已经为我们实现了两种红黑树&#xff0c;一种是存储关键字的set&#xff0c;另一种是存储双关键字的map&#xff0c;今天主要来了解set&#xff0c;无论是set还是map后面都跟一个multi&#xff0c;它们区别是set 不能存相同元素&#xff0c; multiset 可以存相同的元素&…

IDEA单元测试插件 SquareTest 延长试用期权限

SquareTest是一款强大的IDEA单元测试生成插件工具&#xff0c;具体使用方法就不过多介绍了&#xff0c;这里主要介绍变更试用期&#xff0c;方便大家使用 配置信息 我的电脑安装前提配置条件 IntelliJ IDEA 2023.2windows 系统 软件安装 IntelliJ IDEA 直接安装插件Squar…

25/2/17 <嵌入式笔记> 桌宠代码解析

这个寒假跟着做了一个开源的桌宠&#xff0c;我们来解析下代码&#xff0c;加深理解。 代码中有开源作者的名字。可以去B站搜着跟着做。 首先看下main代码 #include "stm32f10x.h" // Device header #include "Delay.h" #include &quo…

油田安全系统:守护能源生命线的坚固壁垒

油田安全系统&#xff1a;不可或缺的能源护盾 在能源领域&#xff0c;油田作为国家重要的能源供应基地&#xff0c;其安全生产的重要性不言而喻。油田安全系统犹如一道坚固的护盾&#xff0c;全方位守护着人员生命、企业财产以及生态环境&#xff0c;是油田平稳运行与可持续发展…

【故障处理】- 执行命令crsctl query crs xxx一直hang

【故障处理】- 执行命令crsctl query crs xxx一直hang 一、概述二、故障处理三、解决方法 一、概述 Oracle RAC环境中&#xff0c;遇到执行crsctl query crs xxx等相关命令不返回任何结果&#xff0c;一直hang在那里。系统下执行命令ps -ef |grep crsctl query crs softwarever…

JMeter工具介绍、元件和组件的介绍

Jmeter功能概要 JDK常用文件目录介绍 Bin目录&#xff1a;存放可执行文件和配置文件 Docs目录&#xff1a;是Jmeter的API文档&#xff0c;用于开发扩展组件 printable_docs目录&#xff1a;用户帮助手册 lib目录&#xff1a;存放JMeter依赖的jar包和用户扩展所依赖的Jar包…

DeepSeek 引领AI 大模型时代,服务器产业如何破局进化?

2025 年 1 月&#xff0c;DeepSeek - R1 以逼近 OpenAI o1 的性能表现&#xff0c;在业界引起轰动。其采用的混合专家架构&#xff08;MoE&#xff09;与 FP8 低精度训练技术&#xff0c;将单次训练成本大幅压缩至 557 万美元&#xff0c;比行业平均水平降低 80%。这一成果不仅…

安卓burp抓包,bypass ssl pinning

好久好久没有发东西了。主要是懒。。。 这几天在搞apk渗透&#xff0c;遇到了burp无法抓包问题&#xff0c;觉得可以写下来。 问题描述 1. 一台安卓手机&#xff0c;装了面具&#xff0c;可以拿到root 2. 电脑上有burp&#xff0c;设置代理 3.手机和电脑连同一个网段&…

服务器中部署大模型DeepSeek-R1 | 本地部署DeepSeek-R1大模型 | deepseek-r1部署详细教程

0. 部署前的准备 首先我们需要足够算力的机器&#xff0c;这里我在vultr中租了有一张A16显卡一共16GB显存的服务器作为演示。部署的模型参数为14b的。如果需要部署满血版本671b的&#xff0c;需要更大的算力支持&#xff0c;这里由于是个人资金有限&#xff0c;就演示14b的部署…

rust学习笔记2-rust的包管理工具Cargo使用

首先先解决一个配置文件&#xff0c;目前rust版本升级后&#xff0c;config已经改成 config.toml 内容也做了如下调整 [source.crates-io] replace-with tuna[source.tuna] registry "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git" 1.Rust 编程…

DeepSeek + Vue实战开发

利用DeepSeek V3模型、siliconflow大模型一站式云服务平台以及vue3.0实现一个在线人工智能客服对话系统。 因为deepseek官网的api密钥使用起来比较缓慢&#xff0c;所以可以使用第三方的&#xff0c;具体操作请自行查阅资料。 siliconflow官网 SiliconFlow, Accelerate AGI …

【数据结构】(8) 二叉树

一、树形结构 1、什么是树形结构 根节点没有前驱&#xff0c;其它节点只有一个前驱&#xff08;双亲/父结点&#xff09;。所有节点可以有 0 ~ 多个后继&#xff0c;即分支&#xff08;孩子结点&#xff09;。每个结点作为子树的根节点&#xff0c;这些子树互不相交。 2、关于…

Web 后端 请求与响应

一 请求响应 1. 请求&#xff08;Request&#xff09; 客户端向服务器发送的HTTP请求&#xff0c;通常包含以下内容&#xff1a; 请求行&#xff1a;HTTP方法&#xff08;GET/POST等&#xff09;、请求的URL、协议版本。 请求头&#xff08;Headers&#xff09;&#xff1a;…

CEF132 编译指南 Linux 篇 - CEF 编译实战:构建 CEF(六)

1. 引言 经过前几篇的精心准备&#xff0c;我们已经完成了所有必要的环境配置和源码下载。现在&#xff0c;我们将进入激动人心的 CEF 编译阶段。本篇将详细指导你在 Linux 系统上编译 CEF 6834 分支&#xff08;对应 Chromium 132 版本&#xff09;&#xff0c;包括创建项目文…

【Spring+MyBatis】_图书管理系统(上篇)

目录 1. MyBatis与MySQL配置 1.1 创建数据库及数据表 1.2 配置MyBatis与数据库 1.2.1 增加MyBatis与MySQL相关依赖 1.2.2 配置application.yml文件 1.3 增加数据表对应实体类 2. 功能1&#xff1a;用户登录 2.1 约定前后端交互接口 2.2 后端接口 2.3 前端页面 2.4 单…

【苍穹外卖】学习

软件开发整体介绍 作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程&#xff0c; 以及软件开发过程中涉及到的岗位角色&#xff0c;角色的分工、职责&#xff0c; 并了解软件开发中涉及到的三种软件环境。那么这一小节&#xff0c;我们将从 软件开发流程、角色…