2024 年是开源 LLM 全面爆发的一年。xAI 发布 314B 参数的 Grok-1,用 MoE 架构刷新了开源模型规模记录;Meta 的 LLaMA 3 在 70B 参数量级上将 MMLU 从 68.9% 拉到 82.0%,首次让开源模型逼近 GPT-4 水平;Cohere 的 Command R 系列则另辟蹊径,专门为 RAG 场景做了训练优化,支持引用生成。这三个模型代表了 2024 年开源生态的三条路线:追求规模极限、追求通用能力、追求场景专用。
本文要点
- Grok-1 的 MoE 架构设计与 314B 参数细节
- LLaMA 3 的架构改进、训练数据策略与性能分析
- Command R 系列的 RAG 专用训练方法
- 三条开源路线的对比与影响
- 2024 开源生态整体格局
一、Grok-1 (xAI)
1.1 发布背景
2024 年 3 月,Elon Musk 创立的 xAI 宣布开源 Grok-1 模型权重,采用 Apache 2.0 许可证。这是当时参数量最大的开源语言模型,也是 xAI 的第一个公开模型。
Grok-1 的名字来自《银河系漫游指南》中的 “grok” 一词,意为”深入理解”。xAI 的目标很明确:构建一个能实时获取 X(原 Twitter)平台信息、具有反叛幽默感的 AI 助手。
| 特性 | Grok-1 |
|---|---|
| 参数量 | 314B(总参数,含 MoE) |
| 激活参数 | ~86B(每 token 激活量) |
| 架构 | Mixture of Experts (MoE) |
| 专家数 | 8 个专家,每 token 选 2 |
| 上下文 | 128K token |
| 训练数据 | 2023 年 9 月前互联网数据 |
| 训练量 | 约 600B tokens |
| 许可证 | Apache 2.0 |
1.2 MoE 架构详解
Grok-1 采用的是稀疏 MoE(Mixture of Experts)架构。和 Mixtral 8x7B 类似,它在每个 Transformer 层的 FFN 部分使用专家混合,但规模远大于 Mixtral。
Grok-1 的 MoE 关键参数:
# Grok-1 模型配置(从开源权重推断)grok1_config = { "num_layers": 64, # 64 层 Transformer "hidden_size": 6144, # 隐藏维度 "num_attention_heads": 48, # 48 个注意力头 "num_kv_heads": 8, # GQA,8 个 KV 头 "head_dim": 128, # 每头维度 "num_experts": 8, # 8 个专家 "num_experts_per_token": 2, # 每个 token 激活 2 个专家 "vocab_size": 131072, # 128K 词表 "rope_theta": 10000, # RoPE 基础频率}这里有几个值得注意的设计选择:
GQA(Grouped Query Attention):Grok-1 使用 48 个查询头和 8 个 KV 头,比例是 6:1。这意味着 KV 缓存只需存储 8 组键值对,推理时的内存开销大幅降低。GQA 是 2024 年大模型的标配选择,LLaMA 3、Mistral 等也都采用了类似设计。
128K 大词表:Grok-1 使用 131072 的词表大小,接近 LLaMA 3 的 128256。大词表对多语言支持和代码处理尤其重要,能减少 token 数量从而降低推理成本。
RoPE 位置编码:使用标准 RoPE(Rotary Position Embedding),基础频率 theta 为 10000。长上下文 128K 很可能通过微调扩展而非原生训练。
1.3 训练基础设施
xAI 为 Grok-1 的训练构建了大规模 GPU 集群:
# Grok-1 训练配置(推测)training_config = { "GPU 数量": "约 10,000+ H100", "训练框架": "JAX + XLA", "并行策略": "数据并行 + 模型并行 + 专家并行", "训练时长": "约 3-4 个月", "数据量": "~600B tokens",}MoE 架构在训练时需要额外的专家并行策略。不同的专家分布在不同的 GPU 上,Router 的输出决定了 token 被发送到哪个 GPU。这种 all-to-all 通信是 MoE 训练的主要通信瓶颈。
1.4 性能表现
Grok-1 的公开基准测试数据有限,以下为已知结果:
| 基准 | Grok-1 | GPT-3.5 | LLaMA 2 70B |
|---|---|---|---|
| MMLU | 73.0% | 70.0% | 68.9% |
| HumanEval | 63.2% | 48.1% | 29.9% |
| MATH | 23.9% | 23.5% | 10.3% |
| GSM8K | 62.9% | 57.1% | 56.8% |
Grok-1 在代码生成(HumanEval)上表现突出,这很可能与训练数据中包含大量代码有关。但与 GPT-4 级别的模型相比仍有明显差距。
1.5 Grok-2 与后续发展
2024 年下半年,xAI 发布了 Grok-2,这是一次重大升级:
| 特性 | Grok-1 | Grok-2 |
|---|---|---|
| 参数量 | 314B (MoE) | 未公开 |
| 多模态 | 仅文本 | 文本 + 图像生成 |
| X 平台 | 基本集成 | 深度集成 |
| 许可证 | Apache 2.0 | 闭源(仅 API) |
Grok-2 的闭源策略引发了社区讨论。xAI 在 Grok-1 上选择了完全开源,但后续模型转为闭源,这与 Meta 持续开源 LLaMA 系列的做法形成对比。
二、LLaMA 3
2.1 发布与定位
2024 年 4 月 18 日,Meta 发布 LLaMA 3。和 LLaMA 2 一样,Meta 提供了多个规模版本,但能力和效率都大幅提升。
| 版本 | 参数量 | 训练数据量 | 上下文长度 | 许可证 |
|---|---|---|---|---|
| LLaMA 3 8B | 8B | 15T+ tokens | 8K → 128K(扩展) | Meta Llama 3 |
| LLaMA 3 70B | 70B | 15T+ tokens | 8K → 128K(扩展) | Meta Llama 3 |
15T+ tokens 的训练数据量是 LLaMA 2(约 2T tokens)的 7 倍以上,体现了 Chinchilla Law 的实践:用更多数据训练更小模型,效率更高。
2.2 架构改进
LLaMA 3 在架构上做了几个关键调整:
# LLaMA 3 8B 配置llama3_8b = { "vocab_size": 128256, # 从 32K 扩展到 128K "num_layers": 32, "hidden_size": 4096, "num_attention_heads": 32, "num_kv_heads": 8, # GQA "intermediate_size": 14336, "rope_theta": 500000, # 从 10000 提升到 500000 "max_position_embeddings": 8192,}
# LLaMA 3 70B 配置llama3_70b = { "vocab_size": 128256, "num_layers": 80, "hidden_size": 8192, "num_attention_heads": 64, "num_kv_heads": 8, # GQA,比例 8:1 "intermediate_size": 28672, "rope_theta": 500000, "max_position_embeddings": 8192,}词表扩展(32K → 128K):LLaMA 2 的 32K 词表在处理代码和非英语文本时效率较低,一个中文字可能需要 2-3 个 token 编码。LLaMA 3 将词表扩展到 128K,引入了更多的多语言 token 和代码 token,大幅提高了编码效率。对于中文文本,token 效率提升约 2-3 倍。
RoPE Theta 提升(10K → 500K):RoPE 的基础频率从 10000 提升到 500000,这是为了支持更长的上下文外推。更高的 theta 值使得位置编码在高频部分变化更缓慢,有利于模型在远超训练长度的情况下仍保持较好的注意力分布。LLaMA 3 在 8K 上训练,但通过调整 theta 和后续微调,成功扩展到了 128K。
2.3 训练数据策略
LLaMA 3 的训练数据是其最大的竞争力所在。Meta 在技术报告中特别强调了数据质量的重要性:
# LLaMA 3 训练数据构成training_data = { "总量": "超过 15T tokens", "来源": { "网页文本": "大规模爬取,强力去重", "代码": "GitHub 等代码仓库", "科学论文": "arXiv 等学术文献", "书籍": "高质量长文本", "问答数据": "Stack Exchange 等", }, "数据处理": { "去重": "MinHash + LSH 近似去重", "质量过滤": "fasttext 分类器 + 启发式规则", "有害内容过滤": "安全分类器过滤", "多语言": "支持 30+ 语言", },}数据处理的几个关键决策:
-
激进去重:Meta 对训练数据进行了 URL 级别和文档级别的去重,减少了冗余信息。过度训练数据中的重复会导致模型记忆特定文本,降低泛化能力。
-
质量分级:使用分类器将数据分为不同质量等级,高质量数据(如维基百科、书籍)获得更高的采样权重。
-
代码数据大幅增加:LLaMA 3 的代码数据比例远超 LLaMA 2,这是 HumanEval 性能大幅提升的主要原因。
2.4 后训练:SFT 与 RLHF
LLaMA 3 的后训练流程包括 SFT、拒绝采样和 DPO 三个阶段:
Meta 发现了几个人类偏好对齐的关键经验:
- 数据质量比数据量更重要:少量高质量的偏好数据比大量低质量数据效果更好
- DPO 在后期训练中优于 PPO:DPO 更稳定,不需要单独训练奖励模型
- 多轮对话数据对聊天场景至关重要
2.5 性能对比
LLaMA 3 在主要基准上的表现:
| 基准 | LLaMA 2 70B | LLaMA 3 70B | GPT-3.5 | GPT-4 |
|---|---|---|---|---|
| MMLU | 68.9% | 82.0% | 70.0% | 86.4% |
| GPQA | 41.4% | 51.1% | - | - |
| HumanEval | 29.9% | 81.7% | 48.1% | 67.0% |
| MATH | 10.3% | 50.4% | 23.5% | 52.9% |
| GSM8K | 56.8% | 93.0% | 57.1% | 92.0% |
| ARC-Challenge | 64.6% | 93.0% | - | 96.3% |
LLaMA 3 70B 在 MMLU 上达到 82.0%,首次让 70B 级别的开源模型突破 80% 大关。HumanEval 从 29.9% 跳到 81.7% 的提升尤其惊人,主要归功于训练数据中代码比例的大幅增加。
LLaMA 3 8B 的表现同样出色:
| 基准 | LLaMA 2 7B | LLaMA 3 8B | Mistral 7B |
|---|---|---|---|
| MMLU | 45.3% | 68.5% | 62.5% |
| HumanEval | 12.2% | 62.2% | 30.5% |
| GSM8K | 16.7% | 79.6% | 52.2% |
| MATH | 3.8% | 30.0% | 11.3% |
8B 模型在 GSM8K 上接近 80%,这在 LLaMA 2 时代是不可想象的。Meta 证明了一件事:精心调优的小模型可以远超粗放训练的大模型。
2.6 Llama Guard 安全系统
LLaMA 3 同时发布了 Llama Guard 2,一个基于 LLaMA 3 微调的安全分类器:
# Llama Guard 安全分类类别safety_categories = { "S1": "暴力犯罪 (Violent Crimes)", "S2": "非暴力犯罪 (Non-Violent Crimes)", "S3": "性犯罪 (Sex Crimes)", "S4": "儿童性剥削 (Child Sexual Exploitation)", "S5": "诽谤 (Defamation)", "S6": "专业建议 (Specialized Advice)", "S7": "隐私泄露 (Privacy)", "S8": "知识产权 (Intellectual Property)", "S9": "未经同意服务 (Indiscriminate Weapons)", "S10": "仇恨言论 (Hate)", "S11": "自残 (Self-Harm)", "S12": "色情内容 (Sexual Content)", "S13": "选举 (Elections)",}Llama Guard 2 的创新在于它不仅能判断输入是否安全,还能对模型的输出进行安全评估。这种”输入+输出”双重检查机制,使得 Llama Guard 可以作为 LLM 应用的安全网关。
2.7 LLaMA 3.1 与后续版本
2024 年 7 月,Meta 发布了 LLaMA 3.1,带来了几个重要更新:
| 版本 | 参数量 | 上下文 | 关键改进 |
|---|---|---|---|
| LLaMA 3.1 8B | 8B | 128K | 原生长上下文 |
| LLaMA 3.1 70B | 70B | 128K | 原生长上下文 |
| LLaMA 3.1 405B | 405B | 128K | 最大开源密集模型 |
405B 版本是 LLaMA 3.1 的重头戏。它使用 16K H100 GPU 训练,训练数据超过 15T tokens,是当时最大的开源密集(非 MoE)模型。
LLaMA 3.1 405B 的 MMLU 达到 88.6%,几乎追平 GPT-4 的 86.4%,在部分基准上甚至超越。Meta 的论文详细描述了训练这个 405B 模型遇到的工程挑战:梯度爆炸、硬件故障、检查点恢复等,这些经验对社区极具价值。
三、Command R 系列
3.1 Cohere 的定位
Cohere 由 Google Brain 前研究员 Aidan Gomez(Transformer 论文作者之一)创立。Command R 系列与 LLaMA 3 走了不同的路线:不做通用模型的全能竞争,而是专注于企业 RAG 场景。
| 版本 | 参数量 | 上下文 | 特点 |
|---|---|---|---|
| Command R | 35B | 128K | RAG + 工具调用 |
| Command R+ | 104B | 128K | 增强能力 |
3.2 RAG 专用训练
Command R 最大的差异化在于 RAG 专用训练。和通用模型不同,Command R 在训练过程中就融入了检索和引用的能力:
Command R 的 RAG 流程和传统”检索后拼接”不同,它在模型层面做了深度集成:
# Command R 的 RAG 优化流程def command_r_rag(query, documents): # 1. 检索相关文档片段 retrieved = retriever.retrieve(query, documents, top_k=10)
# 2. 文档重排序(内置能力) reranked = model.rerank(query, retrieved)
# 3. 生成带引用的回答 response = model.generate( query=query, context=reranked, citation=True, # 支持引用标注 grounding=True, # 基于文档生成 max_length=2048, )
return response3.3 引用生成机制
Command R 的引用(Citation)功能是其核心卖点。模型不仅能生成回答,还能精确标注每句话来自哪个文档的哪个位置:
# Command R 引用输出格式response = { "answer": "法国的首都是巴黎,根据2023年数据,巴黎大区人口约1230万。", "citations": [ { "source": "doc1", "start": 0, "end": 8, "text": "法国的首都是巴黎", "document_snippet": "法国是西欧国家,首都是巴黎..." }, { "source": "doc3", "start": 10, "end": 24, "text": "根据2023年数据,巴黎大区人口约1230万", "document_snippet": "2023年统计显示,巴黎大区(Île-de-France)人口约为1230万..." }, ]}这种细粒度的引用能力不是简单的后处理,而是在训练时就嵌入的。Cohere 在训练数据中包含了大量带标注的引用数据,让模型学会在生成每个片段时同时输出其来源。
3.4 工具调用能力
Command R 还内置了多步工具调用能力:
# Command R 工具调用示例tools = [ {"name": "search_web", "description": "搜索互联网"}, {"name": "calculator", "description": "数学计算"}, {"name": "sql_query", "description": "查询数据库"},]
# 模型可以自主规划多步工具调用result = model.generate_with_tools( query="2024年全球GDP排名前5的国家,计算第1名和第5名的差距", tools=tools,)# 模型会先调用 search_web 获取 GDP 数据,# 再调用 calculator 计算差值,# 最后整合生成完整回答3.5 性能评估
Command R+ 在 RAG 场景上的表现:
| 基准 | Command R+ | LLaMA 3 70B | GPT-4 |
|---|---|---|---|
| RAG 评估 (Cohere) | 85.2% | 78.4% | 87.1% |
| 引用准确率 | 91.3% | - | 82.6% |
| MMLU | 75.7% | 82.0% | 86.4% |
| HumanEval | 71.2% | 81.7% | 67.0% |
Command R+ 在通用基准上不如 LLaMA 3 70B,但在 RAG 和引用任务上表现出明显优势。这验证了场景专用训练的价值。
四、三条开源路线对比
4.1 设计哲学
三条路线的选择反映了不同的战略考量:
| 维度 | Grok-1 (规模) | LLaMA 3 (通用) | Command R+ (场景) |
|---|---|---|---|
| 核心优势 | 参数量最大 | 通用能力最强 | RAG 专精 |
| 架构选择 | MoE 稀疏 | Dense 密集 | Dense 密集 |
| 训练重点 | 规模扩展 | 数据质量 | RAG + 工具 |
| 推理成本 | 高(314B 总参数) | 中(70B) | 中高(104B) |
| 适用场景 | 研究探索 | 通用任务 | 企业 RAG |
| 开源程度 | 权重 + 架构 | 权重 + 架构 + 训练细节 | 权重 |
4.2 性能横向对比
| 模型 | 参数量 | MMLU | HumanEval | 特点 |
|---|---|---|---|---|
| LLaMA 3 8B | 8B | 68.5% | 62.2% | 性价比最高 |
| LLaMA 3 70B | 70B | 82.0% | 81.7% | 最强开源通用 |
| Grok-1 | 314B MoE | 73.0% | 63.2% | 最大开源规模 |
| Command R+ | 104B | 75.7% | 71.2% | RAG 专用 |
| LLaMA 3.1 405B | 405B | 88.6% | 89.0% | 开源巅峰 |
4.3 推理效率对比
# 推理效率粗略对比(单 token 生成延迟)inference_comparison = { "LLaMA 3 8B": { "参数量": "8B", "推理速度": "极快(A100 上约 50ms/token)", "显存需求": "~16GB(BF16)", }, "LLaMA 3 70B": { "参数量": "70B", "推理速度": "中等(A100 x2 约 30ms/token)", "显存需求": "~140GB(BF16,需 2-4 GPU)", }, "Grok-1": { "参数量": "314B (MoE,~86B 激活)", "推理速度": "较慢(需多 GPU + MoE 通信开销)", "显存需求": "~640GB(BF16,需 8+ GPU)", },}Grok-1 虽然激活参数只有 86B,但全部 314B 参数都需要加载到显存中,实际部署成本远高于 LLaMA 3 70B。这是 MoE 架构的固有缺点:总参数量大导致显存占用高,即使激活参数少。
五、2024 开源生态格局
5.1 开源 vs 闭源差距变化
2024 年最显著的趋势是开源与闭源差距在快速缩小:
| 时间 | 开源最佳 MMLU | 闭源最佳 MMLU | 差距 |
|---|---|---|---|
| 2023 Q1 | 68.9% (LLaMA 2 70B) | 86.4% (GPT-4) | 17.5% |
| 2024 Q2 | 82.0% (LLaMA 3 70B) | 88.7% (GPT-4o) | 6.7% |
| 2024 Q3 | 88.6% (LLaMA 3.1 405B) | 88.7% (GPT-4o) | 0.1% |
从 17.5% 到 0.1%,开源模型在不到两年内几乎追平了闭源模型在 MMLU 上的差距。
5.2 开源趋势
2024 年的开源 LLM 呈现三大趋势:
- 更长上下文:4K → 8K → 128K → 1M(Gemini),长上下文成为标配
- 更强能力:MMLU 突破 80%,代码能力接近 GPT-4
- 更多专用化:RAG 优化(Command R)、代码专用(Code LLaMA)、安全专用(Llama Guard)
5.3 开源许可证演变
开源许可证也在不断演变:
| 模型 | 许可证 | 商用限制 |
|---|---|---|
| LLaMA 2 | Llama 2 License | MAU > 7亿需申请 |
| LLaMA 3 | Meta Llama 3 | MAU > 7亿需申请 |
| Grok-1 | Apache 2.0 | 无限制 |
| Command R | CC-BY-NC-4.0 | 非商用 |
| Qwen 2 | Apache 2.0 | 无限制 |
Apache 2.0 正在成为开源 LLM 的主流选择,Meta 的 MAU 限制也相对宽松,基本不影响大多数企业使用。
六、总结
2024 年开源 LLM 的三大关键进展:
- LLaMA 3:Meta 用 15T tokens 数据和精心设计的架构,将 70B 模型的 MMLU 推到 82.0%,让开源模型首次接近 GPT-4 水平。LLaMA 3.1 405B 更是以 88.6% 几乎追平闭源最佳
- Grok-1:314B MoE 架构证明了开源社区的规模极限,但 MoE 的部署成本也暴露了规模路线的局限性
- Command R:Cohere 的 RAG 专用训练展示了场景化模型的价值,引用生成能力为企业应用提供了切实可行的解决方案
这三条路线并不矛盾,而是互补的。未来的开源生态很可能是”通用大模型 + 场景专用模型”并存的格局。Meta 负责提供强大的基础模型,其他团队在此基础上做场景化优化。
参考资料
- LLaMA 3 Model Card — Meta LLaMA 3 模型卡
- The Llama 3 Herd of Models — LLaMA 3 官方技术报告(Grattafiori et al., 2024)
- Grok-1 Open-Source Release — xAI Grok-1 开源公告
- Grok-1 HuggingFace Weights — Grok-1 模型权重
- Command R Technical Blog — Cohere Command R 技术博客
- Command R+ Model Card — Command R+ 模型卡
- Training Compute-Optimal Large Language Models — Chinchilla 论文(Hoffmann et al., 2022)
- Mixtral of Experts — MoE 架构参考(Jiang et al., 2024)
支持与分享
如果这篇文章对你有帮助,欢迎支持作者或分享给更多人
部分信息可能已经过时






