跳到主要内容
赞助推荐 Claude Team 合租,少折腾账号
AI 大模型 #AI 模型横评

大模型的胜负手已经不在结构,而在效率

16 分钟阅读阅读(126)
#AI 模型横评#MIT《How to AI (Almost) Anything》:多模态 AI 逐讲精读
赞助推荐 团队协作里的 AI 办公工作台

Paul 这一讲一开场就先打了个预防针:今天讲的是高度浓缩版的内容,MIT 隔壁的 ALP 那门课才是正经讲大模型,这里只是个高空俯瞰。听到一半我反而觉得,这种”俯瞰”才是真正值钱的。他把一个被无数公众号、技术博客、综述论文反复嚼过的题目,用 60 分钟拉出了一根主线,而这根主线和外面的喧嚣并不重合。

外面在喊”下一代架构是什么”、”Transformer 要被取代了吗”、”Mamba/RWKV/线性注意力会不会赢”。Paul 给的答案极其朴素:怎么改架构都差不多,真正的差距在你用同样的算力能塞进去多少数据。这一讲的所有招式,LoRA、MoE、量化、指令微调、偏好对齐,都是为这一句话服务的。

赞助推荐 一人公司 · 创业装备库
赞助推荐 一人公司 · 创业装备库

这是 MIT《How to AI (Almost) Anything》的第 9 讲(原视频),主题是 大型基础模型。

总判断:架构同质化,效率定胜负

Paul 在讲到 MoE(混合专家)和量化那一段时,顺口说了句很关键的话:”人们发现,不管你怎么改架构,只要在足够大的多样数据上训练,模型表现都差不多。所以现在你能看到的最大的提升,几乎全部来自把模型训得更省,这样你才能在同样的算力预算下塞进更多数据。”

把这句话翻译一下:Transformer 这条主线已经基本定型了,decoder-only 一统江湖,encoder-only 退守文本分析小生态,encoder-decoder 几乎绝迹。下一步谁赢谁输,不再看你用了多花哨的结构,而看你用同样一块 H100 能跑出多少 token、能把推理压到几比特、能把训练成本拍到多低。

这个判断对从业者特别重要,因为它直接决定了你该把精力花在哪里。

从 RNN 到 Transformer:为什么 decoder-only 赢了

Paul 把模型架构的演化讲得很干净。

RNN(循环神经网络)的好处是隐状态固定大小,输入再长模型也不变胖。但有两个硬伤:一是必须一个 token 一个 token 地处理,计算时间随长度线性增长;二是越往后,前面的信息越容易被忘掉。你读到这句话的末尾,可能已经记不清开头说了什么。

Transformer 用全局注意力解决了这两件事:任何一个词都可以和任何另一个词直接发生关系,理论上最大交互距离是 1。代价是计算复杂度从 O(n) 变成 O(n²):你有一万个 token,就要做一亿次配对计算,塞一篇 Wikipedia 进去算力立刻爆炸。所以才有了”线性注意力”这一波探索:把长文档切块,块内做注意力,块间用 RNN 风格聚合,合起来是 Transformer 和 RNN 的折中。

架构上分三类,Paul 说得很直接:

  • encoder-only:双向注意力,中间词能同时看前后。代表是 2018 年的 BERT,3.4 亿参数,在当时算大模型,放今天是小不点。它擅长情感分析、文本理解这种”看完整段再判断”的任务。
  • encoder-decoder:Paul 说”我不觉得现在还有什么主流模型在用这个设计”。这一句话基本宣判了 T5 那条路线的终结。
  • decoder-only:只能看过去不能看未来,从 GPT-1 的 1.17 亿参数一路滚到 GPT-3 的 1750 亿,所有今天叫得出名字的大模型都是这一类。

为什么 decoder-only 赢了?Paul 给了两个理由,一个偏哲学一个偏工程。哲学上,语言生成本来就是单向的,你说话的时候并不知道下一个词是什么,decoder 的因果掩码恰好建模了这一点。工程上,不用算”看未来”的注意力,训练和推理都更省算力。在今天这个算力就是命的环境里,后者足以决定胜负。

真正的杠杆是数据规模

为什么大模型这么神?Paul 用一组数字把答案敲在了桌面上。

学术界最大的问答数据集 SQuAD 2.0,大约 5000 万 token。预训练用的 DataComp-LM 数据集,250 万亿 token。整个互联网索引下来,估算 510 万亿。最大的”题库”和真正用来训练的”全网文本”之间,差着 1000 万倍。

把这个数字翻译一下:你过去能给一个模型看的训练数据,只够覆盖一小撮特定任务;现在你能给它看的,几乎是整个互联网上人类说过的话。任务、领域、语种、写法,什么都有。这就是为什么 LLM 看起来”啥都会”:它不是真的懂每一件事,而是这个尺度的数据里,几乎每个你想得到的任务都有人写过类似的句子。

听众里 David 问了一个特别犀利的问题:”3100 万亿总量、510 万亿被搜索引擎索引,为什么剩下的没被索引?”Paul 的回答也老实:搜索引擎只能爬到有其他网页指向的那部分,公司内网、政府内部数据、暗网,这些都不在里面。所以”互联网级训练数据”里其实有相当大一块是估算,真实可用的还是被索引的那一截。这对企业自有数据的价值是个利好:内网知识库是一座几乎没被任何大模型碰过的金矿。

scaling law 在偷偷转向

Paul 提了一个对实际选型很要紧的趋势变化。

2022 年 Chinchilla 那篇论文给出的”标准配方”是 70B 参数配 1.4T token,模型大小和数据量大致 1:20。当时所有人按这个比例算最优配比。

但最近两年风向变了。Llama 3 用了 3B 参数配 15T token,模型只有 Chinchilla 论文那一档的 1/10 大,token 却是 10 倍多。比例从 1:20 飙到了 1:5000。

为什么?因为推理成本。模型一旦上线,每天有上百亿次调用,模型小一倍,推理算力就省一倍,这是天天烧的钱。训练贵一次,推理省一辈子。所以现在的做法是宁可把训练算力多花一点、模型反而做小一点,然后用海量数据把这个小模型撑到极限。

这个转向对应用层选型影响很直接:如果你在挑底座模型,别只看参数量。一个被 15T token 喂饱的 3B,可能比一个只见过 300B token 的 7B 更能打。

从”会说话”到”会回话”:三阶段后训练

预训练完的模型其实不会回答问题。Paul 举了个特别经典的例子:你问 GPT-3 “给一个六岁小孩解释一下登月任务”,它会回你”给一个六岁小孩解释一下万有引力”、”给一个六岁小孩解释一下化学键”,原因很简单:在互联网文本里这一类句子经常成串出现,模型只是在续写它见过的模式。

要让它真正”回答你”,得加两步:

指令微调(instruction tuning)。收集大量”指令-回答”的成对样本,告诉模型遇到指令该输出回答。Super-Natural Instructions 这个数据集有 1600 个任务、300 万样本,翻译、问答、分类、序列标注几乎全覆盖。Paul 顺带提了一句他们组在做的工作:收集了 13 个临床模态、500 多万问答对的多任务指令微调数据,用来训医疗领域的模型。多任务一起训出来的模型,在每个单任务上都比只训那个单任务的模型表现更好,这是模型从”任务”中迁移知识的体现。

偏好微调(preference tuning,RLHF/DPO)。同一个问题模型能给出多个答案,你想要它倾向输出哪一种?训练一个奖励模型,给”好答案”高分、”坏答案”低分,再用这个奖励去优化生成。这就是当年训练 ChatGPT 的三步法:小规模监督微调 → 让模型对同一问题输出多个回答、让人类标注员排序 → 训奖励模型 → 用奖励模型大规模调优。

后来发现绝对打分太噪:同一个回答 A 觉得 8 分、B 觉得 4 分,还有人无脑给高分。现在主流改用相对偏好(让标注员排序),这才是现在的 SOTA。

RLHF 的暗面:奖励错了什么

Paul 没有把 RLHF 包装成银弹,反而花了相当篇幅讲它的两个硬伤,这部分我觉得是整节课最诚实的地方。

人类偏好不可靠。让标注员评一个长回答,他不会真的花半小时读完,大概率扫五秒,只要听着”合理、权威、有条理”就给高分。结果就是模型学会了”产出听起来很对、其实在编”的回答。幻觉(hallucination)的一部分根源就在这里:为了不被打低分,模型宁可瞎编也要把话说圆。

奖励模型自带偏见。Paul 举了一个让人不太舒服的例子:问模型”你从哪里来”,当它回答”美国/加拿大/澳大利亚”时奖励模型给高分,回答”非洲”时给低分甚至惩罚。这不是模型的恶意,是奖励模型从训练数据里继承的偏见,然后被强化学习放大了。

更要命的是一份很近的研究:如果你在训练里禁止模型输出”有害推理过程”,模型会学会把推理藏起来,但行为不变。你管不住它怎么想,只能管住它怎么写。Paul 说这就是”对齐”为什么这么难:既要让模型有用,又要让它如实反映世界,这两件事经常打架。

听众里有人追问:”RLHF 之后,模型在事实准确性上是不是反而退步了?”Paul 没正面给数据,只是说”很难比,因为预训练版本根本不回答你的问题”。这个回答本身就有意思:RLHF 让模型从”不可用”变成”可用”,但”可用”和”可靠”之间还隔着一条没人填上的沟。

让大模型跑起来的三个工程招式

后面 Paul 的节奏明显加快,讲了三个让大模型在普通硬件上能动的关键技术。这部分对真要把模型用起来的人最有价值。

LoRA(低秩适配)。全量微调一个大模型要的显存吓人。LoRA 的思路是冻住原模型,只在旁边训一对小矩阵:先把高维嵌入压缩到低维、再展开回原维度,合起来的参数量很小。微调完把这对小矩阵合回去,等效于微调了整个模型。显存不够时,这几乎是唯一可行的方案。

MoE(混合专家)。每层放多个并行子网络,前向时一个路由层决定每个 token 走哪几个专家。Paul 特意纠正了一个常见误解:这些”专家”并不是按领域分工的,你没法说”这个专家管翻译、那个管分类”,它们在训练后并不可解释。但好处是真切的:DeepSeek R1 总参数 6710 亿,每个 token 实际激活 370 亿。一个 token 流过去,等效算力只占总参数的 5.5%,你用 6710 亿参数的”知识库”,付 370 亿参数的”算力账”。

量化(quantization)。训练通常用 16/32 位,部署时压到 4 位甚至更低。基本步骤:先去离群值、把权重裁到合理区间,再把高比特范围映射到低比特范围,最后做一点校准修补量化误差。注意力激活和最后一层 softmax 不量化,其余权重几乎都能压。开源社区现在的 GGUF 格式就是干这件事的,Hugging Face 上每个流行模型几乎都有量化版本。

Paul 还提了一个更激进的方向:有人把模型权重压到 ±1 和 0 的三值(ternary),相当于每个权重 1.58 比特,效果竟然和原始模型差不多。但目前 GPU 根本没有硬件指令支持这么低的比特宽度,所以这件事卡在硬件,不卡在算法。这是一个典型的”算法等硬件”的故事,过去几十年发生过很多次。

我会怎么用 / 放到机器人上看

我做机器人云服务,这一讲对我最大的提示有三层。

第一,机器人这个场景非常吃后训练。预训练模型懂”客厅”、”地毯”、”扫地”,但它不懂”扫地机器人在客厅碰到一只懒得动的猫该怎么办”。这种”现场知识”在公网文本里几乎不存在,只能靠我们自己的运行日志、客服会话、工程师的故障复盘去补。指令微调和偏好对齐这两步,做的事情其实就是把”模型的通用语言能力”翻译成”我们这个产品该有的行为习惯”。底座模型选哪家差别越来越小,真正决定差异化的是这两层数据从哪儿来。

第二,内网知识库是没被任何大模型吃过的金矿。Paul 那个 510T/3100T 的数字让我直接想到:整个机器人行业的工单系统、SLA 报警、激光雷达点云、玻璃门和地毯交界处的失败日志,这些都不在任何一个公网爬虫的列表里。把内部数据整理干净、做成”指令-回答”对,微调到一个开源底座上,效果可能比直接调用任何外部 API 都好,前提是数据治理跟得上。我们之前用 LoRA 微调一个 7B 模型识别工单类型,显卡是一张消费级 4090,两天就跑出了一个可用版本。对比之前调外部接口被 token 计费按死,这种做法的边际成本几乎为零。

第三,边缘推理离不开量化和 MoE 的组合拳。机器人本体上跑大模型,场景里几乎所有制约都是硬件:车规级算力卡的显存就那么大、功耗就那么高、散热就那么差。要在本体上装一个能听懂人话的模型,4 位量化几乎是必选项;要让它在懂语言的同时还能处理视觉、点云、语音多模态,MoE 这种”用大知识库换小算力”的设计很可能就是下一步。我们已经在评估把推理拆成”云端大模型给策略 + 本体小模型给反应”的两层架构,这一讲讲的那些工程招式,正是这种架构能不能落地的关键。

回到 Paul 的总判断:架构稳了,数据和效率是下一仗的胜负手。对在机器人场景里做 AI 的团队,这意味着把精力从”追新结构”转向”经营自己的数据 + 把工程做透”。前者是别人的论文,后者是你的护城河。

本系列

MIT《How to AI (Almost) Anything》共 12 讲,这是我的逐讲解读:

  1. 这门 MIT 课不教模型,教你怎么”想” AI
  2. 怎么做 AI 研究:读论文、找想法、快速验证
  3. 数据、结构与信息
  4. 实用 AI 工具
  5. 常见模型架构
  6. 多模态对齐
  7. 多模态融合
  8. 跨模态迁移
  9. 大型基础模型 (本篇)
  10. 大型多模态模型
  11. 强化学习与交互
  12. 人机交互
赞助推荐 一键部署 AI 大模型
赞助推荐 一键部署 AI 大模型
赞(0)
未经允许不得转载:80aj » 大模型的胜负手已经不在结构,而在效率
赞助推荐 低成本上手 Claude Code 的中转选择
赞助推荐 低成本上手 Claude Code 的中转选择
赞助推荐 一键部署 AI 大模型
赞助推荐 一键部署 AI 大模型