马斯克承诺的开源版大模型 Grok 终于来了!
今天凌晨,马斯克旗下大模型公司 xAI 宣布正式开源 3140 亿参数的混合专家(MoE)模型「Grok-1」,以及该模型的权重和网络架构。
这也使得Grok-1成为当前参数量最大的开源大语言模型。
封面图根据 Grok 提示使用 Midjourney 生成的:神经网络的 3D 插图,具有透明节点和发光连接,以不同粗细和颜色的连接线展示不同的权重。
这个时候,马斯克当然不会忘了嘲讽 OpenAI 一番,「我们想了解更多 OpenAI 的开放部分」。
回到模型本身,Grok-1 从头开始训练,并且没有针对任何特定应用(如对话)进行微调。相对的,在 X(原 Twitter)上可用的 Grok 大模型是微调过的版本,其行为和原始权重版本并不相同。
Grok-1 的模型细节包括如下:
基础模型基于大量文本数据进行训练,没有针对任何具体任务进行微调;
3140 亿参数的 MoE 模型,在给定 token 上的激活权重为 25%;
2023 年 10 月,xAI 使用 JAX 库和 Rust 语言组成的自定义训练堆栈从头开始训练。
xAI 遵守 Apache 2.0 许可证来开源 Grok-1 的权重和架构。Apache 2.0 许可证允许用户自由地使用、修改和分发软件,无论是个人还是商业用途。项目发布短短四个小时,已经揽获 3.4k 星标,热度还在持续增加。
该存储库包含用于加载和运行 Grok-1 开放权重模型的 JAX 示例代码。使用之前,用户需要确保先下载 checkpoint,并将 ckpt-0 目录放置在 checkpoint 中, 然后,运行下面代码进行测试:
pip install -r requirements.txt
python run.py
项目说明中明确强调,由于 Grok-1 是一个规模较大(314B 参数)的模型,因此需要有足够 GPU 内存的机器才能使用示例代码测试模型。此外,该存储库中 MoE 层的实现效率并不高,之所以选择该实现是为了避免需要自定义内核来验证模型的正确性。
用户可以使用 Torrent 客户端和这个磁力链接来下载权重文件:
magnet:?xt=urn:btih:5f96d43576e3d386c9ba65b883210a393b68210e&tr=https%3A%2F%2Facademictorrents.com%2Fannounce.php&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce
看到这,有网友开始好奇 314B 参数的 Grok-1 到底需要怎样的配置才能运行。对此有人给出答案:可能需要一台拥有 628 GB GPU 内存的机器(每个参数 2 字节)。这么算下来,8xH100(每个 80GB)就可以了。
知名机器学习研究者、《Python 机器学习》畅销书作者 Sebastian Raschka 评价道:「Grok-1 比其他通常带有使用限制的开放权重模型更加开源,但是它的开源程度不如 Pythia、Bloom 和 OLMo,后者附带训练代码和可复现的数据集。」
DeepMind 研究工程师 Aleksa Gordié 则预测,Grok-1 的能力应该比 LLaMA-2 要强,但目前尚不清楚有多少数据受到了污染。另外,二者的参数量也不是一个量级。
就在刚刚,xAI正式发布3140亿参数混合专家模型Grok-1的权重和架构。
3140亿的参数,让Grok-1成为迄今参数量最大的开源LLM,是Llama 2的4倍。
目前,xAI关于Grok-1没有透露更多信息。
官网放出的信息如下——
- 基础模型在大量文本数据上训练,未针对任何特定任务进行微调。
- 314B参数的MoE,有25%的权重在给定token上处于激活状态。
- 2023年10月,xAI使用JAX和Rust之上的自定义训练堆栈从头开始训练。
一经上线GitHub,Grok就狂揽了6k星,586个Fork。
项目地址:https://github.com/xai-org/grok-1
马斯克还不忘嘲讽OpenAI一番,「告诉我们更多关于OpenAI的「open」部分...」
纽约时报点评道,开源Gork背后的原始代码,是这个世界上最富有的人控制AI未来战斗的升级。
开源究竟会让技术更安全,还是会让它更滥用?
「开源支持者」马斯克,以身作则地卷入了AI界的这场激烈辩论,并用行动给出了答案。
小扎刚刚也对Grok做出了评价,「并没有给人留下真正深刻的印象,3140亿参数太多了,你需要一堆H100,不过我已经买下了」。
一条磁力链,全球首个最大模型开源
这次xAI开源Grok-1,遵守的是Apache-2.0许可证,因此,用户可以自由使用、修改和分发软件。
存储库包含了用于加载和运行Grok-1开源权重模型的JAX示例代码。
用户需要下载checkpoint,将ckpt-0目录放置在checkpoint中,随后运行以下代码来测试:
pip install -r requirements.txt python run.py
这个脚本会在测试输入上,加载checkpoint和模型中的样本。
由于模型较大,参数达到了314B参数,因此需要具有足够GPU内存的计算机,才能使用示例代码测试模型。
而且,由于此存储库中MoE层的实现效率不高,选择该实现是为了避免需要自定义内核来验证模型的正确性。
通过Torrent客户端和下面这个磁力链接,就可以下载权重了。
magnet:?xt=urn:btih:5f96d43576e3d386c9ba65b883210a393b68210e&tr=https%3A%2F%2Facademictorrents.com%2Fannounce.php&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce
更多细节
斯坦福研究者Andrew Kean Gao浏览了model.py介绍了更多Grok的架构信息,3140亿参数没有更多附加条款。
8个混合专家(2个活跃专家),860B活跃参数。它使用旋转嵌入#rope,而不是固定位置嵌入。
- token词汇量:131,072(于GPT-4类似)相当于2^17
- 嵌入大小:6144(48*128)
- Transformer层:64(每一层都有一个解码层:多头注意块和密度块)
- 密钥值大小:128
多头注意模块:有48个查询头和8个键/值
密集块(密集前馈块):宽度因子(Widening Factor):8;隐藏层大小为32768
每个token从8个专家中选出2个。
旋转位置嵌入大小6144,这是有意义的,它与模型的输入嵌入大小相同。
上下文长度:8192个token
精密bf16
最后,附上一张总结版图。
网友:开源争霸战要来
AI社区已经沸腾了!
技术界指出,Grok的亮点是在前向反馈层中使用了GeGLU以及归一化方法,并且使用了有趣的三明治范式技术(sandwich norm technique)。
连OpenAI的员工,都表示了自己对Grok的强烈兴趣。
英伟达高级科学家Jim Fan表示,「有史以来最大的开源大模型,由世界级团队训练,通过磁力链Apache 2.0发布。
314B参数,混合专家模型(8个专家2个是活跃的)。就连活跃参数规模(86B)都超过了最大的Llama模型。迫不及待地想看到基准测试结果,以及人们能用它构建出什么样的应用」。
AI研究人员Sebastian Raschka表示,与其他通常有使用限制的开源模重模型相比,Grok更为开源。不过它的开源程度低于Pythia、Bloom和Olmo,后者提供了训练代码和可重现的数据集。
Craiyon创始人Boris Dayma,详细分析了Grok-1的代码。
网友indigo表示,为了「理解宇宙」的理念,看来xAI团队特意把参数设定成了「圆周率 314B」,这是目前规模最大的开源模型,期待今年6月的Llama 3加入Grok的开源争霸战。
Grok开源后,一大波微调要来了。
第一代Grok已超越Llama-2-70B
2023年11月,xAI推出了自己的第一代大语言模型Grok,正式加入大模型的战争。
当时,Grok在推特上作为「Premium+」订阅服务的一部分,月费16美元。
xAI表示,Grok的设计灵感来源于《银河系漫游指南》,它能够回答几乎所有问题,助力人类不分背景或政治立场地追求理解和知识。
Grok最初的版本Grok-0拥有330亿参数,紧接着xAI推出了经过数次改进的Grok-1,为X上的Grok聊天机器人提供支持。
根据xAI公布的数据,在GSM8K、HumanEval和MMLU等一系列基准测试中,Grok-1的表现超过了Llama-2-70B和GPT-3.5,虽然跟GPT-4还差得远。
当时,Grok不仅能够处理X平台上实时生成的用户内容,还带有一点幽默感,给憨憨的AI注入了一丝活力。在提供最新热点事件信息(无论是政治还是体育)的同时,它还能抖个机灵,甚至偶尔讽刺一下。
马斯克为何选择开源?
在数次嘲讽OpenAI是「CloseAI」之后,马斯克果真选择了开源自家大模型。
当然,这背后肯定也有商业上的考量。
Llama的开源给Meta带来了很多好处,几乎让小扎从元宇宙的泥潭爬了出来。
而仅仅只是一个小型初创公司的Mistral AI,也因为自己的开源策略而声名鹊起,被业界公认为「欧洲的OpenAI」。
开源版本可能会鼓励开发者和潜在客户更快地采纳自己的模型,实际上起到了市场推广的作用。
开发者社区对Grok开源版本的反馈和改进也可能有助于xAI加速开发新版本,这些新版本xAI可以选择开放源代码或保留专有权。
比如像Mistral一样,承诺继续发布开源版本,同时为付费客户保留最先进的模型。
马斯克一直是开源技术的支持者,连Tesla也已经开放了汽车某些部分的源代码,而他的社交媒体平台X公开了一些用于内容排名的算法。
「还有工作要做,但这个平台已经是迄今为止最透明、最注重真相、不是高门槛的平台,」马斯克今天在回应对开源X推荐算法的评论时,这样说道。
尽管OpenAI目前在AI领域仍遥遥领先,但开源和闭源的战争还远远没有结束。
AI模型是否应该开源?某些人认为,必须防止这种强大技术免受闯入者的侵害,而另一些人则坚持认为,开源的利绝对大于弊。
作为市场领导者的OpenAI,是没有理由开源ChatGPT背后模型代码的。
现在,通过发布Grok的代码,马斯克将自己牢牢扎根在后者的阵营中。
这一决定,或许能让他的xAI最终超越Meta和Mistral AI。