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

正文

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

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

对于Encoder侧:

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

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

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

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

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

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

系列总结

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

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

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

相关推荐
心平愈三千疾1 小时前
通俗理解JVM细节-面试篇
java·jvm·数据库·面试
漂流瓶jz2 小时前
清除浮动/避开margin折叠:前端CSS中BFC的特点与限制
前端·css·面试
我不吃饼干9 天前
鸽了六年的某大厂面试题:你会手写一个模板引擎吗?
前端·javascript·面试
我不吃饼干9 天前
鸽了六年的某大厂面试题:手写 Vue 模板编译(解析篇)
前端·javascript·面试
LyaJpunov9 天前
深入理解 C++ volatile 与 atomic:五大用法解析 + 六大高频考点
c++·面试·volatile·atomic
前端fighter9 天前
为什么需要dependencies 与 devDependencies
前端·javascript·面试
前端fighter9 天前
Vuex 与 Pinia:全面解析现代 Vue 状态管理的进化之路
前端·vue.js·面试
亲爱的非洲野猪9 天前
一次性理解Java垃圾回收--简单直接方便面试时使用
java·jvm·面试
zeroporn9 天前
以玄幻小说方式打开深度学习词嵌入算法!! 使用Skip-gram来完成 Word2Vec 词嵌入(Embedding)
人工智能·深度学习·算法·自然语言处理·embedding·word2vec·skip-gram
Zhijun.li@Studio9 天前
【LLaMA-Factory 实战系列】二、WebUI 篇 - Qwen2.5-VL 多模态模型 LoRA 微调保姆级教程
人工智能·自然语言处理·llama·多模态大模型