当前位置:AIGC资讯 > AIGC > 正文

“Datawhale X 魔搭” AI夏令营第四期:AIGC方向——Task2&Task3

背景介绍

      AIGC技术

      AIGC(AI-Generated Content)是指基于生成对抗网络、大型预训练模型等人工智能的技术方法,通过已有数据的学习和识别,以适当的泛化能力生成相关内容的技术。例如,通过输入关键词、描述或样本,AIGC可以生成与之相匹配的文章、图像、音频等。

     Deepfake技术

      Deepfake是一种使用人工智能技术生成的伪造媒体,特别是视频和音频,它们看起来或听起来非常真实,但实际上是由计算机生成的。这种技术通常涉及到深度学习算法,特别是生成对抗网络(GANs),它们能够学习真实数据的特征,并生成新的、逼真的数据。

工具箱合集

     此次比赛内容是,参赛者需在可图Kolors 模型的基础上,基于LoRA模型生成 8 张图片组成连贯故事,故事内容可自定义,风格不限,同时要保证美感度及连贯性。 与之前活动不同的是,第二期CV图像方向任务是检测图像是否为Deepfake图像,而此次第四期AIGC方向的任务是基于模型生成AI图像。

      将教程中的常用链接如下,正常使用的前提是已经按要求完成相应的注册与申请算力资源。

Datawhale速通教程:Datawhale (linklearner.com)

AI云开发平台(PAI-DSW):我的Notebook · 魔搭社区 (modelscope.cn)https://modelscope.cn/my/mynotebook/authorization

AI助教(通义千问):

通义tongyi.ai_你的全能AI助手 (aliyun.com)https://tongyi.aliyun.com/qianwen/魔搭模型库:

魔搭社区 (modelscope.cn)https://modelscope.cn/models/create?template=text-to-image-lora比赛讨论区:可图Kolors-LoRA风格故事挑战赛_魔搭社区https://modelscope.cn/brand/view/Kolors?spm=a2c22.12281976.0.0.25381acbkEiZSp&branch=0&tree=11

Task2:baseline精读

     1、安装依赖包 

!pip install命令来安装Python 包,!pip uninstall命令用来卸载Python 包,
相关依赖包有:Data-Juicer 和 DiffSynth-Studio。

     2、数据集下载与预处理

从ModelScope加载一个名为lowres_anime的数据集,并保存图像到指定目录“/mnt/workspace/kolors/data/lora_dataset/train/”。
将数据集中的图像转换为 RGB 模式,并保存到指定目录。
创建包含图像路径和文本描述的元数据文件 metadata.jsonl。
编写并保存 data_juicer_config.yaml 配置文件,用于后续的数据过滤和处理。

      3、用Data-Juicer进行数据处理

使用 dj-process 命令根据配置文件对数据进行过滤和处理,生成 result.jsonl 文件。
读取 result.jsonl 文件中的数据,并将其转换为 Pandas DataFrame,然后保存为 CSV 文件,并且将图片保存到指定文件夹下。

     4、模型训练与图像生成

下载可图模型download_models(["Kolors", "SDXL-vae-fp16-fix"])。
在前面模型的基础上,执行可图Lora微调训练。
加载Lora微调后的模型。
设置正向提示词,反向提示词,执行次数,图片尺寸。
设置随机种子,控制图片是否可以重复生成,并将图像保存为 .jpg 文件。

     5、合并图像并保存

将生成的多个图像合并成一个大图像,并调整图片的大小。

ps:在terminal终端,复制epoch=0-step=500.ckpt模型文件,以及所有的jpg图像到指定位置output文件夹中:

mkdir /mnt/workspace/kolors/output & cd 
cp /mnt/workspace/kolors/models/lightning_logs/version_0/checkpoints/epoch\=0-step\=500.ckpt /mnt/workspace/kolors/output/
cp /mnt/workspace/kolors/*.jpg /mnt/workspace/kolors/output/

另外一个快速保存多张图片的方法,点击光标之后按住Shift键,再点击光标,全部选中,再右键Download即可下载指定的文件。

baseline改进

     利用通义小助手,修改了自己的提示词,根据生成的图像进行改进,并输出为2行列4图像。

初遇

青年男子笑容可掬,手捧布匹,前来与女子交易,实则为了接近她,商讨婚事。

相恋

女子翘首以盼,等待男子归来,见到他时喜极而泣,两人重逢后欢声笑语不断。

婚姻

占卜显示吉祥,没有不利的预兆,男子驾车迎接,女子带着嫁妆,两人步入婚姻殿堂。

辛劳

女子三年来辛勤操持家务,从早忙到晚,没有一刻停歇,展现了她的勤劳和牺牲。

变化

男子性格反复无常,对待女子的态度时好时坏,不再如从前般专一和温柔。

哀怨

女子静下心来反思这段关系,内心充满悲痛和自我怜悯,意识到自己的处境。

决绝

女子下定决心,不再回头,面对男子的背叛,她选择了放弃和决裂。

新生

女子告诫后来者不要沉溺于爱情,因为男子可以轻易抽身,而女子一旦深陷其中,便难以自拔,暗示了她正迈向新的生活阶段,学会了独立和自我保护。

Task3:实战优化

Part1.安装ComfyUI 插件

ComfyUI 是ComfyUI是一个功能强大、模块化程度高的AIGC图形和视频生成的用户界面和后台。在ComfyUI平台的前端页面上,用户可以基于节点/流程图的界面设计并执行AIGC文生图或者文生视频的pipeline。

他的核心模块由模型加载器、提示词管理器、采样器、解码器。

Part2:Lora微调

import os
cmd = """
python DiffSynth-Studio/examples/train/kolors/train_kolors_lora.py \ # 选择使用可图的Lora训练脚本DiffSynth-Studio/examples/train/kolors/train_kolors_lora.py
  --pretrained_unet_path models/kolors/Kolors/unet/diffusion_pytorch_model.safetensors \ # 选择unet模型
  --pretrained_text_encoder_path models/kolors/Kolors/text_encoder \ # 选择text_encoder
  --pretrained_fp16_vae_path models/sdxl-vae-fp16-fix/diffusion_pytorch_model.safetensors \ # 选择vae模型
  --lora_rank 16 \ # lora_rank 16 表示在权衡模型表达能力和训练效率时,选择了使用 16 作为秩,适合在不显著降低模型性能的前提下,通过 LoRA 减少计算和内存的需求
  --lora_alpha 4.0 \ # 设置 LoRA 的 alpha 值,影响调整的强度
  --dataset_path data/lora_dataset_processed \ # 指定数据集路径,用于训练模型
  --output_path ./models \ # 指定输出路径,用于保存模型
  --max_epochs 1 \ # 设置最大训练轮数为 1
  --center_crop \ # 启用中心裁剪,这通常用于图像预处理
  --use_gradient_checkpointing \ # 启用梯度检查点技术,以节省内存
  --precision "16-mixed" # 指定训练时的精度为混合 16 位精度(half precision),这可以加速训练并减少显存使用
""".strip()
os.system(cmd) # 执行可图Lora训练    

总结与心得

     ComfyUI是一款功能强大的AIGC(AI生成内容)平台,它通过直观的节点/流程图界面让非专业人员也能轻松构建复杂的AI生成工作流程。ComfyUI的核心优势在于其模块化设计,用户可以自由组合模型和处理步骤,如模型加载器、提示词管理器、采样器和解码器,以适应各种应用场景。此外,它的可视化界面简化了AI模型的理解和操作,多模型支持增强了应用范围,开放性和可扩展性则促进了社区创新。

     在实际应用中,ComfyUI可以用来微调模型,如使用LoRA技术对特定任务进行优化。例如,上述命令行展示了如何使用ComfyUI训练LoRA模型,通过指定预训练的UNet、文本编码器和VAE组件以及设置训练参数来实现。具体来说,UNet根据输入的噪声和文本条件生成图像;VAE将输入数据映射到潜在空间并从中采样生成新图像;文本编码器将文本转换为向量表示,与VAE生成的噪声一起输入到UNet中,指导图像生成过程。

     通过ComfyUI的学习和使用,我深刻体会到其在简化复杂AI生成任务方面的价值。即使是初学者,也能通过其直观的设计和丰富的文档快速上手,创造出高质量的内容。

总结

这篇文章全面介绍了AIGC(AI生成内容)和Deepfake技术的背景,以及一场基于这些技术的图像生成挑战赛的核心内容、操作步骤和实战经验分享。文章主要分为以下几个部分:
### 背景介绍
- **AIGC技术**:利用生成对抗网络、预训练模型等技术,从输入数据(如关键词、描述或样本)中生成文章、图像、音频等内容的技术。
- **Deepfake技术**:深度学习驱动的伪造媒体(尤其是视频和音频),通过模拟真实数据的特征来创建逼真的虚假内容。
### 工具箱合集
比赛要求参赛者使用Kolors和LoRA模型,生成8张图片组成连贯故事,并检测图像是否为Deepfake图像。同时,提供了一系列工具和资源链接,如Datawhale教程、AI云开发平台、AI助教和比赛讨论区等,以帮助参赛者完成任务。
### Task2:Baseline精读
详细阐述了从安装依赖包、数据集下载与预处理、Data-Juicer数据处理、模型训练与图像生成、到合并图像并保存的完整流程。这一步骤作为参赛的基本参考,确保参赛者能够按照要求生成图像。
### Baseline改进
参赛者分享了通过修改提示词来改进图像风格和内容的具体案例,讲述了一个从初遇到新生的完整故事,展示了AIGC在创意和艺术领域的潜力。
### Task3:实战优化
介绍了ComfyUI插件的安装和其在AIGC图像生成中的应用。通过LoRA微调技术,展示了如何利用ComfyUI平台对模型进行优化和训练,以及如何通过配置文件和命令行参数实现具体的训练过程。
### 总结与心得
强调了ComfyUI作为AIGC平台的强大功能,特别是其模块化设计、可视化界面和开放性。此外,还表达了ComfyUI在简化复杂AI生成任务和提升学习效率方面的积极影响,使初学者也能轻松上手并进行高质量的内容创作。
### 总体总结
该文不仅提供了丰富的技术背景知识,还详细展示了从基础到进阶的实际操作步骤,结合实际应用案例和心得,为参赛者和对AIGC感兴趣的读者提供了一份全面的指南。通过此次比赛和挑战,读者可以深入了解AIGC技术的发展现状和未来潜力。

更新时间 2024-08-25