活动简介
活动链接: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.其实也不算是问题,就是我在用不同的种子值将生成的不同图片保存到原先已有的路径中时,必须把原来查看的图片关掉再打开,才能显示新图片(这里我以为是新图片不能覆盖旧图片)。
好啦!本次学习笔记就到这里啦,表述可能不是很专业,大家将就看啦~
期待下一次学习任务呢!
总结
### 文章总结 - Datawhale AI 夏令营(第四期)Task 1 学习笔记#### 活动简介
本次Task 1聚焦于AI图像生成的原理与实践,通过Datawhale AI夏令营的平台,利用详细的教程指导,从零开始学习和实践利用Stable Diffusion系列模型及其LoRA方法进行人物图像生成的微调。主要教学内容包括服务器平台使用、环境配置及模型运行。
#### 个人总结
**基础知识**:
- **图像生成入门**: 作者从经典的深度学习方法(如CNN和GAN)过渡到大规模预训练模型时代,具体探索了Stable Diffusion模型及其LoRA微调方法,用于实现文本到图像的生成。
- **Stable Diffusion & LoRa**: 简要介绍了Stable Diffusion模型的创新点(映射到一维隐空间以提高效率)以及LoRA(Low-Rank Adaptation)作为微调大模型的高效技术。同时提及其在自然语言处理中的应用经验。
- **提示词(Prompt)**: 强调了在设计模型输入时提示词的重要性,尤其在微调语言模型和图像生成模型中的应用。
**实践感受**:
- **平台联动与学习**: 体验到魔搭社区与阿里云平台的联动优势,通过云服务器资源进行模型训练和实验,熟悉了Notebook和命令行操作。
- **赛事参与与天池了解**: 报名参与夏令营结合的天池赛事,促进了天池平台及同类竞赛平台(如Kaggle)的认识和学习。
- **模型微调实践**: 遵循规范的流程,通过Notebook中的代码块逐步完成模型微调与图像生成,实现了从理解到实践的转化。
- **探索性尝试**: 尝试修改种子值以观察不同随机性带来的图像生成变化,体现了学习过程中的主动探索与创新思维。
**遇到的问题:**
1. **Notebook kernel重启无响应**: 安装步骤后Notebook kernel重启未成功响应,但不影响后续操作。
2. **图片保存与显示问题**: 发现使用相同路径保存图片时需要关闭旧图片查看器才能显示新图片,初步误判为新图片未覆盖旧图片。
#### 总结与展望
本文详尽记录了作者参与Datawhale AI 夏令营Task 1的学习过程,从基础知识到实践操作,再到问题挑战,均进行了细致的回顾。文章语言朴实生动,展现了作者对于新技术学习的热情和探索精神的同时,也期待在未来学习任务中有更多收获。