2025秋招NLP算法面试真题(十一)-Transformer的并行化

正文

本文主要谈一下关于 Transformer的并行化。文章比较短,适合大家碎片化阅读。

Decoder不用多说,没有并行,只能一个一个的解码,很类似于RNN,这个时刻的输入依赖于上一个时刻的输出。

对于Encoder侧:

首先,6个大的模块之间是串行的,一个模块计算的结果做为下一个模块的输入,互相之前有依赖关系。

从每个模块的角度来说,注意力层和前馈神经层这两个子模块单独来看都是可以并行的,不同单词之间是没有依赖关系的。

当然对于注意力层在做attention的时候会依赖别的时刻的输入,不过这个只需要在计算之前就可以提供。

然后注意力层和前馈神经层之间是串行,必须先完成注意力层计算再做前馈神经层。

有点绕,不知道有没有讲清楚。

简单讲,就是6个encoder之间是串行,每个encoder中的两个子模块之间是串行,子模块自身是可以并行的。

系列总结

整个Transformer这一块基本就是讲完了,基本上可以解决之前那个关于transformer面试题百分之八十的题目。

至于剩下的题目会放在之后别的模块去讲,比如 wordpiece model 会在总结机器翻译知识点的时候写一下,然后 GPT 会在总结词向量知识点的时候写一下。

写这个系列过程中,很多朋友也有私信我一些问题,交流过程中,对我自己帮助也很大,能回答的问题我都尽力回答了,也感谢大家的关注。平时工作挺忙的,尽量输出干货,也欢迎大家和我交流问题。

相关推荐
用户938515635075 小时前
TypeScript 高级类型 + CSS 三列布局:从类型体操到样式工程的进阶之路
css·面试·typescript
Scabbards_7 小时前
面试Leetcode - Heap 堆
java·leetcode·面试
黄敬峰8 小时前
🐳 Docker 从入门到实战:一次搞定容器化 + Nginx 反向代理
面试
程序员清风8 小时前
专业再升级!程序员专属显示器明基RD280UG上手实测!
java·后端·面试
six_9 小时前
C# 上位机(持续更新中)
前端·面试·c#
码匠许师傅10 小时前
【C++ 面试真题】聊聊 C++ 的序列容器
java·c++·面试
Lee_jerome12 小时前
python神经网络编程入门(三十八)——从零实现 Transformer 前向传播
transformer·位置编码·前向传播·自注意力·交叉注意力·多头注意力·layernorm
东华万里12 小时前
第40篇C++核心基础与工程实践:从底层逻辑到避坑指南
开发语言·c++·面试·大学生专区
慧都小妮子12 小时前
C# 实现AI合同审查:从读取、风险标注到批量签发
ai·自然语言处理·c#·.net·办公自动化·ai合同审查·文档ai代理
wangjialelele14 小时前
动态规划DP经典题型总结(Java、C++):路径、子数组、子序列、背包问题详解
java·c++·算法·面试·动态规划·代理模式