ChatGPT原理与应用开发_郝少春;黄玉琳;易华挥_AZW3_MOBI_EPUB_PDF_电子书(无页码)_郝少春;黄玉琳;易华挥

内容节选

第2章 相似匹配 ——万物皆可Embedding 第1章简单介绍了Embedding的概念,我们知道了Embedding可以用来表示一个词或一句话。读者可能会有困惑:这和ChatGPT或大语言模型有什么关系?为什么需要Embedding?在哪里需要Embedding?这三个问题可以简单用一句话来概括回答:因为需要获取“相关”上下文。具体来说,NLP领域的不少任务以及大语言模型的应用都需要一定的上下文知识,而Embedding表示技术就是用来获取这些上下文的。这一过程在NLP领域中也被叫作相似匹配——把相关内容转成Embedding表示,然后通过Embedding相似度来获取最相关内容作为上下文。 在本章中,我们将首先进一步了解相似匹配的基础知识,尤其是如何更好地表示一段自然语言文本,以及如何衡量Embedding的相似程度。接下来,我们将介绍ChatGPT相关接口的用法,其他类似接口的用法也差不多。最后,我们将介绍与Embedding相关的几个任务和应用,这里面有些可以用大语言模型解决,但也可以不用大语言模型解决。无论是ChatGPT还是其他大语言模型,它们都只是我们工具箱中的工具,我们将侧重任务和应用,重点介绍如何解决此类问题。我们期望读者能在阅读的过程中感受到目的和方法的区别,方法无论如何,总归是为目的服务的。 2.1 相似匹配基础 2.1.1 更好的Embedding表示 1. Embedding表示技术回顾 首先,我们简单回顾一下第1章介绍的Embedding表示技术。对于自然语言,因为输入是一段文本,在中文里就是一个一个字,或一个一个词,业内把这个字或词叫作Token。如果要使用模型,拿到一段文本的第一件事,就是把这段文本Token化。当然,可以按字,也可以按词,或按你想要的其他方式,比如每两个字一组或每两个词一组。我们来看下面这个例子。 ·给定文本:人工智能让世界变得更美好。 ·按字Token化:人 工 智 能 让 世 界 变 得 更 美 好 。 ·按词Token化:人工智能 让 世界 变得 更 美好 。 ·按字Bi-Gram Token化:人/工 工/智 智/能 能/让 让/世 世/界 界/变 变/得 得/更 更/美 美/好 好/。 ·按词Bi-Gram Token化:人工智能/让 让/世界 世界/变得 变得/更 更/美好 美好/。 于是自然地就有了一个新的问题:我们应该怎么选择Token化方式?其实每种不同的方式都有优点和不足,英文一般用子词表示,中文以前常见的是字或词的方式,中文的大语言模型基本都使用字+词的方式。如第1章所述,这种方式一方面能够更好地表示语义,另一方面对于没见过的词又可以用字的方式来表示,避免了在遇到不在词表中的词时导致的无法识别和处理的情况。 Token化之后,第二件事就是要怎么表示这些Token,我们知道计算机只能处理数字,所以要想办法把这些Token变成计算机所能识别的数字才行。这里需要一个词表,将每个词映射成词表中对应位置的序号。以上面的句子为例,假设以字为粒度,那么词表就可以用一个文本文件来存储,内容如下。 人 工 智 能 让 世 界 变 得 更 美 好 一行一个字,将每个字作为一个Token,此时,0=我,1=们,…,以此类推,我们假设词表大小为N。这里有一点需要注意,就是词表的顺序无关紧要,不过一旦确定下来,训练好模型后就不能再随便调整了。这里所说的调整包括调整顺序、增加词、删除词、修改词等。如果只是调整顺序或删除词,则不需要重新训练模型,但需要手动将Embedding参数也相应地调整顺序或删除对应行。如果是增改词表,则需要重新训练模型,获取增改部分的Embedding参数。接下来就是将这些序号(Token ID)表示成稠密向量(Embedding表示),背后的主要思想如下。 ·把特征固定在某个维度D,比如256、300、768等,这个不重要,总之不再是词表那么大的数字。 ·利用自然语言文本的上下文关系学习一个由D个浮点数组成的稠密向量。 接下来是Embedding的学习过程。首先,随机初始化一个NumPy数组,就像下面这样。 import numpy as np rng = np.random.default_rng(42) # 词表大小N=16,维度D=256 table = rng.uniform(size=(16, 256)) table.shape == (16, 256) 假设词表大小为16,维度为256,初始化后,我们就得到了一个16×256大小的二维数组,其中的每一行浮点数就表示对应位置的Token。接下来就是通过一定的算法和策略来调整(训练)里面的数字(更新参数)。当训练结束时,最终得到的数组就是词表的Embedding表示,也就是词向量。这种表示方法在深度学......

  1. 信息
  2. 内容提要
  3. 前言
  4. 资源与支持
  5. 第1章 基础知识
  6. 第2章 相似匹配
  7. 第3章 句词分类
  8. 第4章 文本生成
  9. 第5章 复杂推理
  10. 第6章 工程实践
  11. 第7章 局限与不足
  12. 第8章 商业应用