近日,文本生成图像模型Stable Diffusion背后的公司Stability AI宣布获得了1.01亿美元超额融资,估值达10亿美元,这家基于开源社区的“草根”企业的风头一时间甚至盖过了业界顶级研究机构OpenAI。
翻译|胡燕君、贾川
文本转图像模型的发展周期历时数年:
2020年7月:OpenAI发文介绍Image GPT模型,将语言模型应用到图像领域。
2022年3月:AI图像生成平台Midjourney启动Beta版本测试。
2022年4月:OpenAI宣布允许一定数量的用户对其AI图像生成工具DALL-E 2 进行“研究性试用”。
2022年5月:Google以论文形式公布其文本-图像生成模型Imagen,Imagen由PyTorch实现。
2022年7月:OpenAI 通过UI/API开放DALL-E 2进行公开测试,参与公测的用户须先进入等待名单。
2022年7月:Midjourney通过Discord通讯平台发布消息表示即将进行公开测试。
2022年8月:文本-图像生成模型Stable Diffusion发布,这是一款基于OpenRAIL-M许可的开源模型。
2022年9月:OpenAI取消DALL-E 2的等待名单。
2020年5月:OpenAI以论文形式公开GPT-3,并在随后的6月发布了未公开的Beta版API。
2020年7月:非营利开源研究组织EleutherAI成立,成为OpenAI的替代者。
2021年1月:EleutherAI公布其800G数据集The Pile。
2021年3月:EleutherAI公布了分别含13亿和27亿参数的两版开源GPT-Neo模型(GPT-Neo是对GPT-3的克隆版)。
2021年11月:OpenAI取消GPT-3的等待名单,开发人员可以直接报名使用其API。
2022年5月:Meta公布大型语言模型OPT-175B,供研究人员使用,还公布了模型日志和开源许可证明。
2022年6月:俄罗斯互联网巨头Yandex公布了YaLM-100B,这是一个基于Apache-2许可的类GPT开源模型。
2022年7月:HuggingFace公开了BLOOM-176B,一个基于RAIL许可证明的大型语言模型。
2019年2月,OpenAI宣布GPT-2诞生,为了避免模型遭到不良利用(如被用于制造虚假新闻等),当时决定不将模型完全开源;3月,OpenAI放弃“非营利机构”的定位,成立OpenAI LP(有限合伙公司),声称进入“有限营利”经营模式。
11月,经过谨慎的分阶段逐步公布,OpenAI终于完全开源了含15亿参数的GPT-2模型。
上述时间线已经过高度精简,实际发展史还可追溯到2015年提出的扩散模型(Diffusion Model)、2017年提出的Transformer模型,以及更早之前对生成对抗网络(GANs)的研究。
有趣的是,2022年9月,OpenAI基于MIT许可公开了其Whisper语音转文本模型,并且不设置付费API。当然,语音转文本功能遭到不良利用的可能性较低,所以此类模型的开源风险也更低,但也有观点认为,OpenAI此次的开源决定是受到Stable Diffusion开源后爆红的影响。
Dreambooth:开源社区掌舵项目发展
一个先进的开源社区可以发挥魔法般的作用。专业的研究团队或资金充足的团队或许可以开发出很好的基础模型,但只有开源社区才能更好地将各种用例产品化,并且优化模型的实际落地使用。
最能体现这一点的例子是Dreambooth的发展。Dreambooth是一个文本转图像模型,支持经小样本学习(Few-Shot Learning)后生成精调图像,生成的图像既可保留主体的精细特征,又能为主体切换任意背景。
Dreambooth体现了文本转图像模型的理想优化方向,因为它不止需要用户下载模型直接运行,还需要用户根据样本图像进行精细训练,但原始端口需要的内存太大,大多数用户的训练设备都无法满足条件。
这是Dreambooth的发展历程:
2022年8月26日,Dreambooth宣布诞生;12天后公布了开源端口;又过了25天后,训练Dreambooth的所需内存空间降低了79%;10月8日,Dreambooth已经能在8GB GPU上训练。
对Dreambooth的优化大多数由Xavier Xiao和Shivam Shrirao通过GitHub完成,意大利工程师Matteo Serva也提供了帮助。Xavier Xiao来自新加坡,博士主攻生成模型与优化,现就职于AWS AI;Shivam Shrirao,计算机视觉高级工程师,现居印度。这两位都并非Dreambooth原始团队的成员。
现在,容易优化的地方都已优化完毕,于是有人开始担心:继续优化下去的投入产出比会越来越低,但后来这种担心不攻自破。8月份时,Stable Diffusion可以在内存为5~10GB的GPU上运行——商用GPU的内存一般为6~12GB,苹果产品都有统一内存(Unified Memory)。到了9月,Stable Diffusion已能在iPhone XS上运行。
(在手机上运行Stable Diffusion生成“白桌子上的菠萝”图片)
这应该是所有开源AI模型都想通过优化达到的目标。如果可以在小设备上运行,图像生成将不再受限于高昂的云计算费用和微薄的利润,可以得到更广泛的使用。
研究人员做不到,但开源能做到的
在目前的三大新兴文本转图像模型中,Stable Diffusion诞生得最晚,但由于拥有发展良好的开源社区,它的用户关注度和应用广度都超越Midjourney和DALL-E。
这启发我们,如果开源其他领域的AI模型(如音乐、生物、语言模型),将同样可以创造新机遇。
在技术水平上,开源社区可以带来以下几方面的改善:
完善文档
两个版本的指南:https://rentry.org/GUItard;https://keras.io/guides/keras_cv/generate_images_with_stable_diffusion/#wait-how-does-this-even-work
博客文章
推特帖
YouTube视频教程
Google Colabs教程
网页注释和图解
Stable Diffusion原始版本的README文档对新手而言不太友好
于是开源社区合作制作了:
共享提示词
(注:提示词即向文本转图像模型输入的文本。)提示词工程(Prompt Engineering)是一门技术活,GPT-3语言模型公布三年以来,不少人总能通过改变提示词组织形式让模型产生令人惊奇的输出结果。这意味着,大型语言模型还存在很大的潜在探索空间,既然它能提供出乎意料的输出结果,那么它也有可能实现超乎我们想象的功能。
每个文本转图像工具的用户社区都有约定俗成的共享提示词的方式,这样我们就可以构建提示词展览集,从而大幅减少提示词搜寻时间(从>30秒降低到<300毫秒,降低整整两个数量级!),并提升提示词工程的进步速率。
这也有助于社区协力解决各种技术难题:例如,如何生成逼真的手部图片和为什么否定式提示词的效果更好(否定式提示词即在提示词中描述用户不希望生成什么。)
创建新UI,提升模型可及性
Stable Diffusion是Python脚本,用户可以创建自己的UI来满足自己的需求,不必局限于Stability AI的Dreambooth(注:Stability AI是Stable Diffusion的研发公司)。
AUTOMATIC1111成为Stable Diffusion用户社区常用的网络UI,它具备多种功能,集结了社区成员发现的使用经验和技巧。
机器学习社区倾向于使用Windows,因此开源社区想了各种方法让Stable Diffusion可以在M1 Mac乃至 iPhone上使用(如前文例子所述)。
Stable Diffusion的UI通常是独立的APP,但新的使用模式可以将Stable Diffusion植入Photoshop、Figma、GIMP甚至VR,让用户能更自由地将Stable Diffusion融入自己的工作流。
通过扩展现有功能创造新用例
“反向提示词工程”,即根据图像生成提示词 ( CLIP Interrogator就是一个这样的工具)。
使用txt2mask增强Inpainting。
各种后期处理步骤,如Real-ESRGAN, TECOGAN, GFPGAN, VQGAN, 以及利用automatic1111中的hires fix” 解决图像中的重叠问题等。
创建GRPC 服务器,用于与Stability AI的通信。
为向新模态扩展做准备,如txt2music和music2img。
我不清楚Inpainting和Outpainting功能的最初发明者是谁,DALL-E的官宣文章中有所提及,但直至出现开源UI后,这两个功能才变得非常普及。
更多功能例如: 超高清outpainting、3D worlds。
另一种成熟的创新方式是与其他工具/技术混合,例子包括:
优化核心
如前所述,开源社区成功将Stable Diffusion和Dreambooth的所需内存最小化。
还将Stable Diffusion提速50%。
此外我还想说的是,人工智能和机器学习领域大多使用Python语言,对分布机制而言非常不安全。所以,在开源AI崛起的同时,我们也需要“安全的开源AI”。
开源AI的未来
这整个过程不禁让我们想起软件1.0是如何被开源“席卷”的。
版本控制:从Bitkeeper到Git
语言:从Java工具链到Python、JavaScript和Rust
IDE:从“有许多不错的IDE”到VS Code占据了>60%的市场份额
数据库:从Oracle/IBM到Postgres/MySQL
Anders Hejlsberg是Turbo Pasca、TypeScript等五种编程语言的创建者。他曾说过如下著名言论 :在未来,编程语言如果不开源,就无法取得成功。如今,开发所需的工具栈越来越多,相信你也会发出同样的感叹。
因此,我们很容易联想到软件2.0、软件3.0可能也会被开源“吞噬”,但同时还有一些问题没有解决:
问题1:经济激励
对于有经济头脑的人来说,将基础模型进行开源发布有违他们的直觉。训练GPT-3的成本大约在460万美元到1200万美元之间,其中不包括人力成本和实验成本。即使是号称训练成本只有60万美元 (Stability AI的创始人Emad表示,实际成本要比这低得多) 的Stable Diffusion,也不可能在没有收回投资的情况下进行开源。
看看OpenAI通过API变现的过程,每个人都能够明白AI经济如何形成:
(模型研究与模型基础设施的价值/利润孰大孰小还有待商榷,上图暂且把它们设置为大约相等。)
Stability AI的既定目标是成为非营利性参与者,这就使它压低了拥有专有基础模型研究的经济价值,但同时这可以扩大AI的总TAM(Total Addressable Market,总可用市场):
这也体现了施振荣提出的行业价值分布微笑曲线模型。Ben Thompson也对此进行了广泛讨论。
还有一个悬而未决的问题是:Stability AI打算如何融资,9月获得的1亿美元的A轮融资为Stability AI赢得了喘息时间。但在Stability AI的盈利模式明晰之前,其生态系统都不会真正稳定下来。
对此,Emad回应:“我们的商业模式很简单,规模和服务都与普通的COSS(Commercial Open Source Software,商业开源软件)相似,只是在增加附加值方面会有一些曲折。”
问题 2:开源许可
根据开源铁杆粉丝的说法:我们对“license”这个词的理解有误。严格来说,一个项目只有拥有了一个由OSI批准的开源许可证,才能算是开源(OSI批准的开源许可证共有几十个)许多所谓的“开源”AI模型或衍生品都没有开源许可,例如,以下项目都忽略了许可证这个重要问题:
AUTOMATIC1111/stable-diffusion-webui#24
divamgupta/diffusionbee-stable-diffusion-ui#5
breadthe/sd-buddy#20
Stable Diffusion模型是以新的CreativeML Open RAIL-M许可证发布的,它规定了模型权重的使用规范(模型权重就是花费60万美元训练所获的核心成果),其中部分内容与OSI认证的许可证相同,但用例限制方面的内容则不相同。如果你曾经与法律部门和OSI的人打过交道就知道,这个许可很可能不被认可,而且由于没有法律先例可依,关于这个许可证的有效性众说纷纭。
Stability AI已经清楚表明可以将他们的产品用于商业目的,甚至公开支持Midjourney使用Stable Diffusion。但如果有一天,开源产品的使用风险比现在高出1000倍,法律细节的重要性就会显现。
HuggingFace的AI顾问Carlos Muñoz Ferrandis表示:“Meta发布了OPT175(大型语言模型)、BB3(聊天机器人)和 SEER(计算机视觉模型),其许可证类似于RAIL(包括用例限制)并且仅用于研究目的(根据不同的模型选择不同的许可)。
OpenAI的Whisper语音识别模型的模型、权重和代码都基于简单宽松的MIT许可证进行开源。
Emad表示:“除了Stable Diffusion之外,Stability AI支持的所有模型都基于MIT许可发布,包括耗费了120万个A100小时训练出来的的OpenCLIP模型。”
问题 3:“开源”的到底是什么?
在典型的软件1.0背景下,“开源”意味着代码库是开放的,但不一定公开了基础设施的设置细节,或者所积累的/代码操作的数据。换言之,开放代码并不代表开放基础设施细节或开放数据(在实践中,开源社区会希望开源主体披露一些关于如何自托管(self-host)的基本指南,但这也并非强制要求)。
随着软件2.0的发展,数据收集变得非常重要,甚至开始主导代码(代码则被“降级”为模型的骨架)。像ImageNet这样的开放数据集帮助培训了整整一代的ML工程师,它还促成了Kaggle比赛的兴起,以及ImageNet挑战赛本身(挑战赛中诞生的AlexNet和CNN将整个AI领域推向深度学习)。
此外,还出现了Numerai平台,它通过半同态加密,将真实的金融数据加密,数据科学家可以根据这些“表面无意义”的加密数据,训练出预测模型,用于金融投资——虽然不是严格意义上的开放,但也足够开放,可以让数据科学家在上面赚点外快。不过,惯常的做法依然是不公开模型权重,因为权重是训练得出的最有价值的东西。
随着软件3.0和Chinchilla模型所验证的缩放规律的出现(该规律揭示了模型性能与参数量、数据集大小和计算量之间的关系,可用于指导大型模型的训练),大型语言模型和基础模型就成了代表人类历史上对于单一大型语料库进行的一次大投资。
“开源AI”运动正通过以下方面推动技术的进步:
开源数据集:例如,LAION-5B和The Pile。这些数据集已针对动漫图站Danbooru上的素材、日语、中文和俄语进行了修改。
开源权重:这是由HuggingFace的BigScience项目(Bloom模型的发布者)发起的新运动,Stability AI的文本转图像模型以及OpenAI的Whisper模型也接过了开源权重的大旗(开源权重的经济性问题在前文的“问题1”中已做讨论)。
开源接口:允许直接访问代码,使用户可以修改和编写他们自己的CLI、UI等等,而不像OpenAI的GPT3那样,只提供一个API来调用。
开源AI层级基本如此,确切顺序可能根据实际情况会有所不同。
开源人工智能研究所?
OSI设立之时可能没有考虑到“开源”AI所涉及的上述方方面面,而开源AI文化的基石之一是建立一个满足开源社区期望、具备规范和法律先例的可信标准。或许Hugging Face和Stability AI可以抓住机会填补这一空缺,又或许这样的标准已经诞生了,只是我还没有发现。
用户评论
Stable Diffusion简直是太神奇了!以前只能用PS才能做到的效果,现在只要输入几个关键词就能实现,简直是颠覆了我的认知!
有15位网友表示赞同!
开源真是太棒了!Stable Diffusion让每个人都有机会体验AI绘画的魅力,不再被商业软件束缚。
有15位网友表示赞同!
Stable Diffusion的画风真的很棒,每次都能生成出意想不到的效果,简直是灵感源泉!
有13位网友表示赞同!
Stable Diffusion的社区非常活跃,大家都在分享自己的作品和技巧,学习氛围很棒!
有12位网友表示赞同!
虽然Stable Diffusion还不完美,但也已经非常强大了,未来可期!
有19位网友表示赞同!
Stable Diffusion的出现,意味着AI绘画的门槛大大降低,相信未来会有更多人加入到这个领域。
有19位网友表示赞同!
Stable Diffusion给了我更多创作的自由,不用再被固定的模板限制,可以尽情发挥自己的想象力。
有14位网友表示赞同!
Stable Diffusion不仅可以生成图像,还可以用来进行图像修复、风格迁移等,功能十分强大。
有6位网友表示赞同!
Stable Diffusion让我看到了AI技术的巨大潜力,未来它或许会彻底改变我们的生活方式。
有15位网友表示赞同!
Stable Diffusion的开源模式,为AI技术发展提供了新的方向,相信未来会有更多开源的AI工具出现。
有13位网友表示赞同!
Stable Diffusion的使用门槛很低,即使没有编程基础的人也能轻松上手,非常适合新手体验AI绘画。
有8位网友表示赞同!
Stable Diffusion的出现,让AI绘画不再是少数人的专利,而是每个人都可以触碰的艺术领域。
有17位网友表示赞同!
Stable Diffusion的出现,引发了AI领域的热潮,相信未来会有更多优秀的AI工具涌现。
有16位网友表示赞同!
Stable Diffusion的出现,对传统绘画行业带来了巨大的冲击,未来绘画艺术将会发生巨大的变革。
有17位网友表示赞同!
Stable Diffusion的出现,标志着AI技术已经走进了我们的生活,未来AI技术将更加普及。
有18位网友表示赞同!
Stable Diffusion让我对AI绘画有了全新的认识,它不仅仅是简单的图像生成,而是更深层次的艺术创作。
有10位网友表示赞同!
Stable Diffusion的出现,让人们看到了AI技术的巨大潜力,相信未来AI技术将更加强大。
有5位网友表示赞同!
Stable Diffusion的出现,为AI技术的发展指明了方向,相信未来AI技术将更加开放和包容。
有15位网友表示赞同!
Stable Diffusion的出现,让人们对AI技术的未来充满了期待,相信未来AI技术将改变我们的生活。
有5位网友表示赞同!
Stable Diffusion的出现,是AI领域的一次重大突破,相信未来AI技术将不断突破自我,创造新的奇迹。
有7位网友表示赞同!