花 5 分钟从另一个视角来学习注意力机制

部署运行你感兴趣的模型镜像

由于工作关系,最近一直在对大模型中的注意力机制进行优化。相信你肯定知道优化的目的:那就是让大模型推理得更快,用起来更加丝滑和流畅。

在优化注意力机制的过程中,免不了要看一些论文,发现许多优秀的文章对于注意力机制的解释十分透彻。

很多人听说注意力机制可能是从谷歌的《Attention is all you need》这篇文章开始。

这个论文的题目很有意思,它抛弃了传统的为论文取标题的方式,而是直接用了一个直白到不能再直白的题目。

就是要想告诉你:如果做AI模型,你只需要注意力就够了。

这篇论文中,作者摒弃了传统的RNN等循环结构,取而代之的是一种完全基于注意力的 Transformer架构。

这篇论文可以说以一己之力,开创了人工智能的大模型时代。从这篇论文开始,Bert模型、GPT模型逐渐走上了AI的历史舞台——大模型时代到来了。

接下来,我会结合最近看的一些论文中的观点,以一个简单的矩阵乘法为例,来揭示一下什么是注意力。

1.来调个酒吧

这里用我在很多场合举过的一个例子:鸡尾酒调酒师来说明。

假设你是一个鸡尾酒调酒师,在你家的酒柜里储存了很多鸡尾酒的原料,有金酒、利口酒、柠檬汁和可乐等等。

今天你的家里来了 3 位客人,他们分别喜欢喝“自由古巴”、“长岛冰茶”以及“龙舌兰日出”这 3 款鸡尾酒,并向你下了单,希望你可以为他们调配出各自喜欢的鸡尾酒。

巧的是,这 3 款鸡尾酒的原料都是金酒、利口酒、柠檬汁和可乐。

你作为一个调酒师,分分钟就把客人的爱好的鸡尾酒给调出来了。

你是怎么调配的呢?你知道鸡尾酒的配方,你是按照下面的配方来调配的:

自由古巴: 20%金酒 + 45% 利口酒 + 10%柠檬汁 + 25%可乐

长岛冰茶: 60%金酒+ 30%利口酒 + 5% 柠檬汁 + 5% 可乐

龙舌兰日出:30%金酒 + 10%利口酒 + 30%柠檬汁 + 30%可乐

这里的利口酒和可乐,就是输入资源,配比(比如可乐的 25% )就是赋予该资源的权重。

你将相同的原料按照不同的配比混合起来,就得到了不同口味的鸡尾酒。

这种调制鸡尾酒的做法,如果抽象成一个公式,可以表达如下:

自由古巴 = 0.2 x 金酒 + 0.45 x 利口酒 + 0.1 x 柠檬汁 + 0.25 x 可乐

长岛冰茶 = 0.6 x 金酒 + 0.3 x 利口酒 + 0.05 x 柠檬汁 + 0.05 x 可乐

龙舌兰日出 = 0.3 x 金酒 + 0.1 x 利口酒 + 0.3 x 柠檬汁 + 0.3 x 可乐

上面这种连乘的操作,你可能会立刻想到可以用矩阵乘法来表示。

图片

上图中,左矩阵是一行四列,代表四种调制鸡尾酒的原料;右矩阵是四行三列,每一列代表调配不同的鸡尾酒时需要的原料配比。

按照矩阵乘法的规则,他们的输出结果是一行三列的矩阵,分别代表调配出来的三种鸡尾酒。

看到这是不是有点熟悉了。

通过矩阵乘法的运算,可以对输入资源施加不同的权重配比,从而创造出新的口味的鸡尾酒。

那这和注意力有什么关系呢?

在没有注意力机制的情况下,可以认为调制鸡尾酒对于每种原料都是同等对待的。

你可以将四种原料按照1:1:1:1的配比进行调配,得到一种口味的鸡尾酒。

但是引入注意力之后,就会发生微妙的变化。

此时你再去调制某一款鸡尾酒,你对四种原料使用的配比就不同了。这个配比,就是你对输入原料施加的注意力权重。

还是上面的例子,你在调制长岛冰茶时,你需要用60%的金酒作为原料。

此时,如果将长岛冰茶比作一个人的话,他可能会指着金酒说:我注意到你了。

却不会指着柠檬汁和可乐说我注意到你了,这是因为柠檬汁和可乐在金酒中的占比非常少。

也就是说,当矩阵乘法中其中一个矩阵中的数值是权重时,那么就可以认为这个权重是对另一矩阵施加的注意力分数。

高注意力分数对应位置的输入,在最终输出中便会占据更加重要的位置。

这在自然语言处理中非常重要。

比如,当你用大模型翻译“Tom chase Jerry”这句话到中文“汤姆在追杰瑞”的过程中。

模型翻译到“杰瑞”这个单词时,肯定会更多的注意到“Jerry”这个词,而会很少注意到“Tom” 和 "chase",从而使得最终的翻译结果更加精确。

这便是注意力机制在翻译中发挥的作用。

一样的,在图片处理、视频生成等 AI 应用中,也都少不了注意力机制的身影。

关于注意力机制的更多细节,会在《Transformer通关秘籍》中进行更新,欢迎你来订阅这个秘籍。


🍊 专栏:计算机视觉入门与调优

🍊 专栏:Transformer 通关秘籍

🍓 计算机视觉入门1对1全程

🍓 从零手写大模型1对1全程

如果你想学习 AI ,欢迎来添加我的微信 (vx: ddcsggcs),会有很多好玩的AI技术分享,可以咨询、也可以围观朋友圈呀~

您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董董灿是个攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值