游乐游手机版
首页/AI热点日报/热点详情

Grok-1激活参数核心机制(Active Parameters)工作原理深度全面解析

类型:热点整理2026-06-17
Grok-1标称3140亿参数,实际推理时仅激活约860亿,源于MoE架构中8个专家每次只选2个。通过模型配置、路由权重及专家参数量计算验证,活跃参数确为86B量级。门控网络基于语义动态选择专家,硬编码专家组合会导致输出质量下降。

Grok-1 号称拥有3140亿参数,但在实际推理时仅动用了约860亿——这看似是数字游戏,实则源于其底层 MoE(混合专家)架构的精妙设计。关键在于配置参数:num_selected_experts=2,这意味着每次前向传播时,8个专家中仅有2个被激活。再结合专家参数量、Embedding层与注意力层的规模,可以清晰计算出活跃参数确实在86B量级。接下来,我们通过实操流程来验证这一结论。

Grok-1激活参数解析:深入理解Active Parameters的工作原理

因此核心问题很直接:如何从宣传的3140亿参数推导出实际的860亿?答案不是猜测,而是通过解读源代码来还原。

确认模型配置中的激活参数基数

直接打开 Grok-1 最新仓库的model.py文件,定位到TransformerConfig类,找到num_expertsnum_selected_experts这两个字段。前者值为8,后者值为2——这两个数字直接决定了每次前向传播时有多少专家被调度参与推理。

【num_selected_experts=2是硬编码阈值,推理时无法动态更改】

继续向下翻阅,在 MoE 层实现中找到self.router.compute_routing_prob调用行,注意它的第三个参数传入的是self.num_experts
,即8。这表明路由概率的计算始终基于全部专家,不会因为显存不足或 batch size 变化而缩水。

追踪单token的专家选择路径

run.py中设置断点,运行一条长度为1的 prompt 如"Hello",然后进入 MoE 层的 forward 逻辑。

此时可以看到routing_probs张量的形状为(1, 8)。该 token 对8个专家分别输出一个归一化权重,权重之和恰好等于1。

接着执行jax.lax.top_k(routing_probs, k=2),返回两个索引值——例如[3, 6],对应第4个和第7个专家(索引从0开始)。这两个索引即为该 token 激活的唯一专家。

再打印expert_gate,会看到两个非零浮点数,比如0.62和0.38,两者之和恒等于1;其余6个位置全部为0。这就是稀疏激活最直接的数学证明。

验证活跃参数量的计算逻辑

方法一:静态公式推导
每个专家的网络结构与 Llama-2 的 FFN 层相同:输入维度6144,扩展因子8,中间层32768,输出维度6144。单专家参数量约为 6144×32768 + 32768×6144 ≈ 402M。8个专家总参数为 402M×8 ≈ 3.22B,但每次仅激活2个,因此活跃参数为 402M×2 ≈ 804M。再加上 Embedding 层(131072×6144≈0.8B)和64层注意力头参数(48×128×64×2≈0.8B),总活跃参数便落在86B附近。

方法二:动态内存快照
在 A100-80G 上运行nvidia-smi,执行python run.py --prompt "A",观察 GPU 显存峰值。如果稳定在42GB左右,先别急于换算——86B参数在 bf16 精度下理论显存需求为 86×2÷1024≈168GB,显然对不上。原因其实很简单:MoE 层的参数在 GPU 间分片加载,只有被激活的专家权重才解压到显存,未激活的专家权重仍留在 CPU 内存或 SSD 缓存中。

注意:显存读数不能直接换算为活跃参数量,它受 KV Cache、梯度状态、框架内存池等因素干扰。真正可靠的依据是top_k返回的专家索引数量以及对应子网络的权重张量尺寸。

对比不同输入触发的专家切换行为

第一步:准备两组差异明显的输入
输入 A:"def quicksort(arr):" → 触发代码生成任务
输入 B:"李白《将进酒》全诗:" → 触发古诗续写任务

第二步:分别运行并记录expert_index输出
你会发现输入 A 常激活专家 [1, 5],而输入 B 高频命中 [0, 7]。这说明门控网络确实在语义层面做出路由决策,而非随机分配。

第三步:强制固定专家组合测试
临时将top_k调用改为固定值,比如 jnp.array([0, 1]),再运行输入 A。模型输出质量会明显下降,尤其在代码缩进和语法结构上出现错误。【门控网络的动态选择不可绕开,硬编码专家将导致语义失配】

来源:https://www.php.cn/faq/2661801.html?uid=1221864

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。