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

正文

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

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

对于Encoder侧:

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

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

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

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

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

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

系列总结

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

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

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

相关推荐
Sherry0072 小时前
CSS Grid 交互式指南(译)(下)
css·面试
一只毛驴2 小时前
浏览器中的事件冒泡,事件捕获,事件委托
前端·面试
一只叫煤球的猫2 小时前
你真的处理好 null 了吗?——11种常见但容易被忽视的空值处理方式
java·后端·面试
KarrySmile2 小时前
Day04–链表–24. 两两交换链表中的节点,19. 删除链表的倒数第 N 个结点,面试题 02.07. 链表相交,142. 环形链表 II
算法·链表·面试·双指针法·虚拟头结点·环形链表
一只毛驴3 小时前
谈谈浏览器的DOM事件-从0级到2级
前端·面试
在未来等你4 小时前
RabbitMQ面试精讲 Day 5:Virtual Host与权限控制
中间件·面试·消息队列·rabbitmq
天天摸鱼的java工程师5 小时前
🔧 MySQL 索引的设计原则有哪些?【原理 + 业务场景实战】
java·后端·面试
Enddme5 小时前
《面试必问!JavaScript 中this 全方位避坑指南 (含高频题解析)》
前端·javascript·面试
橘子郡1236 小时前
深入解析Android Binder机制:从原理到实践
面试
CLO_se_7 小时前
嵌入式软件面试八股文
linux·面试