代码和模型权重已上线GitHub。官方信息显示,此次开源的Grok-1是一个3140亿参数的混合专家模型——
就是说,这是当前开源模型中参数量最大的一个。
消息一出,Grok-1的GitHub仓库已揽获4.5k标星,并且还在库库猛涨。
那么,话不多说,来看看马斯克这波为怼OpenAI,究竟拿出了什么真东西。
Grok-1说开源就开源
此次开源,xAI发布了Grok-1的基本模型权重和网络架构。
具体来说是2023年10月预训练阶段的原始基础模型,没有针对任何特定应用(例如对话)进行微调。
结构上,Grok-1采用了混合专家(MoE)架构,包含8个专家,总参数量为314B(3140亿),处理Token时,其中的两个专家会被激活,激活参数量为86B。
单看这激活的参数量,就已经超过了密集模型Llama2的70B,对于MoE架构来说,这样的参数量称之为庞然大物也毫不为过。
不过,在GitHub页面中,官方也提示,由于模型规模较大(314B参数),需要有足够GPU和内存的机器才能运行Grok。
这里MoE层的实现效率并不高,选择这种实现方式是为了避免验证模型的正确性时需要自定义内核。
模型的权重文件则是以磁力链接的形式提供,文件大小接近300GB。
而且这个“足够的GPU”,要求不是一般的高——YC上有网友推测,如果是8bit量化的话,可能需要8块H100。
除了参数量前所未有,在工程架构上,Grok也是另辟蹊径——
没有采用常见的Python、PyTorch或Tensorflow,而是选用了Rust编程语言以及深度学习框架新秀JAX。
而在官方通告之外,还有许多大佬通过扒代码等方式揭露了Grok的更多技术细节。
比如来自斯坦福大学的AndrewKeanGao,就针对Grok的技术细节进行了详细解释。
首先,Grok采用了使用旋转的embedding方式,而不是固定位置embedding,旋转位置的embedding大小为6144,与输入embedding相同。
当然,还有更多的参数信息:
除了Gao,还有英伟达AI科学家EthanHe(何宜晖)指出,在专家系统的处理方面,Grok也与另一知名开源MoE模型Mixtral不同——
Grok对全部的8个专家都应用了softmax函数,然后从中选择top2专家,而Mixtral则是先选定专家再应用softmax函数。
而至于有没有更多细节,可能要看官方会不会发布进一步的消息了。
另外,值得一提的是,Grok-1采用的是Apache2.0license,也就是说,商用友好。
为怼OpenAI怒而Open
大家伙知道,马斯克因为OpenAI不Open,已经向旧金山高等法院提起诉讼,正式把OpenAI给告了。
不过当时马斯克自己搞的Grok也并没有开源,还只面向的付费用户开放,难免被质疑双标。
大概是为了堵上这个bug,马斯克在上周宣布:
本周,xAI将开源Grok。
有xAI新晋员工感慨说:
这将是激动人心的一年,快系好安全带吧。
有人已经期待起Grok作为一个开源模型,进一步搅动大模型竞争的这一池水。
不过,也并不是每个人都买马斯克的账:
不过说归说,多线并进的马斯克,最近大事不止开源Grok这一件。
SpaceX则完成了第三次星舰发射,虽然最后功败垂成,但又史无前例地迈进了一大步。
推特则开源了推荐算法,然后迎来了一波自然流量新高峰。
别人都是youcanyouup,nocannobb…马斯克不一样,bbup不选择,边喊边干,还都干成了。
别等OpenAI了,全球首个类Sora抢先开源!
所有训练细节/模型权重全公开,成本仅1万美
【导读】OpenAISora还没用上,国产Sora刚刚正式宣布全面开源!「Open-Sora1.0」所有的训练细节模型权重全面开源,1万美元64块GPU复现,训练成本直降46%。
不久前OpenAISora以其惊人的视频生成效果迅速走红,在一众文生视频模型中突出重围,成为全球瞩目的焦点。
继2周前推出成本直降46%的Sora训练推理复现流程后,Colossal-AI团队全面开源全球首个类Sora架构视频生成模型「Open-Sora1.0」——涵盖了整个训练流程,包括数据处理、所有训练细节和模型权重,携手全球AI热爱者共同推进视频创作的新纪元。
先睹为快,我们先看一段由Colossal-AI团队发布的「Open-Sora1.0」模型生成的都市繁华掠影视频。
Open-Sora1.0生成的都市繁华掠影
这仅仅是Sora复现技术冰山的一角,关于以上文生视频的模型架构、训练好的模型权重、复现的所有训练细节、数据预处理过程、demo展示和详细的上手教程,Colossal-AI团队已经全面免费开源在GitHub。
全面解读Sora复现方案
接下来,我们将深入解读Sora复现方案的多个关键维度,包括模型架构设计、训练复现方案、数据预处理、模型生成效果展示以及高效训练优化策略。
模型架构设计
模型采用了目前火热的DiffusionTransformer(DiT)[1]架构。
STDiT结构示意图
整个模型的训练和推理流程如下。据了解,在训练阶段首先采用预训练好的VariationalAutoencoder(VAE)的编码器将视频数据进行压缩,然后在压缩之后的潜在空间中与文本嵌入(textembedding)一起训练STDiT扩散模型。
在推理阶段,从VAE的潜在空间中随机采样出一个高斯噪声,与提示词嵌入(promptembedding)一起输入到STDiT中,得到去噪之后的特征,最后输入到VAE的解码器,解码得到视频。
模型的训练流程
训练复现方案
我们向该团队了解到,Open-Sora的复现方案参考了StableVideoDiffusion(SVD)[3]工作,共包括三个阶段,分别是:
1.大规模图像预训练;
2.大规模视频预训练;
3.高质量视频数据微调。
每个阶段都会基于前一个阶段的权重继续训练。相比于从零开始单阶段训练,多阶段训练通过逐步扩展数据,更高效地达成高质量视频生成的目标。
训练方案三阶段
第一阶段:大规模图像预训练
第一阶段通过大规模图像预训练,借助成熟的文生图模型,有效降低视频预训练成本。
作者团队向我们透露,通过互联网上丰富的大规模图像数据和先进的文生图技术,我们可以训练一个高质量的文生图模型,该模型将作为下一阶段视频预训练的初始化权重。
同时,由于目前没有高质量的时空VAE,他们采用了StableDiffusion[5]模型预训练好的图像VAE。该策略不仅保障了初始模型的优越性能,还显著降低了视频预训练的整体成本。
第二阶段:大规模视频预训练
我们了解到,这个阶段需要使用大量视频数据训练,保证视频题材的多样性,从而增加模型的泛化能力。第二阶段的模型在第一阶段文生图模型的基础上加入了时序注意力模块,用于学习视频中的时序关系。
其余模块与第一阶段保持一致,并加载第一阶段权重作为初始化,同时初始化时序注意力模块输出为零,以达到更高效更快速的收敛。
Colossal-AI团队使用了PixArt-alpha[2]的开源权重作为第二阶段STDiT模型的初始化,以及采用了T5[6]模型作为文本编码器。同时他们采用了256x256的小分辨率进行预训练,进一步增加了收敛速度,降低训练成本。
第三阶段:高质量视频数据微调
第三阶段对高质量视频数据进行微调,显著提升视频生成的质量。
作者团队提及第三阶段用到的视频数据规模比第二阶段要少一个量级,但是视频的时长、分辨率和质量都更高。通过这种方式进行微调,他们实现了视频生成从短到长、从低分辨率到高分辨率、从低保真度到高保真度的高效扩展。
作者团队表示,在Open-Sora的复现流程中,他们使用了64块H800进行训练。
第二阶段的训练量一共是2808GPUhours,约合7000美元。第三阶段的训练量是1920GPUhours,大约4500美元。经过初步估算,整个训练方案成功把Open-Sora复现流程控制在了1万美元左右。
数据预处理
为了进一步降低Sora复现的门槛和复杂度,Colossal-AI团队在代码仓库中还提供了便捷的视频数据预处理脚本,让大家可以轻松启动Sora复现预训练,包括公开视频数据集下载,长视频根据镜头连续性分割为短视频片段,使用开源大语言模型LLaVA[7]生成精细的提示词。
作者团队提到他们提供的批量视频标题生成代码可以用两卡3秒标注一个视频,并且质量接近于GPT-4V。最终得到的视频/文本对可直接用于训练。
借助他们在GitHub上提供的开源代码,我们可以轻松地在自己的数据集上快速生成训练所需的视频/文本对,显著降低了启动Sora复现项目的技术门槛和前期准备。
基于数据预处理脚本自动生成的视频/文本对
模型生成效果展示
下面我们来看一下Open-Sora实际视频生成效果。比如让Open-Sora生成一段在悬崖海岸边,海水拍打着岩石的航拍画面。
再让Open-Sora去捕捉山川瀑布从悬崖上澎湃而下,最终汇入湖泊的宏伟鸟瞰画面。
除了上天还能入海,简单输入prompt,让Open-Sora生成了一段水中世界的镜头,镜头中一只海龟在珊瑚礁间悠然游弋。
Open-Sora还能通过延时摄影的手法,向我们展现了繁星闪烁的银河。
如果你还有更多视频生成的有趣想法,可以访问Open-Sora开源社区获取模型权重进行免费的体验。
值得注意的是,作者团队在Github上提到目前版本仅使用了400K的训练数据,模型的生成质量和遵循文本的能力都有待提升。例如在上面的乌龟视频中,生成的乌龟多了一只脚。Open-Sora1.0也并不擅长生成人像和复杂画面。
作者团队在Github上列举了一系列待做规划,旨在不断解决现有缺陷,提升生成质量。
高效训练加持
除了大幅降低Sora复现的技术门槛,提升视频生成在时长、分辨率、内容等多个维度的质量,作者团队还提供了Colossal-AI加速系统进行Sora复现的高效训练加持。
通过算子优化和混合并行等高效训练策略,在处理64帧、512x512分辨率视频的训练中,实现了1.55倍的加速效果。
同时,得益于Colossal-AI的异构内存管理系统,在单台服务器上(8xH800)可以无阻碍地进行1分钟的1080p高清视频训练任务。
此外,在作者团队的报告中,我们也发现STDiT模型架构在训练时也展现出卓越的高效性。
和采用全注意力机制的DiT相比,随着帧数的增加,STDiT实现了高达5倍的加速效果,这在处理长视频序列等现实任务中尤为关键。