CUDA学习之路[13]:Attention算子详解

733 字
4 分钟
CUDA学习之路[13]:Attention算子详解

写在前边#

市面上讲解Transformer架构的博客、视频、书籍实在是太多了,我不敢保证自己真的能够讲的比这些大牛都优秀,只能说尽量把我对于Transformer的全部理解都写在这一个系列博客中。

为什么是Transformer?#

很多人现在一谈起大模型、多模态等等就自然而然想到了Transformer,但是它最开始真的不是干这个的,从最开始处理NLP,一步一步到后边的大模型,其实中间还有很长一段路要走。

很多教程一上来就开始学技术,位置编码、自注意力、一堆词怼上来直接把人砸晕了。 但是技术本身的发展脉络是阶段性的,我们先了解一下整个Transformer的发展脉络,搞清楚每一个模块都是用来干嘛的。

这一讲完全讲历史,大家也就听一乐,后续几节我再实现具体的代码。

假设,我们现在要把下边这句话翻译成为中文:

The cat that was adopted last year and has been lazy ever since finally yawned.

句子很长,我们只需要看主谓宾:

The cat yawned.

这句话的翻译难点是什么?主语cat和真正的主句谓语yawned之间插入了一段很长的定语从句,这也是我们很多考研、考四六级同学面对长难句时候的困难——难以找到主谓宾。

在Transformer之前,处理自然语言的主流是RNN循环神经网络和LSTM长短期记忆网络。

我当年打美赛,关于股票黄金预测,用的是LSTM神经网络,现在来看,写的真的是很差劲啊【悲】

对于RNN来说,处理句子就像玩传水优秀。它从The开始,把一部分水传给cat,再传给that…一直传到yawned。等传到最后句尾时,句首的信息已经在多次传递中严重衰减(梯度消失)。导致它根本想不起来主语是谁。

RNN传水游戏
RNN传水游戏

为了解决这个问题,LSTM引入了门控机制和细胞状态。通俗来说就是给原本的信息加上了便签,关键的词就进行标记。但是这样子做也有几个问题。首先是,用来标记的“笔记本”是容量有限的,句子太长就溢出了;并且它必须从前到后逐字阅读,很难进行并行计算,训练速度极慢。

直到1027年,Google团队发表了那篇改变历史的论文:《Attention is All you Need》

这个论文题目绝对能进历史前十

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
CUDA学习之路[13]:Attention算子详解
https://dlog.com.cn/posts/cuda13/attention/
作者
杜子源
发布于
2026-06-25
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
杜子源
都是风景,幸会
公告
请狠狠地打赏我,打赏一次,爆更一篇!!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
29
分类
8
标签
11
总字数
81,272
运行时长
0
最后活动
0 天前

目录