LoRA、MoE、FlashAttention:三种“更高效”其实在解决不同问题
原载:荒岛书生 · 原文 · 作者:荒岛书生 · 原始发布日期:2026-09-09。 迁移核对:2026-11-07,依据当前公开正文;保留原文资料截止日期、作者观点与核验说明,不将历史资料视作今日消息。
“省资源”需要先说明省在哪里
同样写着更高效,一项技术可能减少微调时的可训练参数,一项减少每个 token 经过的网络计算,另一项改变 GPU 内部的数据搬运。把它们都当成模型变小,会产生错误预期。
LoRA、稀疏 MoE 与 FlashAttention 分别提供了三个观察角度:需要更新多少参数,每次使用哪些参数,计算时怎样存取中间结果。本文将研究结论与工程推论分开,避免把某个论文实验的加速数字直接移植到不同设备上。
LoRA:缩小需要学习的变化
LoRA 冻结原始权重,用低秩矩阵表达适配时的更新。直观上,团队不必为每个任务再保存一份完整的可训练模型,可以管理较小的适配部分。LoRA。
但基础模型仍然存在。小适配文件不意味着整个推理服务同样小,也不意味着微调可以忽略数据质量。若任务目标是回答昨天更新的政策,首先要考虑知识接入;若目标是稳定遵守一种输出习惯,适配训练才可能更直接。
这一区分有助于减少无效训练:在证据来源错误时训练格式,并不能补上知识;在输出行为不稳定时无限增加检索文档,也可能无济于事。
MoE:每次只用部分专家
Mixtral 所描述的稀疏专家结构,在相关层通过路由选择部分专家处理当前 token。这把网络的总容量与单次实际计算区分开。Mixtral。
“专家”是神经网络模块,不是预先分配的人类职业。某个 token 用哪些专家,由训练形成的路由决定。稀疏计算可以改善容量与算量的关系,但部署还需要存储权重、调度负载和处理通信。
因此,比较两款模型时最好同时看总参数、活跃参数与实测运行环境。若只报活跃参数,容易低估硬件要求;若只报总参数,又可能高估每个 token 的计算。最终仍要在目标负载上测延迟和吞吐。
FlashAttention:减少不必要的数据搬运
FlashAttention 将 GPU 不同存储层之间的读写纳入算法设计,用分块等方式组织精确注意力计算。它的重要性在于,数学上算得少,不总等于墙上时钟走得快;数据搬运也可能是瓶颈。FlashAttention。
精确注意力优化不等于自动把标准密集注意力的所有成对计算改成线性复杂度。它减少某些存储与访存开销,实际收益依赖序列长度、硬件和实现。脱离这些条件说“所有请求快若干倍”,没有可比较的意义。
三者为何能同时出现
它们作用于不同层面,所以一个系统可能组合多项方法。不过组合效果并不是把宣传数字相乘。某个瓶颈被缓解后,另一个瓶颈可能成为主导。例如算子更快之后,网络传输或排队等待可能占据更大比例。
| 方法 | 主要改变 | 不能直接推出 |
|---|---|---|
| LoRA | 适配时需要训练的参数 | 基础模型不再需要加载 |
| 稀疏 MoE | 每个 token 使用的专家 | 总存储与通信同比下降 |
| FlashAttention | 注意力的存储与计算组织 | 全流程延迟固定倍数降低 |
如何建立自己的比较口径
先固定任务集、输入长度分布、输出长度与并发,再记录首个结果等待时间、完整任务耗时和成功率。批量作业可以更重视吞吐,面对人类的交互产品则往往需要控制等待。
还应分开训练、加载、预填充和生成阶段。若只测模型已经加载后的短请求,无法说明冷启动体验;若只测长文预填充,也无法说明逐 token 生成速度。
本站认为,效率研究的价值是把资源用在对任务有帮助的地方。判断一次优化是否成立,最好能明确说出省了哪种资源、在什么条件下省、有没有牺牲结果质量,而不只剩下一个醒目的百分比。
资料来源
资料核验:2026-09-09。本文为基于公开资料的原创整理。