之前一直没玩过文生图,为了响应之前文章评论里小伙伴们的要求,试试在M4 Max上跑一跑简单的测试。
由于文生图的checkpoints
都挺大的,下载很费时间,所以来不及尝试更多的模型,这里主要用的是近期最火的FLUX
。
FLUX
的开源版又分为schnell
和dev
两种。
我简单搜了一搜,前者主打一个速度优势,能在很少的steps
(一般4就足够)下就得到不错的图片,很多网友也反应它的指令遵从能力似乎也更强。
后者在图的生成质量和细节上更加精益求精,但代价是更慢的生成速度,一般需要20 steps
。
原本打算用ComfyUI
做测试,但是感觉对于我一个完全没接触过的新手而言,学习成本还是有点高。
因此为了更简洁快速地做一个测试,我选了两个更加傻瓜的方式来跑文生图。
mflux
首先,有了上一期MLX
带来的性能提升的经验,我第一时间就是看看FLUX
有没有MLX
相关的优化。
果不其然让我找到了filipstrand/mflux: A MLX port of FLUX based on the Huggingface Diffusers implementation.[1]这个项目,甚至还得到了Karpathy
大神的点赞👍。
这里同步一下,用和
Karparth
相同的参数跑图,在M4 Max
上的速度是15s
,相比M3 Max
还是有可观的提升的。
Draw Things
这是我在调研的时候在网上各个论坛里被安利的一个Mac APP
,主要提供了在本地进行AI
作画的强大功能,基本可以支持主流的所有模型。
APP
的功能相当强大,界面大概长下面这样,这里我也还没有深入学习过,有需要的朋友可以参考下我找到的这个Draw Things入门教程[2]。
Draw Things
简单评测
测试用的是我在网上搜到的一个相对复杂的prompt
:
In a forest, the sun is shining brightly, and the air is filled with the fragrance of flowers and the chirping of birds. Two little girls are holding hands, smiling at the camera in a front-facing shot. A wise old grandpa Tree is smiling and looking at them. One of the girls is wearing a pale yellow dress with lace edges, glasses, and has a black ponytail, while the other is wearing blue jeans and a pink shirt with long golden hair. There is also a wooden sign stuck in the ground beside them, which reads 'Happy Childhood.' Contemporary fashion photo shoot, masterpiece, realism, 4k, high quality, high focus, superior quality, sharp and clear.
首先是用mflux
命令行对FLUX schnell/dev
分别做测试。
mflux
mflux
用的是直接从huggingface
下载的原始模型 ,也就是fp16
的。
由于schnell
模型比较高效,所以steps=4
就能生成质量不错的图片:
mflux FLUX schnell run
mflux FLUX schnell image
各方面细节还是可以的,但不得不说背后的这个old grandpa Tree
着实有点渗人😂。
不过也可以理解,个人感觉这个词组对于人来说都有些confused
,更别提大模型了。
耗时是34.72 s
,经过对比,生成时间主要和两个因素有关:
-
•
prompt
的复杂程度 -
•
steps
参数的设置(例如上图在steps=2
的时候耗时是22 s
)
再看看看FLUX dev
的表现:
mflux FLUX dev run
mflux FLUX dev image
整体耗时一下上来了:2min30s,
毕竟steps=20
。
可以看到dev
在细节上确实更精准一些,比如没有schnell
那样多余且错别字的路牌,背后的old grandpa Tree
也没那么惊悚。
不过意外的是,仔细观察可以发现dev
的手部细节其实没有上面的schnell
到位。
再来看看Draw Things APP
的效果。
Draw Things
同样先看schnell
版本的模型结果。
flux_schnell_steps4_seed4
依然有着惊悚的老爷爷树,甚至更吓人一点,速度上是30s
,比mflux
要稍快一点。
没有了mflux
结果里多余的路牌,手部细节也很到位。
下面来看看FLUX dev
:
flux_dev_steps20_seed4
效果上个人感觉不如mflux
命令行得到的结果,时间上是2min20s
,要稍稍快一些。
关于
mflux
和Draw Things
的在同样promp + seed + steps
情况下的结果不一样的问题,我不负责任地猜测是APP
这边下载使用的checkpoint
不是原生,可能有些细微的差异。
单纯从生成图片的时延角度总结如下:
模型\运行方式 | mflux命令行 | Draw Things APP |
---|---|---|
FLUX schnell(steps=4) | 34.7 s | 30 s |
FLUX dev(steps=20) | 150.0 s | 140 s |
多提一句,
Draw Things
虽然没有用到Apple MLX
支持的模型,但是它增添了对CoreML
对支持。这是苹果自己的一个机器学习框架,里面也有很多在苹果设备上的计算优化。
另外
APP
自身也做了很多其他的系统优化,所以可以看到速度提升比mflux
还要明显。
时间仓促,还有很多其他模型例如SD
都没有来得及尝试,但FLUX
的结果应该足以给大家一个在M4 Max
上跑文生图大体的性能感受了。
最后放一个FLUX dev
的steps=50
的结果,耗时几分钟:
flux_dev_steps50_seed4
不知道大家怎么看,我感觉细腻程度确实有很大提高。
这棵树的呈现感觉也没那么违和了。
另外可以发现一个细节:黄衣服小朋友和树也是手牵手的,就还挺萌哒,哈哈。
好啦,关于Mac M4 Max
上跑文生图的简单测试就到这里啦。
后面我再深入学习一下各种各样的玩法,等有了心得之后再来和大家分享呀!
写在最后
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。