您对华为云开发者网站的整体评价?

非常不满意 非常满意

0

1

2

3

4

5

6

7

8

9

10

*您遇到了哪些问题?(最多选三项)
*您感到满意的原因是?(最多选三项)
*请针对您所遇到的问题给出具体的反馈
200/200
Workflow
微调文生图模型
stable-diffusion-v1-5使用LoRA对文生图模型进行微调
吴小鱼
15个月以前
2257 138
  • 资产ID 9c5ff18a-2b98-4cf9-b4ad-5e76b079f0b7

描述

微调文生图Workflow使用说明

本案例使用blip-image-captioning-large为图片生成文字说明,使用LoRA对文生图模型stable-diffusion-v1-5进行微调,最终部署为在线服务对微调后的模型进行测试调用。

订阅Workflow

首先,我们要在AI Gallery中订阅微调文生图模型 Workflow:

image.png

订阅成功后,点击运行:

image.png

修改Workflow名称,点击导入:

image.png

配置Workflow

在首次运行Workflow之前,需要对Workflow进行配置:

image.png

本案例共包含5个节点,需要关注的配置内容包括“Workflow配置”与“节点配置”:

image.png

Workflow配置

运行配置

首先配置input_data_dir存储路径,input_data_dir为微调数据集存放的obs地址,如有图文对,则数据组织格式为:

folder/train/metadata.jsonl
folder/train/0000.png
folder/train/0001.png
folder/train/0002.png
...

其中,metadata.jsonl为:

{"file_name": "0000.png", "text": "a panda bear with a futuristic look"}
{"file_name": "0001.png", "text": "a futuristic city with a bridge and a ship"}
{"file_name": "0002.png", "text": "a rabbit with a backpack on its back"}
...

如无图文对,只有图片,可以使用blip节点自动生成metadata.jsonl,此时,确保input_data_dir的文件夹中只有图片数据即可:

folder/train/0000.png
folder/train/0001.png
folder/train/0002.png
...

我们以只有图片数据为例,点击选择存储路径

image.png

选择obs路径:

image.png

nvinkpunk文件夹中内容统一风格的训练图片,我们希望微调后的模型可以生成该风格的图:

image.png

output_dir用来存放微调训练的输出和模型推理的代码,选择一个obs路径:

image.png

资源配置

工作流共有三个节点涉及运行资源配置,其中为图片生成文字说明节点可以选择CPU或GPU,若选择CPU可能耗时较久,需使用8核32G以上规格;微调文生图模型需选择任一GPU资源;推理脚本准备节点选择2核8G CPU及以上规格皆可:

image.png

节点配置

下面对每个节点的参数进行配置:

为图片生成文字说明

本节点有两个参数,is_skip_blip为是否跳过为图片生成文字说明节点开关,如手动准备好图文对直接对模型进行微调,则可将本参数置为True跳过本节点,默认为False;condition_text为条件文本,如填写,则生成的说明会包含condition_text,以上述数据为例,我们希望使用nvinkpunk作为关键字使微调后的模型生成特定风格图片,因此设置condition_text参数为nvinkpunk of

image.png

微调文生图模型

本节点有四个参数,其中is_skip_finetune为是否微调模型开关,一般情况下保持为False,即不跳过;

validation_prompt为训练时使用的验证prompt,应与任务相关,如我们想要验证是否生成nvinkpunk风格,则设置validation_prompt为’nvinkpunk cat’,微调时会生成对应图片来验证微调效果,可以在log中查看;

此外,还有三个训练参数:训练的train_batch_size、训练周期数num_train_epochs、保存checkpoint的步数checkpointing_steps,可以根据数据的数量进行调整:

image.png

模型注册与部署服务

这两个节点只有一个参数,即应用名称,可设置为任意可识别名称:

image.png

填写完成后即可保存配置:

image.png

运行Workflow

点击启动,确定,即可运行Workflow:

image.png

前四个节点无需操作可自动运行,在前序节点运行结束后,部署服务节点需要手动选择部署资源规格。节点运行时,点击节点->实例详情,即可查看运行日志:

image.png

image.png

为图片生成文字说明节点运行完成后,可以点击输出的obs地址查看生成的metadata.jsonl

image.png

image.png

模型微调部分运行时长视数据规模与训练周期情况不同而不同,微调后可以点击输出obs路径查看生成模型:

image.png

image.png

推理编排节点运行大概需要2分钟,模型注册节点运行大概需要30s,在模型注册节点实例详情中可以查看AI应用入参与出参规格及运行依赖等信息:

image.png

image.png

部署服务节点需要手动选择规格与自动停止等配置,计算节点规格需选择T4,建议启动自动停止,配置完成后点击继续运行:

image.png

首次运行部署服务会构建对应镜像,可能需要约30分钟时间,再次启动服务不再需要构建镜像。

推理

部署服务成功后,可以在部署服务->实例详情->预测标签栏进行推理预测,预测时只有一个入参prompt,组织形式为{"prompt": "nvinkpunk dog"},可以包含前面微调的prompt,也可输入通常使用的prompt生成其他主体内容:

image.png

点击预测后,服务将返回两个结果,其中image为生成图像的base64编码,可直接解码显示保存,url为生成图像暂存的url路径,可复制到浏览器中直接下载查看:

image.png

不需要运行时,可点击停止来停止在线服务:

image.png

如需再次运行该微调后的模型,只需要启动在线服务即可,不需要重新运行Workflow:

image.png

交付

华为云ModelArts

华北-北京四 华北-乌兰察布一 华东-上海一 cn-east-4 华南-广州

您可以在 华为云ModelArts 控制台直接使用资产,但无法下载资产

限制

公开

版本

版本号 版本ID 发布时间 发布状态 版本说明
1.0.1 fhN5C6 2023-12-18 12:13 已完成
更新运行时约束
更新运行时约束

若您怀疑合法知识产权遭受侵犯,可以通过此链接进行投诉与建议。