人工智能之家

基于EasyAnimate模型的视频生成最佳实践

更新时间:2024-06-19点击:2078

EasyAnimate是阿里云PAI平台自主研发的DiT的视频生成框架,它提供了完整的高清长视频生成解决方案,包括视频数据预处理、VAE训练、DiT训练、模型推理和模型评测等。本文为您介绍如何在PAI平台集成EasyAnimate并一键完成模型推理、微调及部署的实践流程。

背景信息

本文为您介绍以下两种视频生成的方式:

·方式一:使用DSW

DSW是为算法开发者量身打造的一站式AI开发平台,集成了JupyterLab、WebIDE、Terminal多种云端开发环境,其中,Gallery提供了丰富的案例和解决方案,帮助您快速熟悉研发流程。您可以打开DSW Gallery中的案例教程,实现一键式运行Notebook,完成基于EasyAnimate的视频生成模型的推理和训练任务,也可以进行模型推理和微调等二次开发操作。

• 方式二:使用快速开始

快速开始集成了众多AI开源社区中优质的预训练模型,并且基于开源模型支持零代码实现从训练到部署再到推理的全部过程,您可以通过快速开始一键部署EasyAnimate模型并生成视频,享受更快、更高效、更便捷的AI应用体验。

费用说明

如果您的账号为DSW或EAS的新用户,可以免费试用相应产品。关于免费试用的额度、领取方式及注意事项等详细信息,请参见新用户免费试用

说明:在本教程中,仅支持使用DSW免费资源类型ecs.gn7i-c8g1.2xlarge。

如果您的账号非新用户,使用DSW和EAS会产生相应费用。更多计费详情,请参见交互式建模(DSW)计费说明模型在线服务(EAS)计费说明快速开始(QuickStart)计费说明

前提条件

• 创建PAI工作空间。具体操作,请参见开通PAI并创建默认工作空间

• (可选)开通OSS或NAS。具体操作,请参见开始使用OSSNAS入门概述

方式一:使用DSW

步骤一:创建DSW实例

1. 进入DSW页面。

a. 登录PAI控制台

b. 概览页面选择目标地域。

c. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击目标工作空间名称,进入对应工作空间内。

d. 在工作空间页面的左侧导航栏选择模型开发与训练>交互式建模(DSW),进入DSW页面。

2. 单击创建实例

3. 在配置实例向导页面,配置以下关键参数,其他参数保持默认即可。

4. 单击确定

步骤二:安装EasyAnimate模型

1. 打开DSW实例。

a. 登录PAI控制台

b. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击目标工作空间,进入对应工作空间。

c. 在页面左上方,选择使用服务的地域。

d. 在左侧导航栏,选择模型开发与训练>交互式建模(DSW)

e. 单击目标DSW实例操作列下的打开,进入DSW实例的开发环境。

2. Notebook页签的Launcher页面,单击快速开始区域Tool下的DSW Gallery,打开DSW Gallery页面。

3. 在DSW Gallery页面中,搜索EasyPhoto: 基于EasyAnimate的AI视频生成示例,单击在DSW中打开,即可自动将本教程所需的资源和教程文件下载至DSW实例中,并在下载完成后自动打开教程文件。

4. 下载EasyAnimate相关代码和模型并进行安装。

在教程文件easyanimate.ipynb中,单击开始按钮运行环境安装节点命令,包括定义函数下载代码下载模型。当成功运行一个步骤命令后,再顺次运行下个步骤的命令。

步骤三:推理模型

方式一:使用代码进行推理

单击开始按钮运行模型推理>使用代码进行推理节点的命令进行模型推理。您可在/mnt/workspace/demos/easyanimate/EasyAnimate/samples/easyanimate-videos目录中查看生成结果。

您可以修改不同的参数来达到不同的效果,参数说明:

方式二:使用WebUI进行推理

1. 单击开始按运行模型推理>UI启动节点的命令,进行模型推理。

2. 单击生成的链接,进入WebUI界面。

3. 在WebUI界面选择预训练的模型路径、微调后的基模型和LoRA模型,设置LoRA权重,其它参数按需配置即可。

4. 单击Generate(生成),等待一段时间后,即可在右侧查看或下载生成的视频。

步骤四:微调LoRA

EasyAnimate提供了丰富的模型训练方式,包括DiT模型的训练(LoRA微调和基模型的全量微调)和VAE的训练。关于Gallery中内置的LoRA微调部分,更多信息,请参见EasyAnimate

准备数据

单击开始按钮执行模型训练>数据准备节点的命令,即可下载示例数据,用于模型训练。您也可以按照如下格式要求自行准备数据文件。

文件数据格式如下。

1.jpg

其中,JSON文件数据格式和参数说明如下。

2.jpg

训练模型

1. 将对应的训练脚本中的DATASET_NAME及DATASET_META_NAME设置为训练数据所在目录及训练文件地址。

3.jpg

2. 单击开始按钮执行启动训练>LoRA训练节点的命令。

3. 训练完成后,将生成的模型移动至models/Personalized_model文件夹,即可在UI界面中选择,或单击开始按钮执行LoRA模型推理节点的命令,指定lora_path进行视频生成。

方式二:使用快速开始

步骤一:部署模型

1. 进入快速开始页面。

a. 登录PAI控制台

b. 在左侧导航栏单击工作空间列表,在工作空间列表页面单击目标工作空间名称,进入对应工作空间内。

c. 在左侧导航栏单击快速开始,进入快速开始页面。

2. 在快速开始页面,搜索EasyAnimate 高清长视频生成,然后单击部署,配置相关参数。

EasyAnimate目前仅支持使用bf16进行推理,请选择A10及其以上的显卡。

3. 单击部署,在弹出的计费提醒对话框中,单击确定,页面将自动跳转到服务详情页面。

状态变为运行中时,即表示模型部署成功。

步骤二:使用模型

模型部署完成后,您可以使用WebUI及API两种方式调用服务来生成视频。

WebUI方式

1. 在服务详情页面,单击查看WEB应用

2. 在WebUI界面选择预训练的模型路径,其它参数按需配置即可。

3. 单击Generate(生成),等待一段时间后,即可在右侧查看或下载生成的视频。

API方式

1.在服务详情页面的资源详情区域,单击查看调用信息,获取调用服务所需的信息。

2. 通过接口更新Transformer模型,可在DSW实例或本地Python环境中执行。

如果已经在WebUI中选择模型,则无需发送请求重复调用。如遇请求超时,请在EAS日志中确认模型已加载完毕。加载完成,日志中将提示Update diffusion transformer done。

Python请求示例如下。

微信图片_20240619153833.png

其中:

○ <eas-service-url>:替换为步骤1中查询到的服务访问地址。

<eas-service-token>:替换为步骤1中查询到的服务Token。

3. 调用服务,生成视频或图片。

• 服务输入参数说明

• Python请求示例

服务返回base64_encoding,为base64结果。

您可以在/mnt/workspace/demos/easyanimate/目录中查看生成结果。

微信图片_20240619153842.png

其中:

○ <eas-service-url>:替换为步骤1中查询到的服务访问地址。

○ <eas-service-token>:替换为步骤1中查询到的服务Token。