开源先锋 stabilityai 一天扔了两枚重磅炸弹:发布史上首个开源 rlhf 大语言模型,以及像素级图像模型 deepfloyd if。开源社区狂喜!
最近,大名鼎鼎的 stable diffusion 背后的公司,一连整了两个大活。
首先,stability ai 重磅发布了世上首个基于 rlhf 的开源 llm 聊天机器人 ——stablevicuna。
stablevicuna 基于 vicuna-13b 模型实现,是第一个使用人类反馈训练的大规模开源聊天机器人。
有网友经过实测后表示,stablevicuna 就是目前当之无愧的 13b llm 之王!
对此,1x exited 创始人表示,这可以看作是自 chatgpt 推出以来的第二个里程碑。
另外,stability ai 发布了开源模型 deepfloyd if,这个文本到图像的级联像素扩散模型功能超强,可以巧妙地把文本集成到图像中。
这个模型的革命性意义在于,它一连解决了文生图领域的两大难题:正确生成文字,正确理解空间关系!
秉持着开源的一贯传统,deepfloyd if 在以后会完全开源。
stailibity ai,果然是开源界当之无愧的扛把子。
stablevicuna
世上首个开源 rlhf llm 聊天机器人 stablevicuna,由 stability ai 震撼发布!
一位 youtube 主播对 stable vicuna 进行了实测,stable vicuna 在每一次测试中,都击败了前任王者 vicuna。
所以这位 youtuber 激动地喊出:stable vicuna 就是目前最强大的 13b llm 模型,是当之无愧的 llm 模型之王!
stablevicuna 基于小羊驼 vicuna-13b 模型实现,是 vicuna-13b 的进一步指令微调和 rlhf 训练的版本。
而 vicuna-13b 是 llama-13b 的一个指令微调模型。
从以下基准测试可以看出,stablevicuna 与类似规模的开源聊天机器人在整体性能上的比较。
stablevicuna 可以做基础数学题。
可以写代码。
还能为你讲解语法知识。
开源聊天机器人平替狂潮
stability ai 想做这样一个开源的聊天机器人,当然也是受了此前 llama 权重泄露引爆的 chatgpt 平替狂潮的影响。
从去年春天 character.ai 的聊天机器人,到后来的 chatgpt 和 bard,都引发了大家对开源平替的强烈兴趣。
这些聊天模型的成功,基本都归功于这两种训练范式:指令微调和人类反馈强化学习 。
这期间,开发者一直在努力构建开源框架帮助训练这些模型,比如 trlx、trl、deepspeed chat 和 colossalai 等,然而,却并没有一个开源模型,能够同时应用指令微调和 rlhf。
大多数模型都是在没有 rlhf 的情况下进行指令微调的,因为这个过程十分复杂。
最近,open assistant、anthropic 和 stanford 都开始向公众提供 rlhf 数据集。
stability ai 把这些数据集与 trlx 提供的 rlhf 相结合,就得到了史上第一个大规模指令微调和 rlhf 模型 ——stablevicuna。
训练过程
为了实现 stablevicuna 的强大性能,研究者利用 vicuna 作为基础模型,并遵循了一种典型的三级 rlhf 管线。
vicuna 在 130 亿参数 llama 模型的基础上,使用 alpaca 进行调整后得到的。
他们混合了三个数据集,训练出具有监督微调 的 vicuna 基础模型:
-
openassistant conversations dataset ,一个人工生成的、人工注释的助理式对话语料库,包含 161,443 条消息,分布在 66,497 个对话树中,使用 35 种不同的语言;
-
gpt4 all prompt generations,由 gpt-3.5 turbo 生成的 437,605 个提示和响应的数据集;
-
alpaca,这是由 openai 的 text-davinci-003 引擎生成,包含 52,000 条指令和演示的数据集。
-
研究者使用 trlx,训练了一个奖励模型。在以下这些 rlhf 偏好数据集上,研究者得到了 sft 模型,这是奖励模型的基础。
-
openassistant conversations dataset ,包含 7213 个偏好样本;
-
anthropic hh-rlhf,一个关于 ai 助手有用性和无害性的偏好数据集,包含 160,800 个人类标签;
-
斯坦福人类偏好 ,这是一个数据集,包含 348,718 个人类对各种不同回答的集体偏好,包括 18 个从烹饪到哲学的不同学科领域。
最后,研究者使用了 trlx,进行近端策略优化 强化学习,对 sft 模型进行了 rlhf 训练,然后,stablevicuna 就诞生了!
据 stability ai 称,会进一步开发 stablevicuna,并且会很快在 discord 上推出。
另外,stability ai 还计划给 stablevicuna 一个聊天界面,目前正在开发中。
相关演示已经可以在 huggingface 上查看了,开发者也可以在 hugging face 上下载模型的权重,作为原始 llama 模型的增量。
但如果想使用 stablevicuna,还需要获得原始 llama 模型的访问权限。
获得权重增量和 llama 权重后,使用 github 存储库中提供的脚本将它们组合起来,就能得到 stablevicuna-13b 了。不过,也是不允许商用的。
deepfloyd if
在同一时间,stability ai 还放出了一个大动作。
你敢信,ai 一直无法正确生成文字这个老大难问题,竟然被解决了?
没错,下面这张「完美」的招牌,就是由 stabilityai 全新推出的开源图像生成模型 ——deepfloyd if 制作的。
除此之外,deepfloyd if 还能够生成正确的空间关系。
模型刚一发布,网友们已经玩疯了:
prompt: robot holding a neon sign that says "i can spell".
不过,对于 prompt 中没有明确说明的文字,deepfloyd if 大概率还是会出错。
prompt:a neon sign of an american motel at night with the sign javilop
官方演示
顺便一提,在硬件的需求上,如果想要实现模型所能支持的最大 1,024 x 1,024 像素输出,建议使用 24gb 的显存;如果只要 256 x 256 像素,16gb 的显存即可。
是的,rtx 3060 16g 就能跑。
开源版谷歌 imagen
2022 年 5 月,谷歌高调发布了自家的图像生成模型 imagen。
根据官方演示的效果,imagen 不仅在质量上完胜 openai 最强的 dall-e 2,更重要的是 —— 它能够正确地生成文本。
迄今为止,没有任何一个开源模型能够稳定地实现这一功能。
与其他生成式 ai 模型一样,imagen 也依赖于一个冻结的文本编码器:先将文本提示转换为嵌入,然后由扩散模型解码成图像。但不同的是,imagen 并没有使用多模态训练的 clip,而是使用了大型 t5-xxl 语言模型。
这次,stabilityai 推出的 deepfloyd if 复刻的正是这一架构。
甚至在测试中,deepfloyd if 凭借着 coco 数据集上 6.66 的 zero-shot fid 分数,直接超越了谷歌的 imagen,以及一众竞品。
下一代图像生成 ai 模型
具体来说,deepfloyd if 是一个模块化、级联的像素扩散模型。
模块化:
deepfloyd if 由几个神经模块组成,它们在一个架构中相互协同工作。
级联:
deepfloyd if 以多个模型级联的方式实现高分辨率输出:首先生成一个低分辨率的样本,然后通过连续的超分辨率模型进行上采样,最终得到高分辨率图像。
扩散:
deepfloyd if 的基本模型和超分辨率模型都是扩散模型,其中使用马尔可夫链的步骤将随机噪声注入到数据中,然后反转该过程从噪声中生成新的数据样本。
像素:
deepfloyd if 在像素空间工作。与潜在扩散模型不同,扩散是在像素级别实现的,其中使用潜在表征。
上面这个流程图展示的就是,deepfloyd if 三个阶段的性能:
阶段 1:
基本扩散模型将定性文本转换为 64x64 图像。deepfloyd 团队已经训练了三个版本的基本模型,每个版本都有不同的参数:if-i 400m、if-i 900m 和 if-i 4.3b。
阶段 2:
为了「放大」图像,团队将两个文本条件超分辨率模型应用于基本模型的输出。其中之一将 64x64 图像放大到 256x256 图像。同样,这个模型也有几个版本:if-ii 400m 和 if-ii 1.2b。
阶段 3:
应用第二个超分辨率扩散模型,生成生动的 1024x1024 图像。最后的第三阶段模型 if-iii 拥有 700m 参数。
值得注意的是,团队还没有正式发布第三阶段的模型,但 deepfloyd if 的模块化特性让我们可以使用其他上采样模型 —— 如 stable diffusion x4 upscaler。
团队表示,这项工作展示了更大的 unet 架构在级联扩散模型的第一阶段的潜力,从而为文本到图像合成展示了充满希望的未来。
数据集训练
deepfloyd if 是在一个定制的高质量 laion-a 数据集上进行训练的,该数据集包含 10 亿对。
laion-a 是 laion-5b 数据集英文部分的一个子集,基于相似度哈希去重后获得,对原始数据集进行了额外的清理和修改。deepfloyd 的定制过滤器用于删除水印、nsfw 和其他不适当的内容。
目前,deepfloyd if 模型的许可仅限于非商业目的的研究,在完成反馈的收集之后,deepfloyd 和 stabilityai 团队将发布一个完全免费的商业版本。
参考资料: