微信扫码
与创始人交个朋友
我要投稿
3blue1brown
编者按:本文是3Blue1Brown讲解Transformer技术工作原理的动画演示章节内容Word embeddings词嵌入向量。
Lesson by Grant Sanderson
(小编跟踪整理,供参考学习)
We
模型拥有一个预设的词汇库,包含所有可能的单词,比如说有50,000 个。将首先遇到的一个矩阵叫做嵌入矩阵,它为每个单词都分配了一个独立的列。这些列定义了第一步中每个单词转换成的向量将其称为We,就像看到的所有其他矩阵一样,它的初始值是随机的,但基于数据进行学习和调整。
在Transformers出现之前,机器学习中就已经普遍采用了将单词转换为向量的做法,虽然这对于初次接触的人来说可能有些奇怪,但它为接下来的一切建立了基础,因此需要花一些时间来熟悉它。通常称这种转换为词嵌入,这种表述让你可以从几何的角度去理解这些向量,把它们想象成高维空间中的点。
模型权重
将三个数字看作是三维空间中的坐标点很简单,但词向量的维度远远超出这个范畴。在GPT-3 中的维度高达12,288,如你所见,选择一个有很多不同方向的空间进行工作是很重要的。就像你可以在三维空间中选择一个二维切片,并将所有点投影到这个切片上一样,为了让简单模型输出的词向量能够被动态展示,我采取了相似的方法,选择了一个高维空间中的三维"切片",并将词向量映射到这个切片上来展示它们。
这里的关键思想是,模型在训练过程中调整和微调权重,以确定词具体如何被嵌入为向量,它会倾向于找到一组嵌入,使得这个空间中的方向含有特定的语义意义。对于我目前运行的这个简单的词向量模型来说,如果进行搜索,找到所有与"塔"最相似的词向量,你会发现这些词都有着类似的"塔"感。如果你想在家里用Python 试一试,这就是我用来制作动画的模型。虽然它不是一个Transformer模型,但足以说明一个观点:空间中的方向能够传达特定的语义。
向量
经典例子
一个经典的例子是,如果你计算"女人"和"男人"向量之间的差值,你会发现这个差异可以被可视化为空间中的一个小向量,连接一个词的尖端和另一个词的尖端,这个差异与"国王"和"女王"之间的差值非常相似。所以假设你不知道表示"女性君主"的词,你可以通过向"国王"向量添加"女人减男人"的方向,并搜索最接近这个点的词向量来找到它。至少在理论上是这样。
虽然这是我正在使用的模型的一个经典例子,但实际上,真正的"女王"嵌入实际上比这种方法预想的要远一些,这可能是因为在训练数据中,"女王"并不仅仅是"国王"的女性版本。深入挖掘时,我发现通过家族关系来解释这一现象似乎更为恰当。关键在于,在训练过程中,模型发现采用这样的嵌入方式更为有利,即这个空间中的一个方向能够编码性别信息。
另一个例子是,如果你从"意大利"的向量表示中减去"德国"的向量表示,再加上"希特勒"的向量表示,结果非常接近于"墨索里尼"的向量表示。这就好像模型学会了将某些方向与"意大利"特性相关联,而将其他方向与二战轴心国的领导人相关联。
个人最喜欢的一个例子是,在某些模型中,如果你计算"德国"和"日本"的向量差值,然后加上"寿司"的向量,你得到的结果会非常接近"德国香肠"。此外,在寻找最近邻居的过程中,我还惊喜地发现"猫"离"野兽"和"怪物"都很近。
数学计算---点积
有一个有用的数学概念,尤其对于接下来的章节非常重要,那就是两个向量的点积可以被视为一种衡量它们是否对齐的方法。从计算角度看点积涉及到逐一乘以对应元素,然后进行求和,这很好,因为很多计算看起来就像是权重求和。从几何角度来看,当两个向量指向相似方向时,点积为正;如果它们垂直,点积为零;当它们指向相反方向时,点积为负。
例如,假设你在测试这个模型,从"cats"(复数)的向量表示中减去"cat"(单数)的向量表示可能会在这个空间中找到表示复数概念的方向。为了验证这个观点,我将计算某个向量与一些特定的单数名词嵌入的点积,并将其与相应的复数名词的点积进行比较。如果你试一试,你会发现复数名词的点积值通常比单数的更高,这表明它们在某种方向上的对齐更为紧密。更有趣的是,如果你将这个点积操作应用到"一"、"二"、"三"等词汇的嵌入上,会发现得到的数值是逐渐增加的,就像能够量化地衡量模型认为一个词的"复数程度"。
GPT-3
GPT-3
再次说明,单词的嵌入方式是通过数据学习得到的。这种嵌入矩阵揭示了每个词汇的变化过程,它是模型中的第一批权重,根据GPT-3的数据,其词汇量具体为50,257,但要注意实际上它指的不是单词本身,而是Tokens。嵌入的维度是12,288,将这两者相乘得到大约有6.17亿个权重。将这个数字加入到累计计数中,最后应该得到1750亿个权重。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-08-21
2024-04-11
2024-07-09
2024-08-13
2024-07-18
2024-10-25
2024-07-01
2024-06-17