RNN 和 Transformer 复杂度比较

这里假设BatchSize为 1,就是单样本的情况。

原始 RNN 块:

(1)单步计算 H,包含两个矩阵向量乘法,和一个激活,复杂度HidSize²

(2)一共有SeqLen步,所以整体复杂度SeqLen * HidSize²

LSTM 块:

(1)单步计算 F I C_hat O,包含八个矩阵向量乘法,和四个激活:HidSize²

(2)单步计算 C,包含两个逐元素乘法,和一个加法;HidSize²

(3)单步计算 H,包含一个逐元素乘法和一个激活;HidSize²

(4)一共有SeqLen步,所以整体复杂度SeqLen * HidSize²

TF 块:

(1)计算 QKV,包含三个矩阵乘法,SeqLen * HidSize²

(2)计算注意力矩阵,包含 HeadCount 个 矩阵乘法,HeadCount * HeadSize * SeqLen²

由于HidSize = HeadCount * HeadSize,实际上是HidSize * SeqLen²

(3)Softmax 激活,HeadCount * SeqLen² << HidSize * SeqLen²

(4)计算 O,包含HeadCount个矩阵乘法,HeadCount * HeadSize * SeqLen² = HidSize * SeqLen²

(5)计算输出向量,包含一个矩阵乘法SeqLen * HidSize²

(6)FFN ,两个矩阵乘法,SeqLen * HidSize²

(6)整体复杂度,SeqLen * HidSize² + HidSize * SeqLen²

HidSize是每层之间传输的嵌入向量的维度,大概几百维。

聊天的时候SeqLen大概几十到一百,明显低于HidSize,这个时候二者是差不多的。

长文本翻译的时候SeqLen是几千,那么 RNN 明显比 Transformer 快。

等于说,Transformer 的高复杂度缺点被并行掩盖了。在单机单卡这种不能并行的环境,效率远不如 RNN。这就是很多人一定要搞线性注意力的原因。

相关推荐
2601_949593653 分钟前
CANN加速人脸检测推理:多尺度特征金字塔与锚框优化
人工智能
小刘的大模型笔记5 分钟前
大模型LoRA微调全实战:普通电脑落地,附避坑手册
人工智能·电脑
乾元5 分钟前
身份与访问:行为生物识别(按键习惯、移动轨迹)的 AI 建模
运维·网络·人工智能·深度学习·安全·自动化·安全架构
happyprince5 分钟前
2026年02月07日全球AI前沿动态
人工智能
啊阿狸不会拉杆5 分钟前
《机器学习导论》第 7 章-聚类
数据结构·人工智能·python·算法·机器学习·数据挖掘·聚类
Java后端的Ai之路6 分钟前
【AI大模型开发】-AI 大模型原理深度解析与 API 实战(建议收藏!!!)
人工智能·ai·科普·ai大模型·llm大模型
禁默6 分钟前
从图像预处理到目标检测:Ops-CV 助力 CV 任务在昇腾 NPU 上高效运行
人工智能·目标检测·目标跟踪·cann
pp起床9 分钟前
Gen_AI 第四课 模型评估
人工智能
zhangshuang-peta11 分钟前
人工智能代理团队在软件开发中的协同机制
人工智能·ai agent·mcp·peta
love you joyfully11 分钟前
告别“人多力量大”误区:看AI团队如何通过奖励设计实现协作韧性
人工智能·深度学习·神经网络·多智能体