mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
3612 字
11 分钟
Grok/LLaMA 3/Command R:2024 开源新星
2025-09-01

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。

flowchart TB subgraph Grok-1 MoE 架构 A["输入 Token"] --> B["Self-Attention"] B --> C["Router 路由器"] C -->|"Top-2 选择"| D["Expert 1"] C -->|"Top-2 选择"| E["Expert 2"] C -.->|"未选中"| F["Expert 3-8<br>不计算"] D --> G["加权合并"] E --> G G --> H["残差连接 + LayerNorm"] H --> I["输出"] end

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-1GPT-3.5LLaMA 2 70B
MMLU73.0%70.0%68.9%
HumanEval63.2%48.1%29.9%
MATH23.9%23.5%10.3%
GSM8K62.9%57.1%56.8%

Grok-1 在代码生成(HumanEval)上表现突出,这很可能与训练数据中包含大量代码有关。但与 GPT-4 级别的模型相比仍有明显差距。

1.5 Grok-2 与后续发展#

2024 年下半年,xAI 发布了 Grok-2,这是一次重大升级:

特性Grok-1Grok-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 8B8B15T+ tokens8K → 128K(扩展)Meta Llama 3
LLaMA 3 70B70B15T+ tokens8K → 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,
}
flowchart TB subgraph LLaMA 3 关键架构改进 A["词表扩展<br>32K → 128K"] --> A1["更高效的 token 编码<br>特别是代码和多语言"] B["GQA<br>8 KV Heads"] --> B1["KV 缓存减少 75%+<br>推理速度大幅提升"] C["RoPE Theta<br>10K → 500K"] --> C1["更好的长上下文外推<br>支持 128K 扩展"] D["训练数据<br>2T → 15T+"] --> D1["更丰富的知识<br>更强泛化能力"] end

词表扩展(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+ 语言",
},
}

数据处理的几个关键决策:

  1. 激进去重:Meta 对训练数据进行了 URL 级别和文档级别的去重,减少了冗余信息。过度训练数据中的重复会导致模型记忆特定文本,降低泛化能力。

  2. 质量分级:使用分类器将数据分为不同质量等级,高质量数据(如维基百科、书籍)获得更高的采样权重。

  3. 代码数据大幅增加:LLaMA 3 的代码数据比例远超 LLaMA 2,这是 HumanEval 性能大幅提升的主要原因。

2.4 后训练:SFT 与 RLHF#

LLaMA 3 的后训练流程包括 SFT、拒绝采样和 DPO 三个阶段:

flowchart LR subgraph LLaMA 3 后训练流程 A["预训练模型<br>15T tokens"] --> B["SFT<br>监督微调"] B --> C["拒绝采样<br>Rejection Sampling"] C --> D["DPO<br>直接偏好优化"] D --> E["LLaMA 3 Instruct"] end

Meta 发现了几个人类偏好对齐的关键经验:

  • 数据质量比数据量更重要:少量高质量的偏好数据比大量低质量数据效果更好
  • DPO 在后期训练中优于 PPO:DPO 更稳定,不需要单独训练奖励模型
  • 多轮对话数据对聊天场景至关重要

2.5 性能对比#

LLaMA 3 在主要基准上的表现:

基准LLaMA 2 70BLLaMA 3 70BGPT-3.5GPT-4
MMLU68.9%82.0%70.0%86.4%
GPQA41.4%51.1%--
HumanEval29.9%81.7%48.1%67.0%
MATH10.3%50.4%23.5%52.9%
GSM8K56.8%93.0%57.1%92.0%
ARC-Challenge64.6%93.0%-96.3%

LLaMA 3 70B 在 MMLU 上达到 82.0%,首次让 70B 级别的开源模型突破 80% 大关。HumanEval 从 29.9% 跳到 81.7% 的提升尤其惊人,主要归功于训练数据中代码比例的大幅增加。

LLaMA 3 8B 的表现同样出色:

基准LLaMA 2 7BLLaMA 3 8BMistral 7B
MMLU45.3%68.5%62.5%
HumanEval12.2%62.2%30.5%
GSM8K16.7%79.6%52.2%
MATH3.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 8B8B128K原生长上下文
LLaMA 3.1 70B70B128K原生长上下文
LLaMA 3.1 405B405B128K最大开源密集模型

405B 版本是 LLaMA 3.1 的重头戏。它使用 16K H100 GPU 训练,训练数据超过 15T tokens,是当时最大的开源密集(非 MoE)模型。

flowchart TB subgraph LLaMA 3.1 405B 训练 A["16K H100 GPU"] --> B["数据并行<br>TP + PP + CP"] B --> C["15T+ tokens 训练"] C --> D["3 个阶段后训练"] end subgraph 并行策略 E["TP = 8<br>张量并行"] F["PP = 3<br>流水线并行"] G["CP = 8<br>上下文并行"] H["DP = 64<br>数据并行"] end

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 R35B128KRAG + 工具调用
Command R+104B128K增强能力

3.2 RAG 专用训练#

Command R 最大的差异化在于 RAG 专用训练。和通用模型不同,Command R 在训练过程中就融入了检索和引用的能力:

flowchart TB subgraph Command R 训练流程 A["预训练<br>多语言语料"] --> B["RAG 微调<br>检索+生成联合训练"] B --> C["工具调用训练<br>多步工具使用"] C --> D["偏好对齐<br>人类偏好优化"] end subgraph RAG 专用能力 E["文档片段检索"] F["引用标注生成"] G["多文档融合"] H["工具调用编排"] end

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 response

3.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 70BGPT-4
RAG 评估 (Cohere)85.2%78.4%87.1%
引用准确率91.3%-82.6%
MMLU75.7%82.0%86.4%
HumanEval71.2%81.7%67.0%

Command R+ 在通用基准上不如 LLaMA 3 70B,但在 RAG 和引用任务上表现出明显优势。这验证了场景专用训练的价值。

四、三条开源路线对比#

4.1 设计哲学#

flowchart TB subgraph 规模路线 A1["Grok-1<br>314B MoE"] --> B1["追求参数规模<br>MoE 架构扩展"] end subgraph 通用路线 A2["LLaMA 3<br>70B Dense"] --> B2["追求通用能力<br>数据质量驱动"] end subgraph 场景路线 A3["Command R+<br>104B RAG"] --> B3["追求场景专用<br>RAG 深度优化"] end

三条路线的选择反映了不同的战略考量:

维度Grok-1 (规模)LLaMA 3 (通用)Command R+ (场景)
核心优势参数量最大通用能力最强RAG 专精
架构选择MoE 稀疏Dense 密集Dense 密集
训练重点规模扩展数据质量RAG + 工具
推理成本高(314B 总参数)中(70B)中高(104B)
适用场景研究探索通用任务企业 RAG
开源程度权重 + 架构权重 + 架构 + 训练细节权重

4.2 性能横向对比#

模型参数量MMLUHumanEval特点
LLaMA 3 8B8B68.5%62.2%性价比最高
LLaMA 3 70B70B82.0%81.7%最强开源通用
Grok-1314B MoE73.0%63.2%最大开源规模
Command R+104B75.7%71.2%RAG 专用
LLaMA 3.1 405B405B88.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 Q168.9% (LLaMA 2 70B)86.4% (GPT-4)17.5%
2024 Q282.0% (LLaMA 3 70B)88.7% (GPT-4o)6.7%
2024 Q388.6% (LLaMA 3.1 405B)88.7% (GPT-4o)0.1%

从 17.5% 到 0.1%,开源模型在不到两年内几乎追平了闭源模型在 MMLU 上的差距。

5.2 开源趋势#

2024 年的开源 LLM 呈现三大趋势:

  1. 更长上下文:4K → 8K → 128K → 1M(Gemini),长上下文成为标配
  2. 更强能力:MMLU 突破 80%,代码能力接近 GPT-4
  3. 更多专用化:RAG 优化(Command R)、代码专用(Code LLaMA)、安全专用(Llama Guard)

5.3 开源许可证演变#

开源许可证也在不断演变:

模型许可证商用限制
LLaMA 2Llama 2 LicenseMAU > 7亿需申请
LLaMA 3Meta Llama 3MAU > 7亿需申请
Grok-1Apache 2.0无限制
Command RCC-BY-NC-4.0非商用
Qwen 2Apache 2.0无限制

Apache 2.0 正在成为开源 LLM 的主流选择,Meta 的 MAU 限制也相对宽松,基本不影响大多数企业使用。

六、总结#

2024 年开源 LLM 的三大关键进展:

  1. LLaMA 3:Meta 用 15T tokens 数据和精心设计的架构,将 70B 模型的 MMLU 推到 82.0%,让开源模型首次接近 GPT-4 水平。LLaMA 3.1 405B 更是以 88.6% 几乎追平闭源最佳
  2. Grok-1:314B MoE 架构证明了开源社区的规模极限,但 MoE 的部署成本也暴露了规模路线的局限性
  3. Command R:Cohere 的 RAG 专用训练展示了场景化模型的价值,引用生成能力为企业应用提供了切实可行的解决方案

这三条路线并不矛盾,而是互补的。未来的开源生态很可能是”通用大模型 + 场景专用模型”并存的格局。Meta 负责提供强大的基础模型,其他团队在此基础上做场景化优化。


参考资料#

支持与分享

如果这篇文章对你有帮助,欢迎支持作者或分享给更多人

Grok/LLaMA 3/Command R:2024 开源新星
https://blog.souloss.com/posts/machine-learning/llm-paper-history/grok-and-llama3-open-source-rising-stars/
作者
Souloss
发布于
2025-09-01
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时