出门旅游,你只有一个20寸的登机箱。云端大模型像家里的巨型衣帽间,有几千件衣服任你挑选;而手机端侧的智能,就是要全部塞进这个登机箱的迷你衣柜。Meta 团队的研究员们就是一群“收纳大师”,他们设计的 MobileLLM 专为手机而生:把模型压到 1 亿参数左右,却要保证它足够聪明。怎么做到?三个秘诀:把衣服竖着卷起来放(深而窄的结构)、同一个收纳袋装多种物品(嵌入式权重共享)、把最常用的东西放在箱顶(浅层优化)。MobileLLM 以 1.25 亿参数打赢了 6.5 亿参数的 MobileBERT,证明了“小而美”在端侧智能中完全可行。这篇文章就带你走进这座“登机箱公寓”,看懂它的内部装修、空间分配和实战表现。
对 AI 从业者而言,掌握 MobileLLM 的架构设计,等于学会了如何在参数预算、延迟和能耗三重约束下做架构决策——这正是移动端 AI 部署岗位的核心竞争力。
可视化演示
动态演示MobileLLM端侧大模型的核心机制,通过输入/处理/存储/输出四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
MobileLLM端侧大模型:Mobi MobileLLM深度可分离新 嵌入式权重共享机制设计 核心机制可视化 MobileLLM端侧大模型整体架构与关键组件
移动端困境
想象你站在衣帽间里,眼前有三千件衣服,但你的任务是收拾一个20寸登机箱。衣柜越大,能带的就越多——这句话在云端数据中心成立,在手机屏幕上却不成立。手机的内存可能只有8GB,电池要撑一整天,芯片的算力与笔记本差一个量级。MobileLLM 的第一个问题,就是如何在如此紧张的环境里安放一个“智能大脑”。
这个大问题可以拆成三个小约束。资源约束:模型参数要存放在有限的内存里,每多 1MB 都可能挤掉用户的一张照片;延迟约束:用户在手机上打字、说话,都期望 30 毫秒内的响应,不像云端可以接受网络往返;能耗约束:一次推理若消耗过多电量,用户中午就得找充电宝。这三个约束像行李箱的重量限制、尺寸限制和滑轮寿命,哪一个超了都不行。
传统小模型面对这些约束时有个尴尬瓶颈:参数一旦低于 5 亿,性能就断崖式下跌。原因是小模型的“设计图纸”往往直接照搬大模型——把大号衣帽间等比缩小,结果空间浪费严重。MobileLLM 的设计师们发现了问题的根源:与其按比例缩小,不如按新环境重新装修。他们把参数预算看作一笔必须精打细算的账,每一笔开销都要物有所值。
回看这盘账,MobileLLM 的聪明之处在于:不增加总预算,而是重新分配。它把原本都堆在“中间层”的钱,拿出一部分强化词表,再用“深窄”的方式重构中间层,让每一分参数都像收纳得当的衣物,既不拥挤也不浪费。
- 总预算$P_{\text{budget}}$ 表示整个模型的参数量,相当于登机箱的总承重。
- 词表嵌入$P_{\text{embed}}$ 是把每个词变成数字向量的查找表,相当于行李箱的“衣物标签贴”。
- 计算层$P_{\text{block}}$ 是模型中间反复加工信息的 Transformer 计算层,相当于箱内的主体衣物。
- 输出头部$P_{\text{head}}$ 是最后一层把特征翻译成词语概率的预测器,相当于你要拿出来的那件外套。
深窄结构
收纳行家有一个共识:同等体积下,把衣服竖着卷成圆筒再排列,比平铺叠放能多装三倍,而且抽取时不会弄乱其他衣物。MobileLLM 把这个共识用在了模型结构上。传统模型的“平铺”方式叫浅而宽(shallow and wide)——层数少、每层很宽,像三件巨大的羽绒服摊在箱底;MobileLLM 采用的是深而窄(deep and narrow)——层数多、每层很窄,像八件细薄的卷筒T恤立在箱中。
为什么“窄”反而更好?这要从 Transformer 的参数量说起。Transformer 是当前大模型的主流骨架,它的每一层由注意力机制(让模型看过往词语来决定当前词该注意哪里)和前馈网络(对信息做非线性加工)组成。每一层的参数大约与隐藏维度 $D$ 的平方成正比,而总参数又与层数 $L$ 成正比。在参数预算固定的前提下,$L$ 和 $D$ 就像跷跷板的两端:传统方案把 $D$ 做大、$L$ 做小;MobileLLM 反其道而行,把 $L$ 拉大、$D$ 压缩。
深窄结构还有一层隐性收益:每个窄层内部的计算量小,意味着推理时内存带宽压力低,这对手机端尤为关键。就像把衣服卷成细筒后,每一件都能独立取出,不会为了拿一件毛衣而翻乱整个箱子。MobileLLM 正是靠这种结构,在同一参数预算下获得了更强的表达能力。
- 层数与宽度$L$ 是 Transformer 层数,$D$ 是每层的隐藏维度,也就是“通道宽度”。
- 平方效应注意力与前馈网络内部的矩阵尺寸都与 $D^2$ 有关,所以宽度每增加 1 倍,参数激增至 4 倍。
- 约等意义$12$ 是每层注意力(4 个矩阵)加前馈(2 个矩阵)的参数系数,代表单层的“固定开销”。
- 深窄策略公式右侧说明,$L$ 从 12 加到 54,参数只翻 4.5 倍;$D$ 从 768 到 512,参数却骤降一半——深窄结构就是用便宜的“加深”换取更多非线性层次。
权重共享
旅行达人还有一个法宝:一个多隔层收纳袋,正面装充电线,背面放袜子,侧兜插机票。MobileLLM 的嵌入式权重共享(embedding weight sharing)就是这样一个“一物多用”的设计。Transformer 模型有两个地方都存放着“词表”:入口处有一张词嵌入表,负责把词语变成数字向量;出口处有一张输出投影矩阵,负责把向量翻译回词语概率。
这两个矩阵的形状完全相同——都是“词表大小 × 隐藏维度”。传统模型把它们当作两个独立的收纳袋,各占一份空间;MobileLLM 则让它们共用同一个矩阵:输入和输出共用一套“词语指纹库”。这个改动一下省掉了整个词表大小的参数,而在 MobileLLM 这类小模型中,词表参数往往占总参数量的一半以上。以隐藏维度 512、词表 32000 为例,共享后直接节省约 1640 万参数,占 125M 模型的 13%。
这种共享并非没有代价。你可以理解为:用了双面收纳袋之后,正面和背面的隔层不能各自独立扩容。但 MobileLLM 用“浅层优化”补偿了这部分表达能力,而节省下来的参数预算被投入到更深的结构中,从整体来看依然是稳赚不赔的买卖。
- 隐藏维度$D$ 是每个词向量的数字长度,MobileLLM 中通常为 512,相当于每个词语指纹的“编码位数”。
- 词表大小$V$ 是模型认识的词语总数,MobileLLM 一般采用约 3 万个词的词表,相当于收纳袋里可容纳的“物品标签数”。
- 乘法含义$D \times V$ 是词嵌入矩阵的总元素数,也是每次输入编码和输出解码都要用到的共享空间的容量。
- 共享收益共享后 $P_{\text{saved}}$ 被完全省去,同时由于输入和输出用同一套表示,语义空间更加一致,还带来隐式正则化的效果——模型过拟合的风险进一步降低。
浅层优化
收拾登机箱时,你一定会把最常穿的衣服放在顶层,因为每次开箱第一眼看到的就是它。MobileLLM 的研究者发现了一个反直觉的事实:在小模型中,第一层(浅层)是最重要的层。这在直觉上很难理解——大家都以为“深层”才决定模型的上限,但残差网络的结构揭示了一个秘密:由于每一层都有一条“直达通道”(残差连接)把前面的信息直接传向最终输出,第一层输出的特征会被所有后续层反复叠加、放大。
换句话说,如果第一层是一张模糊的照片,后面所有层都在模糊照片上加滤镜,结果只会越来越模糊。MobileLLM 因此实施了浅层扩宽策略:在模型的入口处,用一个相对较宽的投影层把输入升维,让第一层就获得足够丰富的特征通道;而后续深层保持窄通道,维持参数总量不变。这就像在行李箱顶部放一个可扩展的隔层,虽然底部空间有限,但顶部的宽裕空间让拿取和归纳都从容许多。
另一个配套优化是分组查询注意力(GQA, Grouped Query Attention)。传统注意力机制在推理时需要缓存每个头部的键值信息,头越多缓存越大。GQA 让多个查询头共享同一组键值头,把缓存降到原来的四分之一——相当于把箱内四个独立小包合并成一个大隔层,虽然找东西要稍微翻一下,但空间利用率大幅提升。
回扣到比喻:行李箱的顶层空间,正是 MobileLLM 的“战略要地”。研究者在第一层投入了不成比例的“宽敞度”,用浅层扩宽 + GQA + 残差调整的组合拳,确保模型的起点就是高点。这也是为什么 MobileLLM 在极小参数量下,依然能保持接近大模型的语义理解能力。
- 初始嵌入$H_0$ 是词表共享后得到的输入向量,相当于行李箱里放好的“底层铺垫”。
- 逐层变换$F_l(H_{l-1})$ 是第 $l$ 层的加工结果,即在这一层对信息做的“折叠、分包”操作。
- 残差叠加公式中每一层的输出都直接与最初的 $H_0$ 相加,意味着第一层的信息会出现在最终结果的每一次叠加里。
- 浅层放大由于 $H_0$ 被加了 $L$ 次,它对最终结果的影响天然比其他中间层更大——浅层的质量直接决定了整箱衣物的观感。
性能评估
收纳是否成功,不能只凭肉眼判断,要过秤、拉链开合测试、甚至模拟摔打。MobileLLM 的评估体系也像一套“行李箱质检标准”:准确率是第一道秤,推理延迟是第二道秤,内存占用和能效比则是长途旅行中的真实考验。
在准确率上,MobileLLM 交出了一份令人惊讶的成绩单:125M 参数版本在 8 个标准 NLP 任务(包括常识问答、情感分析、事实检索等)上平均超过了 650M 参数的 MobileBERT;350M 版本则接近甚至超过了 780M 参数的 LLaMA-2 小模型。这相当于一个 20 寸登机箱装下了 28 寸行李箱的衣物,还保持了正常的拉链闭合。推理延迟方面,由于深窄结构每层计算量小、内存访问次数少,MobileLLM 在手机 CPU 上的 token 生成速度比同参数量的浅宽模型块 20%~40%。
内存占用和能效比的测试同样亮眼:权重共享让模型文件直接缩小 13% 以上,GQA 把推理时的 KV 缓存减少四分之三。在苹果 M1 芯片和骁龙 8 系列上,MobileLLM 每瓦特能完成的任务数是传统小模型的 2~3 倍。对手机用户来说,这意味着同样的一格电,可以多聊几十条智能回复。
- 准确率对比$A_{\text{MobileLLM}}$ 与 $A_{\text{baseline}}$ 分别表示 MobileLLM 和基线模型(如 MobileBERT、LLaMA-2)在任务上的平均准确率。
- 参数对比$P_{\text{MobileLLM}}$ 与 $P_{\text{baseline}}$ 是两者的参数量。
- 不等式关系左侧大于号说明效果更好,右侧小于号说明体格更小——这是“鱼与熊掌兼得”的量化表达。
部署应用
行李箱通过了所有质检,接下来就是真正的出行。MobileLLM 的部署思路,正是为手机这颗“长期移动的心脏”量身定制。它不需要联网,不需要把数据上传到云端,所有推理都在本地完成——这既保护了隐私,又避免了网络延迟。在手机芯片适配方面,MobileLLM 采用 Int8 量化把参数压缩四倍,使得 125M 模型在手机内存中只占大约 63MB 的空间,与一个大型手游的安装包相当。
系统集成层面,MobileLLM 可以作为 Android 系统的“智能服务模块”,嵌入到输入法、语音助手、相册搜索等系统级应用中。开发人员通过轻量级的推理引擎(如 Executorch、TFLite)加载模型,无需自建复杂的计算图,即可获得低延迟的文本生成与理解能力。场景适配方面,MobileLLM 特别适合三类任务:端侧智能回复(短信、聊天工具的快捷短语推荐)、离线语音转录后的语义理解(如会议录音摘要)、隐私敏感的本地问答(医疗查询、个人日程管理)。
走出实验室,MobileLLM 已经给移动端的 AI 体验带来了实打实的变化。无论是打字时的智能联想、语音助手的离线应答,还是拍照后的本地场景描述,它都在用“登机箱”的身量,完成“衣帽间”级别的工作。下一次你在手机上收到一条流畅的智能回复时,或许就是 MobileLLM 在设计图上的立体投影。
- 任务准确率分子是模型在真实任务中的表现,相当于行李箱“装得全”的评价。
- 延迟分母延迟是用户从输入到获得回复的等待时间,相当于开箱取物的速度。
- 功耗分母功耗是一次推理消耗的电量,相当于拖着行李箱走路的体力消耗。
- 能效最大化MobileLLM 通过减少参数和缓存,同时压低延迟与功耗,让端侧智能的“能效比”达到最优。
AI 应用场景
端侧智能输入法
阶段:推理部署(端侧文本生成)
解决的问题:传统输入法依赖云端联想引擎,断网时体验急转直下,且按键记录上传云端有隐私风险。MobileLLM 将语言模型直接部署在手机本地,使离线状态下的候选词预测、表情推荐和整句补全保持流畅。
具体案例:某手机厂商在系统中内置 MobileLLM 125M 模型,输入法在飞行模式下仍能完成“明天下午三点开会”这类句子的智能补全,响应时间从云端方案的 180ms 降到 35ms,且完全不上传用户输入数据。
语音助手的离线语义理解
阶段:端侧推理 + 意图识别
解决的问题:语音助手将录音转为文字后,需要理解“帮我把明天的闹钟调到七点”这类指令。传统方案需将文本发送至云端解析,网络波动时反应迟钝。MobileLLM 的本地推理能力让意图识别与指令解析在设备端一次完成。
具体案例:某智能穿戴设备厂商采用 MobileLLM 350M 做本地意图解析,配合 GQA 的低缓存特性,在手表芯片上实现了 120ms 内完成指令理解,用户说“导航回家”后无需等待网络即可拉起地图应用。
隐私敏感的本地文档问答
阶段:检索增强生成(RAG)的端侧重排与摘要生成
解决的问题:企业员工希望在手机上快速查询内部制度文档,但数据不能离开设备。MobileLLM 作为端侧生成引擎,配合本地向量检索库,对检索到的片段进行重排序和摘要化,实现无云端参与的文档问答。
具体案例:某金融公司为合规要求,将 5000 页产品说明文档量化后放入手机端向量库,接入 MobileLLM 生成回答。审计人员现场提问“去年 Q3 的收益凭证额度是多少”,模型在本地 800ms 内给出引用原文的答案,数据全程未出设备。
Python 演示
import torchimport torch.nn as nnimport math class MobileLLMBlock(nn.Module): """MobileLLM 单层 Transformer 块:窄通道 + FFN 瘦身""" def __init__(self, hidden_dim, num_heads, ffn_ratio=2): super().__init__() self.attn = nn.MultiheadAttention(hidden_dim, num_heads, batch_first=True) self.ffn = nn.Sequential( nn.Linear(hidden_dim, hidden_dim * ffn_ratio), nn.GELU(), nn.Linear(hidden_dim * ffn_ratio, hidden_dim), ) self.norm1 = nn.LayerNorm(hidden_dim) self.norm2 = nn.LayerNorm(hidden_dim) def forward(self, x): x = x + self.attn(self.norm1(x), self.norm1(x), self.norm1(x))[0] x = x + self.ffn(self.norm2(x)) return x class MobileLLM(nn.Module): """深而窄 + 嵌入式权重共享的端侧小模型""" def __init__(self, vocab_size=32000, hidden_dim=512, num_layers=14, num_heads=8, tie_weights=True): super().__init__() self.embedding = nn.Embedding(vocab_size, hidden_dim) self.layers = nn.ModuleList([ MobileLLMBlock(hidden_dim, num_heads) for _ in range(num_layers) ]) self.norm = nn.LayerNorm(hidden_dim) self.head = nn.Linear(hidden_dim, vocab_size, bias=False) if tie_weights: self.head.weight = self.embedding.weight def forward(self, input_ids): x = self.embedding(input_ids) for layer in self.layers: x = layer(x) return self.head(self.norm(x)) def count_parameters(model): return sum(p.numel() for p in model.parameters() if p.requires_grad) def compare_tie_weights(): tied = MobileLLM(tie_weights=True) untied = MobileLLM(tie_weights=False) p_tied = count_parameters(tied) p_untied = count_parameters(untied) saved = p_untied - p_tied print(f"共享后参数量: {p_tied / 1e6:.1f}M") print(f"未共享参数量: {p_untied / 1e6:.1f}M") print(f"共享节省参数: {saved / 1e4:.0f}万") print(f"节省比例: {saved / p_untied * 100:.1f}%") if __name__ == "__main__": compare_tie_weights() model = MobileLLM() x = torch.randint(0, 32000, (1, 64)) logits = model(x) print(f"输入 token 数: {x.shape[1]}") print(f"输出 logits 形状: {logits.shape}")
self.attn = nn.MultiheadAttention(hidden_dim, num_heads, batch_first=True)多头注意力层,hidden_dim 是“通道宽度”,num_heads 是注意力头数,窄通道下头数也相应变少。nn.Linear(hidden_dim, hidden_dim * ffn_ratio)FFN(前馈网络)瘦身的关键:传统模型用 4 倍扩宽,这里只到 2 倍,控制单层参数。self.head.weight = self.embedding.weight权重共享的一行代码:输出投影层直接绑定词嵌入矩阵,省掉整整一个D×V的矩阵。x = x + self.attn(self.norm1(x), ...)[0]残差连接:让第一层的信息一路直达最终输出,正是浅层重要的结构原因。sum(p.numel() for p in model.parameters() if p.requires_grad)统计可训练参数量,用来对比共享前后的模型“体重”。
常见误区
误区很多人以为 MobileLLM 是把 LLaMA 这类大模型剪枝、蒸馏后得到的“压缩版”,所以架构上跟大模型没什么区别。
正解MobileLLM 是原生设计的小模型,它的深窄结构、权重共享、浅层扩宽都是针对端侧场景从零设计的,不是手工剪掉大模型某些部分。剪枝是在大模型基础上做“减法”,而 MobileLLM 是带着“预算意识”做“精装修”——好比一个是为衣帽间做收纳,一个是重新设计登机箱内部隔层。
为何常见:业界“先大后小”的惯例(如蒸馏、量化、剪枝)太过深入人心,导致大家默认小模型都是大模型的副产品。
误区54 层比 12 层多出那么多层,手机上跑起来肯定卡顿,深窄结构只是理论上好看。
正解卷积式地认为“层数 = 延迟”忽略了一个关键变量——每层宽度。MobileLLM 缩窄每层通道后,单层矩阵运算规模大幅减小,内存带宽压力也随之下降。实测中,深窄模型的内存访问次数比浅宽模型更少,推理速度反而更快。就像 8 根细管比 3 根粗管输送液体更快,因为每根细管内部的流速更均匀。
为何常见:人们习惯用“层数”直接类比“计算量”,而忽略了宽度对计算量的平方级别影响。
误区用一个矩阵代替两个矩阵,不过是省了点存储空间,对模型能力没有帮助,甚至可能因为“复用”而降低性能。
正解权重共享不仅省内存,还起到了隐式正则化的作用——输入和输出共用一套词向量表示,迫使模型在同一个语义空间里做双向映射,缓解了小模型的过拟合问题。实验表明,共享后的 MobileLLM 在多数任务上甚至比不共享的版本分数更高。这相当于一个收纳袋的两面互相定义:标签贴得越规范,找东西越容易。
为何常见:内存优化通常被视为“无关效果”的工程手段,忽略了它可能对学习信号产生的正向影响。
误区既然 MobileLLM 主打“深而窄”,那肯定是层数越深越重要,第一层随便设计就行。
正解残差连接让第一层的嵌入表示被每一层反复引用和叠加,浅层的质量被放大了 L 倍。MobileLLM 论文专门指出,在小模型中第一层是“性能天花板”——浅层一旦信息损失,后面再怎么加深都弥补不了。所以 MobileLLM 反而在浅层投入了更宽的投影,这正是“登机箱顶层放最常用物品”的智慧。
为何常见:人的直觉是“越深越高级”,但在残差网络里,“第一次见到信息”的那个入口,才是影响最大的位置。
误区MobileLLM 名字里带 Mobile,就只适用于手机,其他设备用不上。
正解MobileLLM 是“资源受限设备上的通用小模型方案”。智能手表、物联网网关、车载系统、树莓派等任何内存和算力受限的边缘设备,都可以套用深窄 + 共享权重的设计思路。手机只是它最典型的落地场景,而不是唯一场景——就像登机箱虽然设计给飞机用,但高铁、汽车甚至宿舍收纳同样适用。
为何常见:模型命名里的“Mobile“被当成了应用边界,而实际上它描述的是”移动端级别”的资源约束范式。
面试题
Q1. MobileLLM 最核心的架构理念是什么?
- A.深而窄的参数高效设计← 正确答案
- B.浅而宽的高吞吐设计
- C.超大词表的稀疏编码
- D.循环递归的共享参数
答案:A。MobileLLM 的核心正是“深而窄”——用更多更窄的层替代少数宽层,在相同参数量下获得更强的表达能力。B 是它要挑战的传统方案,C 和 D 都不是 MobileLLM 的架构特征,像登机箱收纳要“竖卷”而非“平铺”。
Q2. 嵌入式权重共享中,共享的是哪两个矩阵?
- A.词嵌入矩阵与输出投影层← 正确答案
- B.注意力查询与键的投影层
- C.层归一化的缩放与偏移
- D.前馈网络的上下投影矩阵
答案:A。权重共享将入口的词嵌入矩阵和出口的输出投影矩阵绑定为同一个矩阵,输入输出共用一套“词语指纹”。B、C、D 是模型内部的其他参数,它们虽然也可以做各类绑定,但不在 MobileLLM 的核心共享设计里。
Q3. 深窄结构为什么适合端侧部署?
- A.每层计算量更小← 正确答案
- B.表达能力强于浅宽← 正确答案
- C.内存带宽压力更低← 正确答案
- D.可以无限增加层数
答案:ABC。深窄结构把参数从“宽度”挪到“层数”,单层计算量变小、内存访问更连续,同时更多非线性层带来更强的表达能力。D 错误,因为层数增加会线性增长延迟,超过硬件承受后反而得不偿失——箱子再能卷,也有高度限制。
Q4. MobileLLM 为什么特别重视第一层?
- A.残差连接使首层影响贯穿全局← 正确答案
- B.第一层只在推理时使用
- C.第一层被量化压缩得最狠
- D.第一层的参数数量最多
答案:A。残差连接让第一层的输出被每一层反复叠加,首层相当于给整个模型定调。B、C 都不符合 MobileLLM 的设计,D 也说反了——MobileLLM 浅层扩宽的是投影宽度,但总参数大头不在第一层。
Q5. 下列哪些属于 MobileLLM 的浅层优化策略?
- A.浅层加宽特征投影← 正确答案
- B.分组查询注意力减少缓存← 正确答案
- C.调整残差连接的结构← 正确答案
- D.增大词表容量以扩展词汇
答案:ABC。浅层优化三件套是浅层扩宽、GQA 和残差调整,它们共同提升首层信息质量和推理效率。D 错误:增大词表会显著增加嵌入参数,与 MobileLLM 的“参数精打细算”理念相悖。
Q6. MobileLLM 通常部署在哪个环节?
- A.云端数据中心服务器
- B.手机与边缘设备本地← 正确答案
- C.区块链共识节点
- D.卫星通信中继链路
答案:B。MobileLLM 的设计目标就是端侧推理——手机、手表、IoT 设备等资源受限场景。云端是大型模型的领地,区块链和卫星与 MobileLLM 的应用场景无关,就像登机箱不该放进海运集装箱的舱位。
Q7. 假设隐藏维度 D=512,词表 V=32000,权重共享大约节省多少参数?
- A.约 1640 万个参数← 正确答案
- B.约 3.2 万个参数
- C.约 512 万个参数
- D.约 5 万个参数
答案:A。共享省掉的参数量为 D×V = 512×32000 = 16,384,000,约 1640 万。B 只是词表大小,C 只是隐藏维度,D 是两个数字相加而非相乘。类比:收纳袋省下的空间是一个完整“标签层”的体积,取决于标签数量×标签长度。
Q8. 分组查询注意力(GQA)的主要收益是什么?
- A.减少 KV 缓存、降低显存压力← 正确答案
- B.提高词表表示的稠密度
- C.去除所有归一化层
- D.直接加速反向传播过程
答案:A。GQA 让多个查询头共享一组键值头,推理时需要缓存的 KV 张量大幅减少,这对端侧内存紧张的场景至关重要。B、C、D 都不是 GQA 的作用机制,它主要影响推理时的内存效率而非训练速度。
Q9. 端侧部署 MobileLLM 时应关注哪些评估指标?
- A.端到端推理延迟← 正确答案
- B.内存与存储占用← 正确答案
- C.单位功耗的任务数← 正确答案
- D.云端网络带宽费用
答案:ABC。端侧场景的核心指标是延迟、内存、能效比,它们直接决定用户体验和设备续航。D 是云端部署的考量因素,端侧推理完全是本地的,不消耗网络带宽——就像衡量登机箱要看自重和轮子顺滑度,而不是邮费。
Q10. 在标准 NLP 基准上,MobileLLM 125M 展示出什么实验结果?
- A.平均超过 650M 的 MobileBERT← 正确答案
- B.超过 3B 的 LLaMA-2 大模型
- C.与 13B 模型完全打平
- D.性能低于同规模的轻量模型
答案:A。论文报告 MobileLLM 125M 在 8 个标准任务上的平均分超过了 650M 的 MobileBERT,说明“深窄 + 共享”的设计让小模型打赢了比自己大 4 倍的对手。B、C 过于夸张,D 与事实相反——这个结果正是 MobileLLM 在架构上的突破之处。