通俗解构语言大模型的工作原理( 二 )


Google的词向量还具有另一个有趣的特点:你可以使用向量运算“推理”单词 。例如 , Google研究人员取出最大的(biggest)向量 , 减去大的(big)向量 , 再加上小的(small)向量 。与结果向量最接近的词就是最小的(smallest)向量 。

通俗解构语言大模型的工作原理

文章插图
你可以使用向量运算来做类比!在这个例子中 , 大(big)与最大的(biggest)的关系 , 类似于小(small)与最小的(smallest)的关系 。Google的词向量捕捉到了许多其他的关系:
• 瑞士人与瑞士类似于柬埔寨人与柬埔寨 。(国籍)
• 巴黎与法国类似于柏林与德国 。(首都)
• 不道德的与道德的类似于可能的与不可能的 。(反义词)
• Mouse(老鼠)与mice(老鼠的复数)类似于dollar(美元)与dollars(美元的复数) 。(复数形式)
• 男人与女人类似于国王与女王 。(性别角色)
【通俗解构语言大模型的工作原理】因为这些向量是从人们使用语言的方式中构建的 , 它们反映了许多存在于人类语言中的偏见 。例如 , 在某些词向量模型中 , (医生)减去(男人)再加上(女人)等于(护士) 。减少这种偏见是一个很新颖的研究领域 。
尽管如此 , 词向量是语言模型的一个有用的基础 , 它们编码了词之间微妙但重要的关系信息 。如果一个语言模型学到了关于猫的一些知识(例如 , 它有时会去看兽医) , 那同样的事情很可能也适用于小猫或狗 。如果模型学到了关于巴黎和法国之间的关系(例如 , 它们共用一种语言) , 那么柏林和德国以及罗马和意大利的关系很可能是一样的 。
词的意义取决于上下文
像这样简单的词向量方案并没有捕获到自然语言的一个重要事实:词通常有多重含义 。
例如 , 单词“bank”可以指金融机构或河岸 。或者考虑以下句子:
• John picks up a magazine(约翰拿起一本杂志) 。
• Susan works for a magazine(苏珊为一家杂志工作) 。
这些句子中 , “magazine”的含义相关但又有不同 。约翰拿起的是一本实体杂志 , 而苏珊为一家出版实体杂志的机构工作 。
当一个词有两个无关的含义时 , 语言学家称之为同音异义词(homonyms) 。当一个词有两个紧密相关的意义时 , 如“magazine” , 语言学家称之为多义词(polysemy) 。
像ChatGPT这样的语言模型能够根据单词出现的上下文以不同的向量表示同一个词 。有一个针对“bank(金融机构)”的向量 , 还有一个针对“bank(河岸)”的向量 。有一个针对“magazine(实体出版物)”的向量 , 还有一个针对“magazine(出版机构)”的向量 。正如你预想的那样 , 对于多义词的含义 , 语言模型使用的向量更相似 , 而对于同音异义词的含义 , 使用的向量则不太相似 。
到目前为止 , 我们还没有解释语言模型是如何做到这一点——很快会进入这个话题 。不过 , 我们正在详细说明这些向量表示 , 这对理解语言模型的工作原理非常重要 。
传统软件的设计被用于处理明确的数据 。如果你让计算机计算“2+3” , 关于2、+或3的含义不存在歧义问题 。但自然语言中的歧义远不止同音异义词和多义词:
• 在“the customer asked the mechanic to fix his car(顾客请修理工修理他的车)”中 , “his”是指顾客还是修理工?
• 在“the professor urged the student to do her homework(教授催促学生完成她的家庭作业)”中 , “her”是指教授还是学生?
• 在“fruit flies like a banana”中 , “flies”是一个动词(指在天空中飞的水果像一只香蕉)还是一个名词(指喜欢香蕉的果蝇)?
人们根据上下文来解决这类歧义 , 但并没有简单或明确的规则 。相反 , 这需要理解关于这个世界的实际情况 。你需要知道修理工通常会修理顾客的汽车 , 学生通常完成自己的家庭作业 , 水果通常不会飞 。
词向量为语言模型提供了一种灵活的方式 , 以在特定段落的上下文中表示每个词的准确含义 。现在让我们看看它们是如何做到这一点的 。


推荐阅读