活动简介
活动链接:Datawhale AI 夏令营(第四期)
以及AIGC里面的本次任务说明:Task 1 从零入门AI生图原理&实践
链接里的教程非常详细,很适合小白上手,从使用服务器平台到配置环境再到跑模型,手把手教!
具体细节我就不赘述了,参看教程即可,下面我主要就此次Task1任务学到了哪些内容作一个总结。
个人总结
基础知识
我开始接触图像生成呢,就是在进入2020年代后,大规模预训练模型时代。虽然是在这时候开始接触图像生成的,但并没有使用大模型,毕竟是小白嘛,就从经典的深度学习方法开始学习,如CNN和GAN。至于更早的规则和模板匹配的方法、统计模型和机器学习技术,我就没有细看了。
这次任务呢,主要是针对大模型方法,以Stable Diffusion系列为基础模型,用LoRA方法微调以训练人物生成模型来实现文生图。
Stable Diffusion
好像是22年的吧(我也记不太清了),反正它很火,我没关注但是听说了。好像是原先在二维图像上的扩散太复杂速度太慢于是映射到一维的隐式空间中扩散,还加入了注意力机制(我随便说说,不一定对)。
LoRa
这个我就在第一次接触大模型的时候用过,接触的都是大语言模型。当时是ChatGPT出来的第二年,各种大模型争先恐后百花齐放,作为先锋的就是几个著名机构和名校,什么百度阿里华为啊,中科院啊,复旦啊,清华的ChatGLM啊,当时是在微调这些预训练模型的时候用过LoRa方法微调(虽然我也不懂原理,就是跟着步骤走的)。
提示词
当时我在微调大语言模型的时候就有研究过这个,当时还衍生出了一种新行业叫“prompt工程师”嘛,主要就是如何设计question的格式来让模型的answer更准确,一般来说是针对特定领域来设计特定的prompt。
参考图控制应该就是下面这个文生图微调框架中的可选部分吧,这个我还头一次见到。
实践感受
前面部分学习魔搭(虽然我比较喜欢叫魔塔)社区和阿里云平台的一个联动挺不错的,毕竟现在如果自己硬件资源不够的话可以使用人家的云服务器来跑模型,这次学习可以帮助自己熟悉这种平台的使用(基本都是用Notebook和命令行的,与本地的PyCharm不一样)。
接下来是报名了一个赛事,此次夏令营呢,是以教大家完成这项赛事的方式来教我们微调模型的。这挺不错的,毕竟这个比赛是天池的嘛,正好借此可以了解天池。这方面再一个比较出名的比赛就是kaggle了,好像含金量更高,可以自行去了解(有感兴趣的也可以和我探讨)。
平台的使用没什么可说的,下面就开始真刀真枪地在平台上实操啦~
整个模型微调流程的话就是一个很规范的流程。(而且我也就只熟悉流程了,具体每行代码做的事情我是没有研究。。)我看了它的文件,数据的话应该是拿动漫风格的图像来微调吧,然后模型好像是Kolors(具体我也不清楚它是不是Stable Diffusion系列的)。整个过程就是在Notebook中按照他给的顺序每一块代码运行一遍即可,没什么技巧。最后的话呢,就是用微调好的模型依次生成8张图片,然后拼在一起显示出来。这是默认生成的结果:
但是作为程序员总想搞点事情,喜欢瞎琢磨。然后我就试了试,按照相同的代码每次生成的图片都是一样的,这是为什么,能不能让它不一样。后来我发现只要改这个种子值就能不一样:
下面就是对应的两种相同的提示词不同的结果:
遇到的问题
1.代码中“第一步:安装”之后的重启Notebook kernel总是不成功,也不是不成功吧,就是点了之后没反应,但好在不影响后面的操作流程。
2.其实也不算是问题,就是我在用不同的种子值将生成的不同图片保存到原先已有的路径中时,必须把原来查看的图片关掉再打开,才能显示新图片(这里我以为是新图片不能覆盖旧图片)。
好啦!本次学习笔记就到这里啦,表述可能不是很专业,大家将就看啦~
期待下一次学习任务呢!
版权归原作者 小牛笔记 所有, 如有侵权,请联系我们删除。