手把手漫画数学公式推导Transform教程
纽约的 Transformer(由PhotoFunia 创建) 第一步 - 定义数据集 ChatGPT的训练数据集有570GB庞杂无比。但我们今天只为了讲明白原理,所以自己定义一个小得不能再小的数据集,手把手地把每个数值算出来。 我们的整个数据集仅包含三个句子 这三句话都来自电视剧的台词。现实世界里
纽约的 Transformer(由PhotoFunia 创建)
第一步 - 定义数据集
ChatGPT的训练数据集有570GB庞杂无比。但我们今天只为了讲明白原理,所以自己定义一个小得不能再小的数据集,手把手地把每个数值算出来。
我们的整个数据集仅包含三个句子
这三句话都来自电视剧的台词。现实世界里清理一个570GB的数据集确实是个大工程,但我们这个小例子已经清理得干干净净了。
第二步——计算词汇量
词汇量就是数据集中不重复的单词总数。我们可以用下面这个公式来表示,其中独特单词的总数记作N。
词汇量公式,其中 N 为总词数
要找到N,得先把数据集拆成一个个单词。这里用到一点集合的概念。
计算变量 N
拿到N之后,做一下集合运算,把重复的去掉,就能算出词汇量的大小了。
查找词汇量大小
算下来,词汇量是23,因为我们的数据集里一共有23个不重复的单词。
步骤 3 — Encoding 编码
接下来,给每个单词分配一个独一无二的数字编号。
为每个单词Encoding 编码
在我们的例子里,把每个单词当成一个Token,而ChatGPT会用“1个Token = 0.75个单词”这个公式来计算。
编码完成后,就可以挑一个句子作为输入,正式开始走Transformer的流程了。
步骤 4 — 计算嵌入Embedding
从语料库里选一个句子,作为我们Transformer的输入。
输入选好了,需要为它找到一个嵌入向量。原始论文里,每个输入词用的都是512维的嵌入向量。
原始论文使用 512 维向量
在咱们的例子中,为了能直观地看到计算过程,得把维度缩小。我们就用6维的嵌入向量。这个6怎么来的?更多是经验,不过也有前辈给出了一个公式:n > 8.33logN
大小 6 其实是靠经验得来的。不过也有大拿给出了一个公式:
n > 8.33logN
这些嵌入向量的值在0到1之间,我们先随机填一个矩阵。随着模型开始学习单词之间的含义,这些值会通过计算不断更新。
步骤 5 — 计算位置嵌入Positional Embedding
现在还要计算输入句子的位置嵌入。根据嵌入向量中第i个值,有两种计算位置嵌入的公式:
我们的输入句子是“when you play the game of thrones”,起始词“when”的位置索引(POS)为0,维度(d)为6。对于i从0到5,我们计算第一个词的位置嵌入:
位置嵌入:单词:when
用同样的方法,可以为输入句子里的所有单词都算出位置嵌入。

计算输入的位置嵌入(计算出的值已四舍五入)
步骤 6 — 连接位置和词嵌入Concatenating Positional and Word Embeddings
位置嵌入计算完后,需要把词嵌入和位置嵌入加起来。

连接步骤
这个由词嵌入矩阵和位置嵌入矩阵相加得到的结果矩阵,就是编码器部分的输入。
步骤 7 — 多头注意力Multi Head Attention
多头注意力是由多个单头注意力组成的。具体用多少个,可以自己决定。比如,Meta的LLaMA大模型在编码器架构里用了32个单头注意力。
单头注意力机制的核心是三个输入:查询Query、键Key和值Value。这些矩阵是通过将上一步得到的矩阵(词嵌入+位置嵌入),分别乘以不同的权重矩阵得到的。
为了计算查询矩阵,权重矩阵的行数必须和转置矩阵的列数相同,而列数可以任意指定。比如,我们假设权重矩阵有4列。
权重矩阵里的值也都是些0到1之间的随机数,模型开始学习后,这些值才会被更新。
计算查询矩阵Query
同样,可以计算键和值矩阵,但权重矩阵里的值必须不同。
计算键Key和值Value矩阵
矩阵相乘后,我们得到了查询、键、值矩阵。现在,一步一步地算一下单头注意力。
查询与键的矩阵乘法
为了缩放结果矩阵,要用到嵌入向量的维度,也就是6。
缩放结果矩阵,维度为5
下一步的掩码是可选的,我们这里先不计算。掩码的作用是告诉模型只能关注某个点之前发生的事情,在确定单词重要性时不能窥视未来,这是一种防止模型作弊的方法。
现在,对缩放后的矩阵应用softmax操作。
应用 softmax 到结果矩阵
最后一步矩阵乘法,得到单头注意力的结果矩阵。
单头注意力算完了,多头注意力就是由多个这样的单头注意力组成的。每个单头注意力都有自己的查询、键、值权重集。所有单头注意力输出结果后,它们会被拼接起来,再乘以一组随机初始化的权重矩阵做线性变换。
在我们这个单头注意力的例子里,结果矩阵也需要通过乘以一组权重矩阵做线性变换。
标准化单头注意力矩阵
确保线性权重矩阵的列数要等于之前计算的(词嵌入+位置嵌入)矩阵的列数,因为下一步要把标准化后的矩阵和它加起来。
输出多头注意力矩阵
步骤 8 — 添加和归一化
拿到多头注意力的结果矩阵后,要把它和原始矩阵(词嵌入+位置嵌入)相加。
添加矩阵以执行加法和范数步骤
为了归一化,需要计算每行的均值和标准差。用矩阵中的每个值,减去该行的平均值,再除以标准差。为了防止分母为零导致结果无穷大,可以加一个小误差值。
标准化结果矩阵
步骤 9 — 前馈网络
归一化后的矩阵会通过一个前馈网络。我们用一个很基础的网络,只包含一个线性层和一个ReLU激活函数。
前馈网络比较
首先,通过将上一步算出的矩阵乘以一组随机权重矩阵,再加上偏置矩阵,计算出线性层。
计算线性层
然后,通过ReLU层,把结果矩阵里所有负数变为0。

计算 ReLU 层
第 10 步 — 再次添加和归一化
从前馈网络得到结果后,再把它和“添加和归一化”里得到的矩阵相加,并用行均值和标准差再做一次归一化。
添加和归一化在前馈网络之后
这个输出矩阵,将作为解码器部分的多头注意力机制的查询和键矩阵。
步骤 11 — 解码器部分
至此,编码器部分计算完毕。好消息是,解码器里很多步骤跟编码器是重复的,我们不必再算一遍,只需要关注它的输入和输出。
在训练时,解码器有两个输入。一个来自编码器,编码器最后的加和归一化输出,作为解码器第二个多头注意力层的查询和键。另一个输入是预测的文本。我们输入编码器的是“when you play the game of thrones”,那么解码器的输入就是预测的文本“you win or you die”。
不过,预测的输入文本需要加上包装标记,让模型知道从哪里开始、在哪里结束。
输入:编码器与解码器的比较
这里引入了和两个新标记。解码器每次只接受一个标记作为输入。也就是说,是输入,预测结果应该是you。
解码器输入单词
这些嵌入值一开始也是随机的,会在训练过程中更新。然后,用和编码器相同的方法计算剩下的模块。
步骤 12 — 理解掩码多头注意力
掩码多头注意力就像一个聚光灯,模型用来关注句子的不同部分。它的特别之处在于,它不让模型通过看句子后面的单词来作弊,这有助于模型逐步理解和生成句子。
假设有一个输入矩阵,每一行代表一个位置,每一列代表一个特征。
输入矩阵,用于掩码多头注意力
计算时,先为每个头做线性投影(查询、键、值),然后用点积算注意力分数,并应用掩码防止关注未来位置。之后是softmax和加权求和。最后,把两个头的输出拼起来,再做一次线性变换。
步骤 13 — 计算预测单词
解码器最后的加和归一化结果矩阵需要展平,然后通过一个线性层,算出数据集中每个单词的得分。最后用softmax归一化,找出概率最高的那个单词。
将最后一个加和范数块矩阵展平
计算对数几率
寻找预测的词
根据我们的计算,解码器预测的单词是you。这个预测结果会作为解码器下一步的输入,一直循环,直到预测出标记为止。
解码器的最终输出
重要要点
- 这个例子非常简化,没有涉及epoch等需要用编程语言才能直观展示的参数。
- 它只展示了训练过程,无法用这种方法看到评估或测试环节。
- 掩码多头注意力可以防止模型窥视未来,有助于避免过拟合。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:手把手漫画数学公式推导Transform教程要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点A股市场今日早盘三大指数集体下跌,沪指、深成指、创业板指跌幅均超1%。盘面呈现显著分化,油气开采及服务、工程机械等周期板块逆势走强,而半导体、CPO、贵金属等板块则大幅回调。市场整体成交额较前一日缩量,个股跌多涨少。减速器板块在盘中有所表现。当前市场调整压力显现,资金在板块间进行切换,投资者需关注结
零跑D99作为一款中大型MPV,因配置对标高端车型且被冠以“半价理想MEGA”之称,其定价策略引发市场关注。该车配备21 4英寸3K屏、车载冰箱及50万内首款双124°零重力座椅等豪华配置。竞品分析显示,其核心对手60%为同级MPV,首要竞品竟是同门D19。若定价25万起,将直面小鹏X9、腾势D9等
三星即将发布的GalaxyZFlip8小折叠手机计划在韩国和欧洲市场版本中采用自研的Exynos2600芯片。此举标志着三星在该系列产品上持续从依赖高通转向自家芯片方案。决策背后主要受到内存芯片价格上涨带来的成本压力驱动,使用自研芯片有助于控制制造成本。行业分析指出,由于小折叠手机用户更注重设
零跑C10、C11、C16新款盲订已开启,支付1000元订金可获10000积分,6月16日上市。三车外观内饰及配置升级:C10车长增加10毫米,C16提供6座 5座布局,C11配备20英寸轮圈与绿色四活塞卡钳。
- 日榜
- 周榜
- 月榜
热点快看
