背景
xAI 是埃隆·马斯克(Elon Musk)去年 7 月创立的人工智能公司,昨天 2024 年 3 月 17 号星期日公开了 LLM Gork-1 (Open Release of Grok-1)的基本模型权重和架构,它根据 Apache 2 许可证在 Github 上分发。
Gork-1 是拥有 3140 亿个参数的 MoE(Mixture-of-Experts)模型,但仅将数据训练公开为“尚未针对特定任务进行微调的大量文本数据”。与之相比,OpenAI 的 GPT-3 模型的参数量是 1750 个。
这个模型属于是预训练阶段的原始模型,在处理每个 token 时,只有 25% 的权重被激活。它是在 2023 年 10 月,利用 JAX 和 Rust 构建的自定义训练栈从头开始训练的。
模型亮点
314B params MoE.
8 experts (2 active) - 86B active parameters.
Base model.
Apache 2.0 Licensed!
硬件配置和下载
Grok-1 的存储库提供了使用 JAX 框架运行和加载的示例代码,将下载后的文件放置在指定的目录中。ckpt-0
目录要放在 checkpoint
目录中,然后执行下面的命令来安装依赖并运行示例:
pip install -r requirements.txt
python run.py
由于模型过大(314B 参数),需要配备足够 GPU 内存的计算机才能使用示例代码对模型进行测试。此代码库中的 MoE 层实现效率很低。选择该实现是为了避免对自定义内核的需求,以验证模型的正确性。
下载地址:
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
运行情况
一般配置的电脑就不要想运行了,700 多个文件,将近 300G 的大小,这还仅仅是模型下载。在 issues 中一些对运行要求的总结,链接如下:
https://github.com/xai-org/grok-1/issues/3
https://github.com/xai-org/grok-1/issues/24
https://github.com/xai-org/grok-1/issues/25
各方探讨
@Andrew Kean Gao 进行了查验,总结:
- 架构基础:314B,包含 8 个专家(2 个活跃),86B 活跃参数,采用 Rotary Embeddings rope 而非固定位置嵌入。
- tokenizer 词汇大小:131,072,嵌入大小:6,144,64 个 transformer 层。
- Multihead Attention 块:48 个 query 头,8 个 KV 头,KV 大小为 128,密集块宽度因子为 8。
- 位置嵌入大小 6144,上下文长度 8192 个 token,精度为 bf16。
- 关于 8 位量化权重的讨论,需咨询专家。
@Boris Dayma讲:
快速浏览:
- 该模型写得不错
- 分片分区规则遵循 t5x 的旧样式
- 他们使用了俳句,但更新为亚麻布并不难 - 他们在 MoE 层上使用 shard_map 进行定制内存管理
- 不熟悉他们处理缓存的方式,但可能来自一些俳句或 DeepMind 的示例
- 前馈是 GeGLU
- 他们用绳索
- 他们似乎从认知视图中使用了 sandwich 规范,与 Gemma 论文中提到的相同(但后来根据代码显示常规 pre-LN 进行了更正)。如果是这样,我仍然惊讶不会使用我认为更好的 Normformer
- 无训练代码/详情,但仍很酷可以看到模型架构
某些评测结果并不乐观:
国内的大模型有救了吗?
总来的讲,这是一个规模巨大的开源语言模型,虽然存在效率地下、硬件要求高等问题还需解决。但开源就是推动技术进步和知识共享的重要途径,这对国内的大模型而言是一个很好的借鉴,希望他们加大自主创新力度,早日实现自主可控的、自己的、大语言模型。
0