👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
功能特色
背景信息
IPEX
SDXL-Turbo模型
操作步骤
步骤一:环境准备
创建搭载了第5代英特尔®至强®可扩展处理器(Emerald Rapids,EMR)实例,详细操作请参见购买云服务器。
实例规格:本文选择通用型g3i(ecs.g3i.8xlarge)规格。
云盘:推荐云盘容量不低于60GiB。
镜像:本文选择Ubuntu 22.04 LTS 64位。
网络:需要绑定公网IP,操作详情可查看绑定公网IP。
为目标实例安装Docker,详细操作请参见搭建Docker。
步骤二:部署SDXL-Turbo模型
登录目标实例。
下载SDXL-Turbo模型。
执行如下命令,创建存放模型的目录。
mkdir models
执行如下命令,进入该目录。
cd models/
下载所需工具与模型。
pip install -U huggingface_hub hf_transferHF_ENDPOINT=https://hf-mirror.com HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download --resume-download stabilityai/sdxl-turbo --local-dir sdxl-turbo --local-dir-use-symlinks=False
将如下文件上传至在SDXL-Turbo模型同级目录下。操作详情可查看本地数据上传。
Dockerfile
run_local.sh
sd_pipe_sdxl_turbo.py
pipeline_stable_diffusion_xl_ipex.py
在Dockerfile文件同级目录下,执行如下命令,制作Docker镜像。
docker build -t sdxl:v1 .
执行如下命令,运行Docker。
docker run --name sdxl --privileged=true -v /root/models:/models -it sdxl:v1 bash
步骤三:运行SDXL-Turbo模型
登录目标实例。
在容器sdxl的交互模式中,执行如下命令,进入模型目录。
cd sdxlturbo
执行如下命令,通过脚本进行文生图推理测试。
sh run_local.sh
后续您可以使用如下命令,继续文生图推理。
numactl --localalloc --physcpubind=48-71 python sd_pipe_sdxl_turbo.py --height 512 --width 512 --repeat 11 --step 4 --bf16 --prompt "A spaceship traveling through the stars. highly detailed, 8k"
numactl命令参数
参数名 | 说明 | 取值样例 |
--localalloc | 指定使用本地内存分配器,而不是默认的系统内存分配器。 | - |
--physcpubind | 指定物理CPU的绑定范围,以提高程序的运行效率。 | 48-71 |
模型运行参数
参数名 | 说明 | 取值样例 |
--bf16 | 表示是否启用BF16精度模式。 说明
| --bf16 |
--batch | int,表示批处理大小,默认值为1。 | 1 |
--height | int,表示图像高度,单位像素,默认值为512。 说明 支持与推荐的高、宽值,可参考width-and-height。 | 512 |
--width | int,表示图像宽度,单位像素,默认值为512。 说明 支持与推荐的高、宽值,可参考width-and-height。 | 512 |
--step | int,表示旋转循环的步长,默认值为4。 | 4 |
--repeat | int,表示推断的重复次数,默认值为3。 | 11 |
--prompt | String,表示生成图片的内容,默认值为beautiful beach with white sands, trophical island, coconat tree, a beautiful boat on the beach, moon night, 8k。 | A spaceship traveling through the stars. highly detailed, 8k |
性能说明
测试数据
实例规格 | 数据精度 | 参数 | 单次平均耗时 (512x512) | 单次平均耗时 (1024x1024) |
ecs.g3i.8xlarge (32 vCPU 128 GiB) | BF16 | batch: 1 step: 4 | 1.36s | 5.05s |
FP32 | batch: 1 step: 4 | 4.86s | 17.37s |