Stable Diffusion XL基于ModelArts Notebook的推理指导(6.5.907)
方案概览
本方案主要介绍如何在ModelArts Notebook环境中部署文生图模型Stable Diffusion XL对应的Diffusers框架,并使用NPU计算资源进行推理。完成本方案的部署,需要先联系您所在企业的华为方技术支持购买Server资源。
本方案目前仅适用于企业客户。
资源规格要求
推理部署推荐使用“西南-贵阳一”Region上的Notebook和Ascend Snt9B资源。
获取软件
| 分类 | 名称 | 获取路径 | 
|---|---|---|
| 插件代码包 | AscendCloud-6.5.907软件包中的AscendCloud-AIGC-6.5.907-xxx.zip 文件名中的xxx表示具体的时间戳,以包名发布的实际时间为准。 | 获取路径:Support-E,在此路径中查找下载ModelArts 6.5.907.2版本。 
         说明: 
         如果上述软件获取路径打开后未显示相应的软件信息,说明您没有下载权限,请联系您所在企业的华为方技术支持下载获取。 | 
| Notebook使用镜像 | Snt9B:西南-贵阳一 swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_ascend:pytorch_2.5.1-cann_8.2.rc1-py_3.11-hce_2.0.2503-aarch64-snt9b-20250729103313-3a25129 Snt9B:中国-香港 swr.ap-southeast-1.myhuaweicloud.com/atelier/pytorch_ascend:pytorch_2.5.1-cann_8.2.rc1-py_3.11-hce_2.0.2503-aarch64-snt9b-20250729103313-3a25129 | 需要将镜像注册到ModelArts中,供创建Notebook实例时选择。 | 
支持特性
| 套件类型 | 模型名称 | 
|---|---|
| Diffusers | SDXL | 
步骤一:准备环境
- 登录ModelArts控制台,在左侧导航选择,在右上角选择“注册镜像”",填写表1 获取软件和镜像中Notebook使用镜像为镜像源,其余选项参考下图进行注册。
    图1 注册镜像  
- 请参考Notebook资源开通,创建Notebook实例,在镜像选择时选择自定义镜像,可参考如下配置。资源规格默认5GB,根据需要自行扩容。
    图2 创建Notebook实例    购买Notebook资源时如果无可选资源规格,需要联系华为云技术支持申请开通。 
- 检查环境。
    打开创建好的Notebook实例(即状态为“运行中”的实例),可在开发环境中启动编码。 ModelArts提供的Notebook实例默认是以ma-user启动。用户进入实例后,工作目录默认是/home/ma-user/work。 图3 进入Notebook实例的Terminal  工作目录示例如下图所示: 图4 工作目录  
步骤二:Diffusers部署
安装依赖和模型包
- 手动下载模型权重到/home/ma-user/work目录下:
    
    
    modelscope下载地址: 
- 安装插件代码包。
    - 将获取到的插件代码包AscendCloud-AIGC-xxx.zip文件上传到容器的/home/ma-user/work目录下,并解压。插件代码包获取地址参见表1。上传文件操作请参见上传文件至Notebook Jupyterlab。
      cd /home/ma-user/work unzip AscendCloud-AIGC-*.zip #解压 
- 将AIGC包解压后,进入到获取的/home/ma-user/work/aigc_inference/torch_npu/utils/ascend_diffusers目录下,安装ascend_diffusers包。
      cd /home/ma-user/work/aigc_inference/torch_npu/utils/ascend_diffusers pip install -e . 
- 将AIGC包解压后,进入到获取的/home/ma-user/work/aigc_inference/torch_npu/utils/AscendX-MM目录下,安装AscendX-MM包。
      cd /home/ma-user/work/aigc_inference/torch_npu/utils/AscendX-MM pip install -e . 
 
- 将获取到的插件代码包AscendCloud-AIGC-xxx.zip文件上传到容器的/home/ma-user/work目录下,并解压。插件代码包获取地址参见表1。上传文件操作请参见上传文件至Notebook Jupyterlab。
      
export MODEL_PATH='下载好的huggingface模型路径',例如/home/ma-user/work/stable-diffusion-xl-base-1.0。如果未手动下载,想要自动下载则不加model_id参数即可。 export TASK_QUEUE_ENABLE=2 cd /home/ma-user/work/aigc_inference/torch_npu/diffusers/0.31.0/examples
单卡模型推理启动服务命令如下,生成图片在当前目录下。
- SDXL模型推理启动命令:
    pip install diffusers==0.30.2 python sd_inference_example.py --model_name sdxl --model_id ${MODEL_PATH} --prompt 'a dog' --num_inference_steps 20 --width 768 1024 --height 768 1024
 
  