布朗大学的研究人员发现 , 第20个前馈层通过添加一个将国家向量映射到其对应首都的向量 , 从而将波兰转换为华沙 。将相同的向量添加到中国时 , 答案会得到北京 。
同一模型中的前馈层使用向量运算将小写单词转换为大写单词 , 并将现在时的单词转换为过去时的等效词 。
注意力层和前馈层有不同的功能
到目前为止 , 我们已经看到了GPT-2单词预测的两个实际示例:注意力头帮助预测约翰给玛丽一杯饮料;前馈层帮助预测华沙是波兰的首都 。
在第一个案例中 , 玛丽来自用户提供的提示 。但在第二个案例中 , 华沙并没有出现在提示中 。相反 , GPT-2必须“记住”华沙是波兰的首都 , 这个信息是从训练数据中学到的 。
当布朗大学的研究人员禁用将波兰转换为华沙的前馈层时 , 模型不再预测下一个词是华沙 。但有趣的是 , 如果他们接着在提示的开头加上句子“波兰的首都是华沙” , 那么GPT-2就能再次回答这个问题 。这可能是因为GPT-2使用注意力机制从提示中提取了华沙这个名字 。
这种分工更广泛地表现为:注意力机制从提示的较早部分检索信息 , 而前馈层使语言模型能够“记住”未在提示中出现的信息 。
事实上 , 可以将前馈层视为模型从训练数据中学到的信息的数据库 。靠前的前馈层更可能编码与特定单词相关的简单事实 , 例如“特朗普经常在唐纳德之后出现” 。靠后的层则编码更复杂的关系 , 如“添加这个向量以将一个国家转换为其首都 。
语言模型的训练方式
许多早期的机器学习算法需要人工标记的训练示例 。例如 , 训练数据可能是带有人工标签(“狗”或“猫”)的狗或猫的照片 。需要标记数据的需求 , 使得人们创建足够大的数据集以训练强大模型变得困难且昂贵 。
LLM的一个关键创新之处在于 , 它们不需要显式标记的数据 。相反 , 它们通过尝试预测文本段落中下一个单词来学习 。几乎任何书面材料都适用于训练这些模型——从维基百科页面到新闻文章再到计算机代码 。
举例来说 , LLM可能会得到输入“I like my coffee with cream and(我喜欢在咖啡里加奶油和)” , 并试图预测“sugar(糖)”作为下一个单词 。一个新的初始化语言模型在这方面表现很糟糕 , 因为它的每个权重参数——GPT-3最强大的版本高达1750亿个参数——最初基本上都是从一个随机数字开始 。
但是随着模型看到更多的例子——数千亿个单词——这些权重逐渐调整以做出更好的预测 。
下面用一个类比来说明这个过程是如何进行的 。假设你要洗澡 , 希望水温刚刚好:不太热 , 也不太冷 。你以前从未用过这个水龙头 , 所以你随意调整水龙头把手的方向 , 并触摸水的温度 。如果太热或太冷 , 你会向相反的方向转动把手 , 当接近适当的水温时 , 你对把手所做的调整幅度就越小 。
现在 , 让我们对这个类比做几个改动 。首先 , 想象一下有50257个水龙头 , 每个水龙头对应一个不同的单词 , 比如"the"、"cat"或"bank" 。你的目标是 , 只让与序列中下一个单词相对应的水龙头里出水 。
其次 , 水龙头后面有一堆互联的管道 , 并且这些管道上还有一堆阀门 。所以如果水从错误的水龙头里出来 , 你不能只调整水龙头上的旋钮 。你要派遣一支聪明的松鼠部队去追踪每条管道 , 并沿途调整它们找到的每个阀门 。
这变得很复杂 , 由于同一条管道通常供应多个水龙头 , 所以需要仔细思考如何确定要拧紧和松开哪些阀门 , 以及程度多大 。
显然 , 如果字面理解这个例子 , 就变得很荒谬 。建立一个拥有1750亿个阀门的管道网络既不现实也没用 。但是由于摩尔定律 , 计算机可以并且确实以这种规模运行 。
截止目前 , 在本文中所讨论的LLM的所有部分——前馈层的神经元和在单词之间传递上下文信息的注意力头——都被实现为一系列简单的数学函数(主要是矩阵乘法) , 其行为由可调整的权重参数来确定 。就像我故事中的松鼠松紧阀门来控制水流一样 , 训练算法通过增加或减小语言模型的权重参数来控制信息在神经网络中的流动 。
推荐阅读
- 非语言沟通的技巧有哪些 非语言沟通的技巧有哪些
- 网络语言黑胶指什么 黑胶是干什么用的
- 岚语是哪国语言 岚语是什么语言
- 刀郎新歌被业内人士猛批:通俗简陋、阴阳怪气,格局太小了!
- 刚需的通俗说法 刚需和必需的区别
- 阿根廷说什么语言 阿根廷说什么语言为主
- 回族有自己的语言吗 中国回族有自己的语言吗
- 网络流行语沙发是什么意思 网络语言中沙发是什么意思
- 牡丹花语言是什么 牡丹花的语言
- a在c语言中是什么意思 c!=a在c语言中是什么意思
