在(zai)人(ren)工智能(neng)(neng)飛(fei)速發展的(de)大背景下,算力是關(guan)鍵支撐。為了實時提供(gong)靈活且強大的(de)計(ji)算資源調配能(neng)(neng)力,昇(sheng)騰 910B物(wu)理機以強勁(jing)的(de)硬(ying)件(jian)性能(neng)(neng)為基(ji)礎(chu),搭配 DeepSeek 先(xian)進的(de)算法框(kuang)架,三者結(jie)合,將為 AI 研(yan)究與應用開拓更(geng)廣(guang)闊的(de)創新空間。本(ben)部署指南(nan)適配華為昇(sheng)騰910B NPU硬(ying)件(jian)平臺,集成(cheng)MindIE的(de)2.0.T6版本(ben)推理引擎,能(neng)(neng)顯著優化端到端推理性能(neng)(neng)。
一、環境準備
1.1 軟硬件要求
組件類型 規格要求 數量
計算節點 華為Atlas 800T A2訓練服務器 1臺
NPU加速卡 昇騰910B-32 (單卡算力320TFLOPS) ≥4卡
本地存儲 NVMe SSD ≥5.8TB (2*2.9T) 2塊
內存 DDR4 ≥512GB -
管理節點 CTyunOS-23.01.2@GalaxyMaster-NPU24.1.rc2.1鏡像1.2 存儲配置
1.2.1 磁盤分區方案
將節點的nvme1n1和nvme0n1兩塊NVME盤分別掛載在/mnt/nvme1n1和/mnt/nvme0n1上。
#!/bin/bash
# 設備列表
devices=("/dev/nvme0n1" "/dev/nvme1n1")
mount_points=("/mnt/nvme0n1" "/mnt/nvme1n1")
fs_type="xfs"
# 確保 root 權限
if [[ $EUID -ne 0 ]]; then
echo "請使用 root 運行此腳本!"
exit 1
fi
for i in "${!devices[@]}"; do
device="${devices[$i]}"
mount_point="${mount_points[$i]}"
# 創建掛載目錄
mkdir -p "$mount_point"
# 獲取設備的文件系統類型
current_fs=$(blkid -s TYPE -o value "$device")
if [[ -z "$current_fs" ]]; then
echo "設備 $device 沒有文件系統,正在格式化為 $fs_type..."
mkfs.xfs -f "$device"
else
echo "$device 已格式化為 $current_fs,跳過格式化"
fi
# 確保設備未被掛載后再嘗試掛載
umount "$device" 2>/dev/null
mount -t "$fs_type" "$device" "$mount_point"
if [[ $? -ne 0 ]]; then
echo "錯誤:無法掛載 $device 到 $mount_point,請檢查設備或文件系統!"
exit 1
fi
echo "$device 已成功掛載到 $mount_point"
# 獲取 UUID 并更新 /etc/fstab,避免重復添加
uuid=$(blkid -s UUID -o value "$device")
if ! grep -q "$uuid" /etc/fstab; then
echo "UUID=$uuid $mount_point $fs_type defaults 0 0" >> /etc/fstab
echo "$device (UUID=$uuid) 已添加到 /etc/fstab"
else
echo "$device 已存在于 /etc/fstab,無需添加"
fi
done
echo "所有磁盤已成功掛載并配置為開機自動掛載!"$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4.2G 1 loop
sda 8:0 0 446.6G 0 disk
├─sda1 8:1 0 122M 0 part
├─sda2 8:2 0 976.6M 0 part /boot/efi
├─sda3 8:3 0 1.9G 0 part /boot
└─sda4 8:4 0 443.6G 0 part
├─system-lv_swap 253:0 0 16G 0 lvm [SWAP]
└─system-lv_root 253:1 0 427.6G 0 lvm /
nvme1n1 259:0 0 2.9T 0 disk
└─nvme1n1p1 259:4 0 2.9T 0 part /mnt/nvme1n1
nvme0n1 259:1 0 2.9T 0 disk
└─nvme0n1p1 259:3 0 2.9T 0 part /mnt/nvme0n1注意
/mnt/nvme0n1:部署(shu)MindIE容器、啟動服務及運行日志
/mnt/nvme1n1:存儲模型文件和(he)mindie容器鏡像(需(xu)確保(bao)750權限)
1.3 軟件部署
1.3.1 獲取部署包
cd /mnt/nvme0n1
wget //jiangsu-10.zos.daliqc.cn/galaxy/deployment/deepseek-hw-1node-v20250331.tar
tar xvf deepseek-hw-1node-v20250331.tar 1.3.2 更新MindIE鏡像
mkdir -p /mnt/nvme1n1/apptainer
cd /mnt/nvme1n1/apptainer
wget //jiangsu-10.zos.daliqc.cn/galaxy/apptainer/mindie/mindie_2.0.T6.B023-800I-A2-py3.11-openeuler24.03-lts-aarch64.sif
cd /mnt/nvme0n1/deepseek
ln -s /mnt/nvme1n1/apptainer/mindie_2.0.T6.B023-800I-A2-py3.11-openeuler24.03-lts-aarch64.sif .注意
華為 MindIE 容器升級? T6 版本,能夠優化推理執(zhi)行性能,顯(xian)著提升整體(ti)系統表現(xian)。
1.4 模型準備
將模型文(wen)件下載并保存在每個節點的/mnt/nvme1n1/model/ 目錄(lu)下,這(zhe)里以量化版DeepSeek-R1模型舉例:
$ ll /mnt/nvme1n1/model/DeepSeek-R1-Distill-Llama-70B
total 137809304
-rwxr-x--- 1 root root 879 Mar 6 13:42 config.json
-rwxr-x--- 1 root root 181 Mar 6 13:42 generation_config.json
-rwxr-x--- 1 root root 1064 Mar 6 13:42 LICENSE
-rwxr-x--- 1 root root 8946552810 Mar 6 13:42 model-00001-of-000017.safetensors
...
-rwxr-x--- 1 root root 60337 Mar 6 13:42 model.safetensors.index.json
-rwxr-x--- 1 root root 18985 Mar 6 13:42 README.md
-rwxr-x--- 1 root root 3061 Mar 6 13:42 tokenizer_config.json
-rwxr-x--- 1 root root 9084480 Mar 6 13:42 tokenizer.json二、服務管理
2.1 服務配置
2.1.1 核心參數設置
根據具體(ti)使(shi)用的模型,修改node.sh 中的內容:
export MODEL_DIR=/mnt/nvme1n1/model/DeepSeek-R1-Distill-Llama-70B
export MINDIE_IMG=mindie_2.0.T6.B023-800I-A2-py3.11-openeuler24.03-lts-aarch64.sif其中:
MODEL_DIR 為模型本(ben)地盤中(zhong)的(de)具體(ti)路徑(jing)
MINDIE_IMG為(wei)使用(yong)的mindie容器
設定服務啟動主節(jie)點(dian),修改config.json的內容:
...
"ServerConfig" :
{
"ipAddress" : "192.168.0.3",
"managementIpAddress" : "192.168.0.3",
...將這里192.168.0.3 改為本機IP地址。
2.2 DeepSeek服務啟動
僅需如(ru)下3條命(ming)令,即可啟動服(fu)務(根(gen)據(ju)模型大小,啟動服(fu)務需等(deng)待5-30分鐘不等(deng))
cd /mnt/nvme0n1/deepseek
sh run.shINFO: instance started successfully
查看log_ds目錄下的out文件,當出現(xian)如下信(xin)息時,表示服務啟動成功:
tail -f log_ds/webui_2025-03-20_16-09-26.out Daemon start success!
2.3 查看DeepSeek狀態
# 查(cha)看容器實例(li)作業運行信息命令
apptainer instance list2.4 DeepSeek服務停止
# 停止(zhi)DeepSeek服務(wu)命令
apptainer instance stop app-mindie三、運維驗證
檢查項 驗證命令 預期結果
NPU設備狀態 watch -n 1 npu-smi info 顯示所有NPU狀態為OK
容器運行狀態 apptainer instance list app-mindie狀態為running
服務端口監聽 ` netstat -tunlp|grep xxx` xxx端口處于LISTEN狀態