随着 AI 技术发展的越来越成熟,基于 AI 的各种应用也层出不穷,聊天机器人、写作软件、绘画等。这些应用的出现在给人们带来便利的同时,也引起部分人群的恐慌,人类的工作是否将来会被这些 AI 工具所代替?这些担心不无道理,但从 AI 被设计的初衷来看,AI 应用的出现应该是向着利好的方向发展,释放一些简单工作的劳动力,让人们可以去实现更高的价值。
以 AI 绘画来说,Stable Difficion 的文生图模型,能够根据任意文本输入生成高质量、高分辨率、高逼真的图像,非常惊艳。在一开始接触时,我觉得这有什么难的,随便输入文本就能生成图片,那不是以后设计的活自己也能干了?于是在部署完成后,输入文字:
, , ,
得到结果:
看着还不错,但是这个前排的小黄花似乎很粗糙,并且这个风格并不是我想要的绘画风格。经过查询资料后才知道,要想生成一幅惊艳的图,需要了解掌握 promt(正向提示词) 和 negative promt (反向提示词)的语法和使用技巧。
prompt 可以帮助我们塑造我们想要的画面风格、内容,而 negative promt 则可以帮我们避免一些错误的画面细节,比如在生成人物时,画面根据参数进行构造可能会出现人长了6个手指,三条腿的情况,这时我们加入 negative prompt 就可以帮助 AI 避免这种情况。当然这并不是一个绝对的事情,在某些情况下,比如你的画面尺寸太大,这种错误的画面内容还是会出现。
除此之外,prompt 中还包含画面的质量、主题、人物的各种细节等信息,而要想用这些信息生成一张满意的图片他们的顺序也比较重要,根据各种前人实践的结果,一般推荐以下顺序:
画面质量,风格,主题,外表(发型、发色、衣服、眼睛、手臂、胸部、腿部....),情绪,姿势,背景
优化我的 prompt 后:
- , , , , , , ,
negative prompt:
:2), (:2), (:2), , (( )), (:1.2),(and:2), , , , , , , ,(:1.2),(:1.2),(:1.2), , , , (
由此可见效果出来的还是很明显的,接着我们可以微调其中的一些参数,比如调整 采样迭代步数 为 45 就可以不断精进生成的效果图:
由此可见正确使用 prompt 的重要性,这或许就是由 AI 带来的新职业 prompt 工程师。
再说回部署上,开始我在参考文章进行部署时,发现文章的 Stable Difficion WebUI 的版本太老了,当前的控制台已经支持到 3.2 了,于是我选择这个版本,资源实例配置和文中一样选择的是 ecs.gn7i-c8g1.2xlarge.limit 4核30G的,当部署成功后打开 Web 应用,发现卡住了,一直在加载中,于是更换到 3.0 版本这才成功。
对比 DSW ,通过 EAS 的方式部署,我感觉更加方便,很适合小白,能够更快的让用户体验到 SD 的使用。因为我们部署时挂载了 NAS ,生成的图片不仅可以在 SD 界面的 FileBrowser 中找到,同时也在 NAS 系统中保存了一份。
要想访问 NAS 文件,可以参考:macOS客户端通过VPN访问SMB文件系统