基于昇腾910B服务器目前不支持大模型FP8精度推理,因此需进行精度转换,将DeepSeek-R1-0528权重FP8精度转BF16精度。

MindIE推理镜像下载

(1)mindie镜像昇腾镜像仓库下载,地址:https://www.hiascend.com/developer/ascendhub

(2)搜索mindie,点击进入下载页面;

(3)选择合适的系统架构及版本MindIE镜像,镜像概述如下图所示:

(4)申请权限,并下载mindie镜像,下载镜像步骤如下图所示:

模型权重精度转换

        (1)下载权重转换工具

        git clone https://gitee.com/ascend/ModelZoo-PyTorch.git

        (2)启动容器,启动推理镜像容器的示例命令如下所示:

docker run -itd  --privileged  --name=deepseek --net=host  --shm-size 500g \

   --device=/dev/davinci0  --device=/dev/davinci1 --device=/dev/davinci2 \

   --device=/dev/davinci3 --device=/dev/davinci4 --device=/dev/davinci5 \

   --device=/dev/davinci6 --device=/dev/davinci7 --device=/dev/davinci_manager \

   --device=/dev/hisi_hdc  --device /dev/devmm_svm \

   -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \

   -v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware \

   -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \

   -v /usr/local/sbin:/usr/local/sbin \

   -v /etc/hccn.conf:/etc/hccn.conf \

   -v /usr/local/dcmi:/usr/local/dcmi \

   -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \

   -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \

   -v /code:/code \

  -v /models:/models swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.xx-800I-A2-py311-openeuler24.03-lts  bash

注:swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.xx-800I-A2-py311-openeuler24.03-lts为示例镜像版本,可以选择2.xx版本的MindIE镜像进行权重精度转换。

(3)转换权重精度

     1)更改模型文件执行权限,示例命令如下:

        chmod -R 750 /path-to-weights/DeepSeek-R1-0528

     2)切换到模型代码对应的权重转换路径,示例如下:

cd ModelZoo-PyTorch\MindIE\LLM\DeepSeek\DeepSeek-V2\NPU_inference

      3)模型权重精度转换,示例命令如下:

python fp8_cast_bf16.py --input-fp8-hf-path /path/to/DeepSeek-R1 --output-bf16-hf-path /path/to/deepseek-R1-bf16

注意事项:

        (1)/path/to/DeepSeek-R1 表示DeepSeek-R1-0528原始权重路径,/path/to/deepseek-R1-bf16 表示权重精度转换后的新权重路径;

        (2)由于模型权重较大,请确保您的磁盘有足够的空间放下所有权重,例如DeepSeek-R1-0528在转换前权重约为640G左右,在转换后权重约为1.3T左右,推理任务时,也请确保您的设备有足够的内存加载模型权重,并为推理计算预留空间,DeepSeek-R1-0528模型权重较大,量化权重生成时间较久,大概需花费2小时左右。

        (3)使用DeepSeek-R1-0528 BF16精度进行推理时,新生成DeepSeek-R1-0528 BF16精度权重仅包含model.safetensors.index.json等权重文件,需从原DeepSeek-R1-0528 FP8权重文件夹中将config.json、tokenizer.json、tokenizer_config.json等配置文件复制传入到新的DeepSeek-R1-BF16权重文件夹下,再进行推理。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐