华为云用户手册

  • 文生图模型训练推理场景 样例 场景 说明 SDXL基于Standard适配PyTorch NPU的LoRA训练指导 SD1.5&SDXL Diffusers框架基于DevServer适配PyTorch NPU训练指导 SD1.5&SDXL Kohya框架基于DevServer适配PyTorch NPU训练指导 SDXL、SD1.5模型训练 介绍AIGC模型SDXL、SD1.5基于ModelArts Lite Server的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。训练后的模型可用于推理部署,应用于文生图场景。 SD3 Diffusers框架基于DevServer适配PyTorch NPU推理指导 SDXL、SD1.5模型推理 介绍AIGC模型SDXL、SD1.5基于ModelArts Lite Server的推理过程,推理使用PyTorch框架和昇腾NPU计算资源。 启动推理服务后,可应用于文生图场景。 Open-Clip基于Lite Server适配PyTorch NPU训练指导 Open-Clip模型训练 介绍Open-Clip模型基于ModelArts Lite Server的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。 应用于AIGC和多模态视频编码器。
  • 数字人场景 样例 场景 说明 Wav2Lip推理基于DevServer适配PyTorch NPU推理指导 Wav2Lip训练基于DevServer适配PyTorch NPU训练指导 Wav2Lip,人脸说话视频模型,训练、推理 Wav2Lip是一种基于对抗生成网络的由语音驱动的人脸说话视频生成模型。主要应用于数字人场景。不仅可以基于静态图像来输出与目标语音匹配的唇形同步视频,还可以直接将动态的视频进行唇形转换,输出与输入语音匹配的视频,俗称“对口型”。该技术的主要作用就是在将音频与图片、音频与视频进行合成时,口型能够自然。 案例主要介绍如何基于ModelArts Lite Server上的昇腾NPU资源进行模型训练推理。
  • ModelArts Standard自动学习案例 表2 自动学习样例列表 样例 对应功能 场景 说明 口罩检测 自动学习 物体检测 基于AI Gallery口罩数据集,使用ModelArts自动学习的物体检测算法,识别图片中的人物是否佩戴口罩。 垃圾分类 自动学习 图像分类 该案例基于华为云AI开发者社区AI Gallery中的数据集资产,让零AI基础的开发者完成“图像分类”的AI模型的训练和部署。
  • ModelArts Standard开发环境案例 表3 Notebook样例列表 样例 镜像 对应功能 场景 说明 将Notebook的Conda环境迁移到SFS磁盘 - 环境迁移 开发环境 本案例介绍如何将Notebook的Conda环境迁移到SFS磁盘上。 使用ModelArts VSCode插件调试训练ResNet50图像分类模型 MindSpore VS Code Toolkit工具 目标检测 本案例以Ascend Model Zoo为例,介绍如何通过VS Code插件及ModelArts Notebook进行云端数据调试及模型开发。
  • LLM大语言模型训练推理场景 样例 场景 说明 主流开源大模型基于DevServer适配ModelLink PyTorch NPU训练指导 主流开源大模型基于DevServer适配LlamaFactory PyTorch NPU训练指导 预训练、SFT全参微调训练、LoRA微调训练 介绍主流的开源大模型Llama系列、Qwen系列、Yi系列、Baichuan系列、ChatGLM系列等基于ModelArts Lite Server的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。训练后的模型可用于推理部署,搭建大模型问答助手。 主流开源大模型基于Standard+OBS适配PyTorch NPU训练指导 主流开源大模型基于Standard+OBS+SFS适配PyTorch NPU训练指导 预训练、SFT全参微调训练、LoRA微调训练 介绍主流的开源大模型Llama系列、Qwen系列、Yi系列、Baichuan系列、ChatGLM系列等基于ModelArts Standard的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。 训练后的模型可用于推理部署,搭建大模型问答助手。 主流开源大模型基于DevServer适配PyTorch NPU推理指导 推理部署、推理性能测试、推理精度测试、推理模型量化 介绍主流的开源大模型Llama系列、Qwen系列、Yi系列、Baichuan系列、ChatGLM系列等基于ModelArts Lite Server的推理部署过程,推理使用PyTorch框架和昇腾NPU计算资源。 启动推理服务后,可用于搭建大模型问答助手。 主流开源大模型基于Standard适配PyTorch NPU推理指导 推理部署、推理性能测试、推理精度测试、推理模型量化 介绍主流的开源大模型Llama系列、Qwen系列、Yi系列、Baichuan系列、ChatGLM系列等基于ModelArts Standard的推理部署过程,推理使用PyTorch框架和昇腾NPU计算资源。 启动推理服务后,可用于搭建大模型问答助手。
  • 多模态模型场景 样例 场景 说明 Qwen-VL基于Standard+OBS+SFS适配PyTorch NPU训练指导(6.3.912) Qwen-VL模型基于Standard+OBS适配PyTorch NPU训练指导(6.3.912) Qwen-VL基于Lite Server适配PyTorch NPU的Finetune训练指导(6.3.912) Qwen-VL基于Lite Server适配PyTorch NPU的推理指导(6.3.909) MiniCPM-V2.6基于Lite Server适配PyTorch NPU训练指导(6.3.912) MiniCPM-V2.0推理及LoRA微调基于Lite Server适配PyTorch NPU指导(6.3.910) InternVL2基于LIte Server适配PyTorch NPU训练指导(6.3.912) LLaVA-NeXT基于Lite Server适配PyTorch NPU训练微调指导(6.3.912) LLaVA模型基于Lite Server适配PyTorch NPU预训练指导(6.3.912) LLaVA模型基于Lite Server适配PyTorch NPU推理指导(6.3.906) Llama 3.2-Vision基于Lite Server适配Pytorch NPU训练微调指导(6.3.912) LLaMA-VID基于Lite Server适配PyTorch NPU推理指导(6.3.910) moondream2基于Lite Server适配PyTorch NPU推理指导 Qwen-VL、MiniCPM-V2系列、InternVL2、LLaVA-NeXT、LLaVA、Llama 3.2-Vision、LLaMA-VID、moondream2等模型的训练或推理 介绍常见多模态模型使用PyTorch框架和昇腾NPU计算资源,基于ModelArts Lite Server或者Standard的训练或推理过程。
  • per-tensor静态量化场景 在GPU机器上使用tensorRT 0.9.0版本工具进行模型量化,工具下载使用指导请参见https://github.com/NVIDIA/TensorRT-LLM/tree/v0.9.0。 量化脚本convert_checkpoint.py存放在TensorRT-LLM/examples路径对应的模型文件夹下,例如:llama模型对应量化脚本的路径是examples/llama/convert_checkpoint.py。 执行convert_checkpoint.py脚本进行权重转换生成量化系数。
  • 获取软件和镜像 表2 获取软件和镜像 分类 名称 获取路径 插件代码包 AscendCloud-6.3.907-xxx.zip软件包中的AscendCloud-AIGC-6.3.907-xxx.zip 说明: 包名中的xxx表示具体的时间戳,以包名的实际时间为准。 获取路径:Support-E 说明: 如果上述软件获取路径打开后未显示相应的软件信息,说明您没有下载权限,请联系您所在企业的华为方技术支持下载获取。 基础镜像 西南-贵阳一: swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc2-py_3.9-hce_2.0.2312-aarch64-snt9b-20240727152329-0f2c29a 从SWR拉取。
  • Step4 安装依赖和软件包 从github拉取Wav2Lip代码。 cd /home/ma-user git clone https://github.com/Rudrabha/Wav2Lip.git cd /home/ma-user/Wav2Lip git reset --hard f361e9527b917a435928a10 如果出现报错SSL certificate problem: self signed certificate in certificate chain 图1 报错SSL certificate problem 可采取忽略SSL证书验证:使用以下命令来克隆仓库,它将忽略SSL证书验证。 git clone -c http.sslVerify=false https://github.com/Rudrabha/Wav2Lip.git 安装Wav2Lip Ascend软件包。 将获取到的Wav2Lip Ascend软件包AscendCloud-AIGC-*.zip文件上传到容器的/home/ma-user目录下。获取路径参见表2。 解压AscendCloud-AIGC-*.zip文件,解压后将里面指定文件与对应Wave2Lip文件进行替换。 cd /home/ma-user unzip AscendCloud-AIGC-*.zip -d ./AscendCloud cp AscendCloud/multimodal_algorithm/Wav2Lip/train/f361e9527b917a435928a10/* /home/ma-user/Wav2Lip/ rm -rf AscendCloud* AscendCloud-AIGC-*.zip后面的*表示时间戳,请按照实际替换。 要替换的文件目录结构如下所示: |---Wav2Lip_code/ --- requirements.txt #建议的依赖包版本 注:需要对以下文件进行修改 --- color_syncnet_train.py #训练expert discriminator唇形同步鉴别器 --- wav2lip_train.py #训练 Wav2Lip 模型 --- preprocess.py #对初始视频数据进行推理 在以上三个文件内import末尾增加import如下: import torch_npu from torch_npu.contrib import transfer_to_npu 安装Python依赖包,文件为requirements.txt文件。 pip install -r requirements.txt
  • Step1 准备环境 请参考Lite Server资源开通,购买Lite Server资源,并确保机器已开通,密码已获取,能通过SSH登录,不同机器之间网络互通。 当容器需要提供服务给多个用户,或者多个用户共享使用该容器时,应限制容器访问Openstack的管理地址(169.254.169.254),以防止容器获取宿主机的元数据。具体操作请参见禁止容器获取宿主机元数据。 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装固件和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • Step5 训练Wav2Lip模型 准备预训练模型。下载需要使用的预训练模型。 人脸检测预训练模型,下载链接。 专家唇形同步鉴别器,训练Wav2Lip模型时需要使用专家唇形同步鉴别器,用户可以用自己的数据训练,也可以直接使用官方提供的预训练模型。 处理初始视频数据集。 将下载好的人脸检测预训练模型修改名字为s3fd.pth,上传到/home/ma-user/Wav2Lip/face_detection/detection/sfd/s3fd.pth目录。 下载LRS2数据集。数据集文件夹结构如下: ├── LRS2_partly | ├── main | │ ├── five-digit numbered video IDs ending with (.mp4) | │ ├── 00001.mp4 | │ ├── 00002.mp4 对数据集进行预处理。具体命令如下。 python preprocess.py --data_root ./LRS2_partly --preprocessed_root lrs2_preprocessed/ data_root参数为原始视频根目录,preprocessed_root参数为处理后生成的数据集目录。 处理后数据目录如下所示。 preprocessed_root (lrs2_preprocessed) ├── main | ├── Folders with five-digit numbered video IDs(00001) | │ ├── *.jpg | │ ├── audio.wav | ├── 00001 | │ ├── *.jpg | │ ├── audio.wav 将LRS2文件列表中的.txt文件(train、val)放入该filelists文件夹中。 图2 filelists文件夹 train.txt和val.txt内容参考如下,为处理后视频数据的目录名字。 图3 train.txt和val.txt内容 训练专家唇形同步鉴别器。 如果使用LRS2数据集,可选择跳过此步骤。如果使用自己的数据集,训练命令参考如下。 python color_syncnet_train.py --data_root ./lrs2_preprocessed/main/ --checkpoint_dir ./savedmodel/syncnet_model/ --checkpoint_path ./checkpoints/lipsync_expert.pth 参数说明: --data_root :处理后的视频数据目录,与train.txt内容拼接后得到单个数据目录,例如:lrs2_preprocessed/main/00001。 --checkpoint_dir :此目录用于保存模型。 -checkpoint_path :(可选)可基于此目录的lipsync_expert模型继续进行训练,如果重新训练则不需要此参数。 默认每10000 step保存一次模型。 训练Wav2Lip模型。 训练Wav2Lip模型时需要使用专家唇形同步鉴别器。可以使用上一步3中的训练结果,也可以直接下载官方提供的预训练权重来使用。 具体训练命令如下。 python wav2lip_train.py --data_root ./lrs2_preprocessed/main/ --checkpoint_dir ./savedmodel --syncnet_checkpoint_path ./checkpoints/lipsync_expert.pth --checkpoint_path ./checkpoints/wav2lip.pth 首次训练会进行模型评估,默认为700 step,请耐心等待,结束之后会进行正式训练。 参数说明: --data_root :处理后的视频数据目录,与train.txt内容拼接后得到单个数据目录,例如:lrs2_preprocessed/main/00001。 --checkpoint_dir :此目录用于保存模型。 --syncnet_checkpoint_path :专家鉴别器的目录。 --checkpoint_path :(可选)可基于此目录的Wav2Lip模型继续进行训练,如果重新训练则不需要此参数。 默认每3000 step保存一次模型。 注: 专家鉴别器的评估损失应降至约 0.25,Wav2Lip评估同步损失应降至约 0.2,以获得良好的结果。 可以在文件设置其他不太常用的超参数hparams.py,常用超参如下: nepochs 训练总步数 checkpoint_interval Wav2Lip模型保存间隔步数 eval_interval Wav2Lip模型评估间隔步数 syncnet_eval_interval 专家鉴别器模型评估间隔步数 syncnet_checkpoint_interval 专家鉴别器模型保存间隔步数
  • Step3 启动容器镜像 启动容器镜像。启动前请先按照参数说明修改${}中的参数。 export work_dir="自定义挂载的工作目录" export container_work_dir="自定义挂载到容器内的工作目录" export container_name="自定义容器名称" export image_name="镜像名称或ID" // 启动一个容器去运行镜像 docker run -itd --net=bridge \ -p 8080:8080 \ --device=/dev/davinci0 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ --shm-size=32g \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /var/log/npu/:/usr/slog \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ ${image_name} \ /bin/bash 参数说明: -v ${work_dir}:${container_work_dir}:代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。work_dir为宿主机中工作目录,目录下存放着训练所需代码、数据等文件。container_work_dir为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载到/home/ma-user目录,此目录为ma-user用户家目录。如果容器挂载到/home/ma-user下,拉起容器时会与基础镜像冲突,导致基础镜像不可用。 driver及npu-smi需同时挂载至容器。 --name ${container_name}:容器名称,进入容器时会用到,此处可以自己定义一个容器名称。 -p 8080:8080:开启一个端口,可以web访问(如冲突,可自行更换其他端口)。 ${image_name}:容器镜像的名称。 通过容器名称进入容器中。默认使用ma-user用户,后续所有操作步骤都在ma-user用户下执行。 docker exec -it ${container_name} bash
  • 静态benchmark验证 本章节介绍如何进行静态benchmark验证。 已经上传benchmark验证脚本到推理容器中。如果在步骤三:上传代码包和权重文件中已经上传过AscendCloud-LLM-x.x.x.zip并解压,无需重复执行。 进入benchmark_tools目录下,运行静态benchmark验证。 cd benchmark_tools 多模态模型脚本相对路径是llm_tools/llm_evaluation/benchmark_tools/modal_benchmark/modal_benchmark_parallel.py,具体操作命令如下,可以根据参数说明修改参数。 python modal_benchmark_parallel.py \ --host ${docker_ip} \ --port ${port} \ --tokenizer /path/to/tokenizer \ --epochs 5 \ --parallel-num 1 4 8 16 32 \ --prompt-tokens 1024 2048 \ --output-tokens 128 256 \ --height ${height} \ --width ${width} \ --benchmark-csv benchmark_parallel.csv 参数说明 --host:服务部署的IP,${docker_ip}替换为宿主机实际的IP地址。 --port:推理服务端口。 --tokenizer:tokenizer路径,HuggingFace的权重路径。 --epochs:测试轮数,默认取值为5 --parallel-num:每轮并发数,支持多个,如 1 4 8 16 32。 --prompt-tokens:输入长度,支持多个,如 128 128 2048 2048,数量需和--output-tokens的数量对应。 --output-tokens:输出长度,支持多个,如 128 2048 128 2048,数量需和--prompt-tokens的数量对应。 --benchmark-csv:结果保存文件,如benchmark_parallel.csv。 --height: 图片长度(分辨率相关参数)。 --width: 图片宽度(分辨率相关参数)。 --served-model-name: 选择性添加,在接口中使用的模型名;如果没有配置,则默认为tokenizer。 脚本运行完成后,测试结果保存在benchmark_parallel.csv中。
  • Step3 启动kv-cache-int8量化服务 参考Step3 启动推理服务,启动推理服务时添加如下命令。 --kv-cache-dtype int8 #只支持int8,表示kvint8量化 --quantization-param-path kv_cache_scales.json #输入Step2 抽取kv-cache量化系数生成的json文件路径; 如果只测试推理功能和性能,不需要此json文件,此时scale系数默认为1,但是可能会造成精度下降。
  • Step1使用tensorRT量化工具进行模型量化 在GPU机器上使用tensorRT 0.9.0版本工具进行模型量化,工具下载使用指导请参见https://github.com/NVIDIA/TensorRT-LLM/tree/v0.9.0。 执行如下脚本进行权重转换生成量化系数,详细参数解释请参见https://github.com/NVIDIA/TensorRT-LLM/tree/v0.9.0/examples/llama#int8-kv-cache python convert_checkpoint.py \ --model_dir ./llama-models/llama-7b-hf \ --output_dir ./llama-models/llama-7b-hf/int8_kv_cache/ \ --dtype float16 \ --int8_kv_cache 运行完成后,会在output_dir下生成量化后的权重。量化后的权重包括原始权重和kvcache的scale系数。
  • 步骤六:进入容器 进入容器。 docker exec -it -u ma-user ${container-name} /bin/bash 评估推理资源。运行如下命令,返回NPU设备信息可用的卡数。 npu-smi info # 启动推理服务之前检查卡是否被占用、端口是否被占用,是否有对应运行的进程 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装固件和驱动,或释放被挂载的NPU。 驱动版本要求是23.0.6。如果不符合要求请参考安装固件和驱动章节升级驱动。启动后容器默认端口是8080。 配置需要使用的NPU卡为容器中的第几张卡。例如:实际使用的是容器中第1张卡,此处填写“0”。 export ASCEND_RT_VISIBLE_DEVI CES =0 如果启动服务需要使用多张卡,则按容器中的卡号依次编排。例如:实际使用的是容器中第1张和第2张卡,此处填写为“0,1”,以此类推。 export ASCEND_RT_VISIBLE_DEVICES=0,1 可以通过命令npu-smi info查询NPU卡为容器中的第几张卡。例如下图查询出两张卡,如果希望使用第一和第二张卡,则“export ASCEND_RT_VISIBLE_DEVICES=0,1”,注意编号不是填4、5。 图1 查询结果 启动推理服务的具体操作步骤请参见启动推理服务。
  • 步骤五:启动容器 启动容器镜像前请先按照参数说明修改${}中的参数。docker启动失败会有对应的error提示,启动成功会有对应的docker id生成,并且不会报错。 docker run -itd \ --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 /etc/localtime:/etc/localtime \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /etc/ascend_install.info:/etc/ascend_install.info \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /var/log/npu/:/usr/slog \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v ${dir}:${container_work_dir} \ --net=host \ --name ${container_name} \ ${image_id} \ /bin/bash 参数说明: --device=/dev/davinci0,..., --device=/dev/davinci7:挂载NPU设备,示例中挂载了8张卡davinci0~davinci7。 -v ${dir}:${container_work_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的大文件系统,dir为宿主机中文件目录,${container_work_dir}为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载到/home/ma-user目录,此目录为ma-user用户家目录。如果容器挂载到/home/ma-user下,拉起容器时会与基础镜像冲突,导致基础镜像不可用。 driver及npu-smi需同时挂载至容器。 不要将多个容器绑到同一个NPU上,会导致后续的容器无法正常使用NPU功能。 --name ${container_name}:容器名称,进入容器时会用到,此处可以自己定义一个容器名称。 {image_id} 为docker镜像的ID,即步骤四:制作推理镜像中生成的新镜像id,在宿主机上可通过docker images查询得到。
  • 步骤四:制作推理镜像 解压AscendCloud压缩包及该目录下的推理代码AscendCloud-LLM-6.3.912-xxx.zip和算子包AscendCloud-OPP-6.3.912-xxx.zip,并执行build_image.sh脚本制作推理镜像。安装过程需要连接互联网git clone,请确保机器环境可以访问公网。 unzip AscendCloud-*.zip -d ./AscendCloud && cd ./AscendCloud && unzip AscendCloud-OPP-*.zip && unzip AscendCloud-OPP-*-torch-2.1.0-py39-*.zip -d ./AscendCloud-OPP && cd .. && unzip ./AscendCloud/AscendCloud-LLM-*.zip -d ./AscendCloud/AscendCloud-LLM && cd ./AscendCloud/AscendCloud-LLM/llm_inference/ascend_vllm/ && sh build_image.sh --base-image=${base_image} --image-name=${image_name} 参数说明: ${base_image}为基础镜像地址。 ${image_name}为推理镜像名称,可自行指定。 运行完后,会生成推理所需镜像。 多模态场景下,如果推理需要使用NPU加速图片预处理(仅适配了llava-1.5模型),启动时需要设置export ENABLE_USE_DVPP=1,需要安装torchvision_npu,可放到镜像制作脚本./AscendCloud/AscendCloud-LLM/llm_inference/ascend_vllm/Dockfile中。内容如下: git clone https://gitee.com/ascend/vision.git vision_npu cd vision_npu git checkout v0.16.0-6.0.rc3 # 安装依赖库 pip3 install -r requirement.txt # 编包 python setup.py bdist_wheel # 安装 cd dist pip install torchvision_npu-0.16.*.whl
  • 步骤一:检查环境 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数,用来确认对应卡数已经挂载 npu-smi info -t board -i 1 | egrep -i "software|firmware" #查看驱动和固件版本 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装固件和驱动,或释放被挂载的NPU。 驱动版本要求是23.0.6。如果不符合要求请参考安装固件和驱动章节升级驱动。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • 步骤三:上传代码包和权重文件 上传安装依赖软件推理代码AscendCloud-LLM-6.3.912-xxx.zip和算子包AscendCloud-OPP-6.3.912-xxx.zip到主机中,包获取路径请参见表2。 将权重文件上传到Server机器中。权重文件的格式要求为Huggingface格式。开源权重文件获取地址请参见支持的模型列表。 如果使用模型训练后的权重文件进行推理,模型训练及训练后的权重文件转换操作可以参考大模型训练相关文档。 权重要求放在磁盘的指定目录,并做目录大小检查,参考命令如下。 df -h
  • 步骤一:在MaaS控制台领取 免费体验 额度 MaaS提供了一系列可以Severless方式免费调用的模型API。 登录ModelArts Studio控制台,在顶部导航栏选择“西南-贵阳一”区域。 在左侧导航栏,单击“在线推理”。 在“预置服务”页签,单击“免费服务”页签,在DeepSeek服务右侧的“操作”列,单击“领取额度”。 免费配额将会在几分钟内到账,到账后您可进行体验或调用。当免费Token额度用完后,还要继续使用该模型,可以部署为我的服务付费使用,或开通商用服务付费使用。详情请参见使用MaaS部署模型服务和在MaaS预置服务中开通商用服务。
  • 使用限制 贵阳一区域:最新的版本因为支持新驱动,目前仅支持使用专属资源池(Snt9b2)。 乌兰一区域:支持使用公共资源池(Snt9b3)。 如果支持公共资源池,但是没开白名单,“资源池类型”选择“公共资源池”时,下方会出现提示:公共资源池暂未完全公开,如需申请使用,请联系与您对接的销售人员或拨打4000-955-988获得支持,您也可以在线提交售前咨询。 如果不支持公共资源池,“公共资源池”按钮会置灰,鼠标悬停时,会提示:该模型版本暂不支持公共资源池部署;如果专属资源池不匹配,勾选按钮会置灰,鼠标悬停时,会出现相关提示,请按照提示进行相关操作。
  • Step1使用tensorRT量化工具进行模型量化,必须在GPU环境 在GPU机器上使用tensorRT 0.9.0版本工具进行模型量化,工具下载使用指导请参见https://github.com/NVIDIA/TensorRT-LLM/tree/v0.9.0。 量化脚本convert_checkpoint.py存放在TensorRT-LLM/examples路径对应的模型文件夹下,例如:llama模型对应量化脚本的路径是examples/llama/convert_checkpoint.py。 执行convert_checkpoint.py脚本进行权重转换生成量化系数,详细参数解释请参见https://github.com/NVIDIA/TensorRT-LLM/tree/v0.9.0/examples/llama#int8-kv-cache。 python convert_checkpoint.py \ --model_dir ./llama-models/llama-7b-hf \ --output_dir ./llama-models/llama-7b-hf/int8_kv_cache/ \ --dtype float16 \ --int8_kv_cache 运行完成后,会在output_dir下生成量化后的权重。量化后的权重包括原始权重和kvcache的scale系数。
  • Step3 启动kv-cache-int8量化服务 在使用OpenAI接口或vLLM接口启动推理服务时添加如下参数: --kv-cache-dtype int8 #只支持int8,表示kvint8量化 --quantization-param-path kv_cache_scales.json #输入Step2 抽取kv-cache量化系数生成的json文件路径; 如果只测试推理功能和性能,不需要此json文件,此时scale系数默认为1,但是可能会造成精度下降。
  • 使用限制 贵阳一区域:最新的版本因为支持新驱动,目前仅支持使用专属资源池(Snt9b2)。 乌兰一区域:支持使用公共资源池(Snt9b3)。 如果支持公共资源池,但是没开白名单,“资源池类型”选择“公共资源池”时,下方会出现提示:公共资源池暂未完全公开,如需申请使用,请联系与您对接的销售人员或拨打4000-955-988获得支持,您也可以在线提交售前咨询。 如果不支持公共资源池,“公共资源池”按钮会置灰,鼠标悬停时,会提示:该模型版本暂不支持公共资源池部署;如果专属资源池不匹配,勾选按钮会置灰,鼠标悬停时,会出现相关提示,请按照提示进行相关操作。
  • 背景介绍 Cursor是一款基于人工智能技术的现代化代码编辑器,专为开发者设计。它结合了传统编辑器(例如VS Code)的强大功能与AI驱动的智能编程能力,能够提供智能代码补全、自然语言编程、代码库理解等核心功能,极大地提升了开发效率。此外,Cursor支持多种主流AI模型(例如OpenAI的GPT-4、DeepSeek等),并提供灵活的自定义配置选项,适合从初学者到专业开发者的广泛用户群体。 ModelArts Studio(简称MaaS)服务将DeepSeek系列模型部署到平台,支持广大开发者在线体验或端外调用。同时,MaaS提供免费Token支持开发者免费使用,帮助开发者快速验证和实现创新应用。更多信息,请参见免费体验MaaS预置服务。
  • 步骤三:在Cursor中配置MaaS API 在Cursor平台右上角单击设置图标。 在“Cursor Settings”页面左侧导航栏,单击“Models”,然后单击“Add model”。 图1 添加模型 在文本框中输入步骤二.2获取的模型名称,然后单击右侧的“Add model”。 仅勾选刚添加的MaaS模型,其余模型去勾选(否则验证时可能会出现调不通的问题)。 图2 勾选MaaS模型 在“OpenAI Key”区域填写步骤二.1创建的API Key。 图3 填写API Key 单击“Override Openai Base URL”,修改基础接口地址,填入步骤二.2获取的接口地址(需去掉尾部的/chat/completions),单击“Save”。 单击“Verify”验证接口连通性。如果无报错信息则配置成功,可以开始使用。 图4 验证接口连通性
  • Step1使用tensorRT量化工具进行模型量化 在GPU机器上使用tensorRT 0.9.0版本工具进行模型量化,工具下载使用指导请参见https://github.com/NVIDIA/TensorRT-LLM/tree/v0.9.0。 执行如下脚本进行权重转换生成量化系数,详细参数解释请参见https://github.com/NVIDIA/TensorRT-LLM/tree/v0.9.0/examples/llama#int8-kv-cache python convert_checkpoint.py \ --model_dir ./llama-models/llama-7b-hf \ --output_dir ./llama-models/llama-7b-hf/int8_kv_cache/ \ --dtype float16 \ --int8_kv_cache 运行完成后,会在output_dir下生成量化后的权重。量化后的权重包括原始权重和kvcache的scale系数。
  • Step3 启动kv-cache-int8量化服务 参考Step3 启动推理服务,启动推理服务时添加如下命令。 --kv-cache-dtype int8 #只支持int8,表示kvint8量化 --quantization-param-path kv_cache_scales.json #输入Step2 抽取kv-cache量化系数生成的json文件路径; 如果只测试推理功能和性能,不需要此json文件,此时scale系数默认为1,但是可能会造成精度下降。
  • per-tensor静态量化场景 在GPU机器上使用tensorRT 0.9.0版本工具进行模型量化,工具下载使用指导请参见https://github.com/NVIDIA/TensorRT-LLM/tree/v0.9.0。 量化脚本convert_checkpoint.py存放在TensorRT-LLM/examples路径对应的模型文件夹下,例如:llama模型对应量化脚本的路径是examples/llama/convert_checkpoint.py。 执行convert_checkpoint.py脚本进行权重转换生成量化系数。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全