开源风暴吞噬AI界?从Stable Diffusion的爆火说起
本文作者认为,尽管开源项目存在商业模式、开源许可协议等方面的挑战,但通过良好开源社区的驱动,AI项目的技术发展、应用广度和创造空间都有了意想不到的发展,正如开源“吞噬”软件1.0,“开源AI”运动将在软件2.0时代不可阻挡。OneFlow社区对此进行了编译。
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的替代者。
2020年9月:Microsoft获得GPT-3的独家授权。
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(有限合伙公司),声称进入“有限营利”经营模式。
8月,两名计算机硕士复制出GPT-2并将其对外公开,称为OpenGPT-2。
11月,经过谨慎的分阶段逐步公布,OpenAI终于完全开源了含15亿参数的GPT-2模型。
2 研究人员做不到,但开源能做到的
完善文档
Stable Diffusion原始版本的README文档对新手而言不太友好
于是开源社区合作制作了:
两个版本的指南:https://rentry.org/GUItard;https://keras.io/guides/keras_cv/generate_images_with_stable_diffusion/#wait-how-does-this-even-work
博客文章
推特帖
YouTube视频教程
Google Colabs教程
网页注释和图解
共享提示词
(注:提示词即向文本转图像模型输入的文本。)提示词工程(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融入自己的工作流。
通过扩展现有功能创造新用例
我不清楚Inpainting和Outpainting功能的最初发明者是谁,DALL-E的官宣文章中有所提及,但直至出现开源UI后,这两个功能才变得非常普及。
更多功能例如: 超高清outpainting、3D worlds。
另一种成熟的创新方式是与其他工具/技术混合,例子包括:
“反向提示词工程”,即根据图像生成提示词 ( CLIP Interrogator就是一个这样的工具)。
使用txt2mask增强Inpainting。
各种后期处理步骤,如Real-ESRGAN, TECOGAN, GFPGAN, VQGAN, 以及利用automatic1111中的hires fix” 解决图像中的重叠问题等。
创建GRPC 服务器,用于与Stability AI的通信。
为向新模态扩展做准备,如txt2music和music2img。
优化核心
如前所述,开源社区成功将Stable Diffusion和Dreambooth的所需内存最小化。
还将Stable Diffusion提速50%。
3 开源AI的未来
版本控制:从Bitkeeper到Git 语言:从Java工具链到Python、JavaScript和Rust IDE:从“有许多不错的IDE”到VS Code占据了>60%的市场份额 数据库:从Oracle/IBM到Postgres/MySQL
问题1:经济激励
对此,Emad回应:“我们的商业模式很简单,规模和服务都与普通的COSS(Commercial Open Source Software,商业开源软件)相似,只是在增加附加值方面会有一些曲折。”
问题 2:开源许可
AUTOMATIC1111/stable-diffusion-webui#24
divamgupta/diffusionbee-stable-diffusion-ui#5
breadthe/sd-buddy#20
HuggingFace的AI顾问Carlos Muñoz Ferrandis表示:“Meta发布了OPT175(大型语言模型)、BB3(聊天机器人)和 SEER(计算机视觉模型),其许可证类似于RAIL(包括用例限制)并且仅用于研究目的(根据不同的模型选择不同的许可)。
Emad表示:“除了Stable Diffusion之外,Stability AI支持的所有模型都基于MIT许可发布,包括耗费了120万个A100小时训练出来的的OpenCLIP模型。”
问题 3:“开源”的到底是什么?
开源数据集:例如,LAION-5B和The Pile。这些数据集已针对动漫图站Danbooru上的素材、日语、中文和俄语进行了修改。 开源模型:通常以研究论文的形式发布——如果提供足够的细节,外部人员就可以复制出这个新模型,就像复制GPT3和Dreambooth一样。 开源权重:这是由HuggingFace的BigScience项目(Bloom模型的发布者)发起的新运动,Stability AI的文本转图像模型以及OpenAI的Whisper模型也接过了开源权重的大旗(开源权重的经济性问题在前文的“问题1”中已做讨论)。 开源接口:允许直接访问代码,使用户可以修改和编写他们自己的CLI、UI等等,而不像OpenAI的GPT3那样,只提供一个API来调用。 开源提示词:用户(如Riley Goodside)和研究人员(如Aran Komatsuzaki)分享了提示词技术方面的突破,以解锁基础模型的潜在能力。
4 开源人工智能研究所?
OneFlow的大模型分片保存和加载策略 Jeff Dean:机器学习在硬件设计中的潜力 九大深度学习库;谷歌文字生成视频的两大利器 OneEmbedding:单卡训练TB级推荐模型不是梦 大模型训练难?效率超群、易用的“李白”模型库来了