Datawhale X 魔搭 AI夏令营第四期AIGC文生图方向Task2笔记

AI生图前沿

写一些阅读时觉得感兴趣的点

Deepfake

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

接下来想去研究下由此衍生的 Deepfake 攻防

AI生图模型

一般来说,AI生图模型属于多模态机器学习模型,通过海量的图库和文本描述的深度神经网络学习,最终的目标是可以根据输入的指示(不管是文本还是图片还是任何)生成符合语义的图片。

简单说就是AI生图模型主要是通过学习图片描述以及图片特征,将描述-特征的匹配进行存储。在获取输入的指示后,根据指示匹配到对应图片特征,从而生成图片。

还有一点关于“可解释性”的问题:

关于AI是否真正理解了图片背后所代表的世界的特征,是否理解了图片的含义,这个一直是科研界和产业界存在争议的话题,我们唯一可以确定的是——
由于每个模型用于训练的数据是有限的且不一定相同的,它们能匹配的描述和特征也是有限的,所以在风格、具体事物上,不同的模型会有很大的生成差异,且可能存在诸多与现实不符的情况。

探索

数据集:可以在魔搭的开源数据集中寻找我们需要的数据

对于开源的感兴趣的AI工具,可以思考的点:

可以用在哪些业务里?有哪些行业在使用?
用的是哪个 AI 模型?
是自己部署的AI模型,还是用的API?
使用到了哪些 AI 能力?
如果要复现,需要做哪些额外的设置和开发?
还可以有哪些优化点?

还可以尝试复现已验证自己的想法和学习相关的设计开发。

精读 baseline

task2主要介绍了如何运用 LLM 来辅助代码阅读,这一方面自己专业学习中使用的很多了,记录几个学到的方法。

LLM 提示语

以下是手册里给的例子:

你是一个优秀的python开发工程师,现在我们需要你帮我们分析这个代码的主体框架,你需要把代码按照工作流分成几部分,用中文回答我的问题。
你是一个优秀的python开发工程师,现在我们需要你帮我们逐行分析这个代码,用中文回答我的问题。

从中可借鉴的是“角色设置”,即给 LLM 设置一个它接下来要承担的角色(此处是一个优秀的python开发工程师)。
另一个是提前告知“用中文回答”。

精读

首先是baseline的整体流程:
在这里插入图片描述
关于 LoRA 微调部分的代码解析:

# 执行可图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训练

task3 应该需要修改 LoRA 微调进行上分了。

修改 prompt

参考手册里向 LLM 输入的提示语,并不断让其进行修改,并参考可图优质咒语书

我的 prompt 如下:

古风,水墨画,黑色长发少女,山林练剑,长发束起,专注眼神,轻便武侠服饰,全身,清晨山林背景
古风,水墨画,黑色长发少女,初入江湖,长发飘扬,骑着马,武侠服饰,全身,古道西风
古风,水墨画,黑色长发少女,拔剑相助,上半身,武侠服饰,小镇街道混乱,正义之举
古风,水墨画,黑色长发少女,江湖交流,敏锐眼神,上半身,武侠服饰,客栈酒桌,侠义之交
古风,水墨画,黑色长发少女,月下修炼,长发披肩,武侠服饰,全身,静谧夜晚,竹林月光
古风,水墨画,黑色长发少女,激战恶势力,剑光如虹,武侠服饰,全身,荒野对决,英勇无畏
古风,水墨画,黑色长发少女,疗伤伤者,温柔眼神,上半身,武侠服饰,简陋小屋,仁心仁术
古风,水墨画,黑色长发少女,江湖传奇,山巅俯瞰,长发飘逸,武侠服饰,全身,日出东方,山巅之巅

最终生成图如下:
在这里插入图片描述

总结

精读 baseline,修改了 prompt,期待下一个任务中能对 LoRA 微调部分做点修改。

  • 12
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值