Datawhale X魔搭AI夏令营 魔搭-AIGC方向 Task2笔记
经过TASK1的学习,我们都或多或少地了解了AI作图的相关知识,那么接下来我们需要学习的便是深入Prompt工程与微调,精准理解AI作图个中原理,深刻探究文生图背后代码真相。
有关于AI作图的能力与极限
AI作图正式问世以来,便一直受到人们广泛关注,风险与机遇也随之而来。2023年,一张AI图斩获头筹,被评为索尼世界摄影奖 (SWPA)的“创意类别优胜奖”;教皇身穿羽绒服与特朗普被捕的假照片也在疯狂传播。甚至有不法分子利用AI换脸技术招摇撞骗,进行犯罪活动。那么,我们如何辨别AI产品呢?
目前,大部分的AI图我们都能够一眼盯真,看出是AI生成。但AI作图问世已有数载,这期间AI图的“AI感”也在被训练千百遍的模型与愈加精炼的提示词逐渐抹去,如今大部分的模型已具备去除 “AI味” 的能力,AI图也到了真假难辨的地步。这时,分辨AI图的做法便是仔细观察图像中人物的面部和四肢,看看人物是不是莫名其妙的出现了第三只手,或者嘴巴非常怪异。亦或者我们也可以观察图中光源的方向,看看阴影和光源是否存在冲突。
了解AI生图前沿,有助于我们时刻明确AI作图最新动向,不仅可以防止被AI图欺骗,还可以利用AI制作自己需要想要的内容,丰富扩展自己的知识储备。
相关于通义千问以及大语言模型
大语言模型是能够通过处理大量文本数据来理解和生成人类语言的 AI 系统,简单来说,就是如chatGPT、通义千问、文心一言等由AI回答问题的工具。这些工具极大的拓展了人们的知识面,对我们获取AI相关知识、完善学习具有重要作用。
在TASK2中,我们着重使用的是通义千问的代码分析与提示词生成。
代码分析
密密麻麻的一大串代码简直让人头疼。我们初次见到baseline代码时,可能大部分人都是这种感觉。代码里充斥着超出自己知识水平的英文以及意义不明的字母组合,让人连看下去的耐心都没有。这时,我们便需要使用通义千问来一行一行分析代码的作用,并将其分为几个部分。
1.环境准备
通过 !pip 命令来安装或卸载 Python 包,安装simple-aesthetics-predictor, data-juicer, pandas等,卸载pytorch-lightning。
2.加载部分
使用ModelScope的MsDataset加载一个名为lowres_anime的数据集,并将其加载到cache_dir指定的目录下。
3.数据预处理
创建目录用于存放图像文件和数据Juicer的输入,遍历数据集,将图像转换为RGB格式,保存到本地,并创建metadata文件,其中包含图像路径和相关文本描述,编写DataJuicer配置文件,设定过滤器参数,如图像尺寸和长宽比。
4.数据处理
使用DataJuicer工具对数据集进行预处理。
5.处理输出结果
读取DataJuicer处理后的结果,提取文本和图像文件名,存储到Pandas DataFrame中,并保存为CSV文件。
6.文本-图像相似度计算
加载CLIP模型和处理器,对图像和文本进行编码,计算它们之间的相似度分数,将数据组织成自定义的PyTorch数据集。
7.生成图像
8.拼接图像
很明显,我提问得到的代码工作流程划分与教程中有所不同,但大体上仍方向一致,此文中的第5、6步骤即为教程中第5步骤的拆分。
总体来看,大致的工作流程为先安装卸载一些包,再对数据集进行加载并处理,通过整理训练后生成图像而后合并。
提示词生成
经过精读baseline,我们已经对我们所用的代码有了些许了解。接下来,我们就可以开始这次学习的重头戏——让通义千问帮我们想出提示词。我们只需要把我们的要求较为具体地发给通义千问,它便会为我们生成提示词,我们再在此基础上加以打磨,最终整理出场景表格就可以。
scepter webui的初探索
scepter webui也是一个AI成图工具,比我们所使用的AI作图工具更为精细,它专注于生成式训练、微调和推理,集合了生成式AI的各种技术和应用,是一个强大的工具集。
笔记至此结束。有人说上一个笔记没有成果图,看着有点单调,那TASK2的结尾我便将我的成果图以及遇到的问题放出。未经修改,人物存在问题,粗糙至极,还请海涵。
上来就是一个大的,画风过于卡通了。
AI的经典疑难杂症,不会画手,其他看着还行。前两张的目的是描述出男主在农场的幸福种地生活
枪口也没画好,这张的本意是表现男主从幸福田园生活突然踏入枪林弹雨的战场。
这张是我感觉效果好一点的,炸弹爆炸,流弹在空中乱舞。
这张我是想描绘一个男主随部队冲锋的画面,结果男主不仅脸上血没了,还向着冲锋的相反方向举枪,好家伙,这是在指着谁
这张是男主被子弹击中,重伤倒地。
这张简单明了,男主牺牲在了战场上,士兵们跨过他的尸体继续前进。但男主身上啥血没有,跟睡着了一样。
这张意思是男主死时感觉自己回到了家乡。但男主不仅睁眼,还抬起了头?
这八张图是一个维护和平、反对战争的小故事,意在关注战争中家园沦丧、危如累卵的人们。但很明显,主旨表达的非常不明显。此次成图也只能用失败来形容,后续我会用工具继续研究改进。
文中相关知识与观点,如有错误,敬请指正。
总结
**《Datawhale X魔搭AI夏令营 Task2笔记总结》**在Task2的学习中,我们深入探索了AI作图的Prompt工程与微调技术,旨在精准理解文生图背后的原理及代码实现。本次学习不仅拓宽了我们对AI作图能力与极限的认识,还实际运用通义千问及大语言模型辅助代码分析和提示词生成。
**一、AI作图能力与极限分析**
- **广泛影响与风险并存**:AI作图自问世以来,频现于各大场合,包括荣获摄影奖和制造假照片。这体现其强大能力的同时,也伴随伦理和法律风险。
- **辨别AI图的方法**:随着技术的进步,AI生成图像愈发逼真。辨别时需注意观察细节,如人物四肢是否异常、光源与阴影是否一致等。
- **前沿知识的重要性**:了解AI生图最新动向有助于防止被误导,并能利用AI技术创作所需内容,丰富个人知识储备。
**二、通义千问与大语言模型的应用**
- **大语言模型简介**:大语言模型如ChatGPT、通义千问,基于处理大量文本数据,能理解和生成人类语言,极大提升了信息获取便捷性。
- **Task2重点应用**:
- **代码分析**:使用通义千问逐行剖析示例代码,将其划分为环境准备、数据加载、预处理、处理输出结果、文本-图像相似度计算等多个部分,帮助理解整体工作流程。
- **提示词生成**:基于明确需求,借助通义千问智能生成提示词,为图像生成提供创意指导。
**三、Scepter WebUI初探**
- **工具介绍**:Scepter WebUI作为更精细的AI成图工具,汇集了生成式AI的多种技术和应用,为训练和微调提供强大支持。
- **实践挑战**:通过尝试生成一系列描述战争与和平主题的图像,展现了AI在复杂场景描绘中的局限性,如手部细节和动态场景的刻画仍有待提高。
- **成果反思**:输出图像虽一定程度反映了故事意图,但细节处理粗糙,如人物动作、表情及环境描绘均存在不足,需后续优化改进。
**四、总结与展望**
本次Task2的学习不仅加强了对AI作图技术原理和流程的理解,还通过实际操作积累了宝贵经验。未来将继续深入研究更多AI工具和技术,以期在图像生成领域取得更好的成果。同时,保持对前沿技术的关注,以应对可能的风险与挑战。