Grok-1:参数量最大的开源大语言模型
项目简介
由马斯克领衔的大型模型企业 xAI 正式公布了一项重要动作:开源了一个拥有 3140 亿参数的混合专家模型(MoE)「Grok-1」,连同其模型权重和网络架构一并公开。
此举将 Grok-1 树立为目前最大参数量的开源大语言模型。
在这个关键时刻,马斯克自然不放过机会,对 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 许可证允许用户自由使用、修改和分发软件,不论是个人还是商业用途。项目发布仅10小时,就已获得 11.1k 星标,人气持续上升。
Grok-1模型因其巨大的参数量---314亿个参数---而引起了网友们的极大兴趣。由于每个参数需要2字节的内存来存储,整个模型大约需要628GB的GPU内存才能运行。为了达到这样的内存需求,就需要使用多个高性能GPU。
以目前市场上的高端GPU,NVIDIA H100为例,每个提供大约80GB的显存。根据这个配置,运行完整的Grok-1模型大概需要8个H100 GPUs来提供足够的内存空间。
这是一种非常高端的配置,通常只有在专业的数据中心或者具备先进计算资源的研究机构中才能找到。对于大多数个人用户和小型开发团队来说,这种配置是不切实际的。因此,想要运行如此庞大的模型,就需要获得相应级别的硬件支持,这通常意味着相当大的投资。
使用
这个仓库包含用于加载和运行 Grok-1 开放权重模型的 JAX 示例代码。
请确保下载了检查点,并将 ckpt-0 目录放在 checkpoint 中。然后,运行
pip install -r requirements.txtpython run.py
测试代码。
该脚本加载检查点,并在一个测试输入上从模型中采样。
由于模型的体积很大(314B 参数),需要一台具有足够 GPU 内存的机器来用示例代码测试模型。这个仓库中的 MoE 层的实现并不高效。选择这种实现是为了避免需要自定义核心来验证模型的正确性。
项目链接