语言模式是什么意思 (语言模型开放平台价格查询)

如今,像 GPT 这样的大型语言模型在媒体上获得了前所未有的关注,给人留下了我们都身处一场正在进行的革命的印象。 然而,即使是一场革命也是建立在前人成功的基础上的,而 GPT 是数十年研究的成果。

在这里,我想概述语言模型领域研究的一些主要步骤,这些步骤最终导致了我们今天拥有的大型语言模型。 在讨论不同时期引领该领域的一些核心技术之前,需要简要描述一般语言模型是什么,这些核心技术通过克服历史存在的障碍和困难,为今天的技术铺平了道路。

什么是语言模型?

语言模仿能力强的人,语言模型在语音识别中的应用是什么

语言模型是一种机器学习模型,它根据给定的单词序列预测下一个单词。

主要思想是,模型具有某种人类语言的表示。 在某种程度上,它模拟了我们的语言, 在看过数百万行文本后,该模型将代表一个事实,即动词、名词和代词等事物存在于一种语言中,并且它们在一个句子中具有不同的功能。 它还可能从词义中得到一些模式,比如“巧克力”经常出现在“甜”、“糖”和“脂肪”等词的上下文中,但很少与“割草机”等词一起出现”。

开篇

语言模仿能力强的人,语言模型在语音识别中的应用是什么

我们从简单地开始,然后才能想到更复杂的技术。

第一个直观的想法开始:给定大量文本,我们可以计算给定上下文中每个单词的频率,例如,我们计算“like”这个词出现在“I”之后的频率,计算它出现在“don’t”之后的频率等等。 如果我们将其除以之前词的频率,得出概率 P(“like” | “I”),意思是给定词“I”时,词“like”的概率:

P(“like” | “I”) = count(“I like”) / count(“I”)
P(“like” | “don’t”) = count(“don’t like”) / count(“don’t”)

我们可以对文本中找到的每个词执行此操作。 但是,有一个明显的缺点:用于确定概率的上下文只是一个词。 这意味着,如果我们想预测 “don’t”之后的内容,我们的模型不知道 “don’t”之前的内容,因此无法区分“They don’t”, “I don’t” or “We don’t”。

为了解决这个问题,我们可以扩展上下文。 因此,我们不是计算 P(“like” | “don’t”),而是计算 P(“like” | “I don’t”) and P(“like” | “they don’t”) and P(“like” | “we don’t”) 等等。 我们甚至可以将上下文扩展到更多单词,我们称之为 n-gram 模型,其中 n 是上下文要考虑的单词数。 n-gram 只是 n 个单词的序列,例如“I like chocolate”是 3-gram。

n 越大,模型在预测下一个单词时可以考虑的上下文越多。 然而,n 越大,我们必须计算的不同概率就越多,因为 5-gram 比 2-gram 有更多可能的情况,例如,不同 n-gram 的数量呈指数增长,很容易达到在内存或计算时间方面无法处理它们的程度。 因此,n-gram 只允许我们使用非常有限的上下文,对于许多任务来说是不够的。

RNN

语言模仿能力强的人,语言模型在语音识别中的应用是什么

循环神经网络 (RNN) 引入了一种方法来解决 n-gram 模型在更大上下文中存在的问题。 在 RNN 中,输入序列一个接一个地处理,生成所谓的hidden representation 。 主要思想是,hidden representation包括到目前为止序列的所有相关信息,可以在下一步中用于预测下一个单词。

让我们看一个例子:假设我们有这句话

The mouse eats the cheese

RNN 现在一个接一个地处理单词(首先是“mouse”,然后是“eats”……),创建hidden representation,并预测下一个最有可能出现的单词。 现在,如果我们到达单词“the”,模型的输入将包括当前单词(“the”)和一个隐藏层的表示向量,其中包含句子“the mouse eats”的相关信息。 此信息用于预测下一个词(例如“cheese”)。

n-gram 模型只能看到有限的上下文,而 RNN 具有更大更灵活的上下文,但它们只能看到它的模糊图像(隐藏表示)。

不过,RNN 还有一个缺点:由于它们一个接一个地处理序列,因此它们不能并行训练。 要处理位置 t 处的单词,你需要步骤 t-1 的隐藏表示,为此你需要步骤 t-2 的隐藏表示,依此类推。 因此,无论是在训练期间还是在推理期间,计算都必须一个接一个地进行。

Transformers

语言模仿能力强的人,语言模型在语音识别中的应用是什么

Transformers是使用自注意力机制(self-attention mechanism) 的网络架构。它们避免了隐藏表示的瓶颈问题,并且允许并行训练。 他们如何做到这一点?

注意力机制在每一步都构建了一个新的隐藏表示,它可以包含来自任何先前单词的信息,允许模型决定序列的哪些部分与预测下一个词相关,因此它可以通过为它们分配更高的相关性来关注这些部分以计算下一个词的概率。 假设我们有句子

When I saw Dorothy(名字) and the scarecrow(稻草人) the other day, I went to her and said “Hi

我们想预测下一个词。 注意力机制允许模型关注与延续相关的词,而忽略那些不相关的部分。 在此示例中,词“her”必须指代“Dorothy”而不是“the scarecrow”,因此模型必须决定关注“Dorothy”而忽略“the scarecrow”来预测下一个词。 对于这句话,它更有可能以“Hi, Dorothy”而不是“Hi, scarecrow” or “Hi, together”。

机器学习的RNN/LSTM/Seq2Seq序列化模型,其原理是输入一个序列,得到另一个序列。这类模型的结构缺陷在处理序列资料时必须一个一个处理,无法进行并行运算,大幅度拉长了运算时间。而且当信息太长时,seq2seq 容易丢失信息,造成模型的效率下降。注意力机制(Attention mechanism)的架构为Encoder-Decoder,Encoder 会先将输入资讯进行编码,得到的状态会传给Decoder 解码生成目标结果,注意力机制则负责将Encoder的所有资讯都传给Decoder, 由Decoder决定将注意力权重放在那些资讯上,Attention的算法有很多,整体来说就是输入两个不同向量计算出一个注意力分数,这个分数就是Attention的数值。

语言模仿能力强的人,语言模型在语音识别中的应用是什么

语言模仿能力强的人,语言模型在语音识别中的应用是什么

概括

作为总结,以下是按顺序排列的重要步骤:

  • 语言建模的关键方面是预测给定文本序列的下一个单词。
  • n-gram 模型只能表示有限的上下文。
  • RNN具有更灵活的上下文,但它们的隐藏表示可能成为瓶颈,并且它们无法并行训练。
  • Transformers 通过引入注意力机制来避免瓶颈,该机制允许详细关注上下文的特定部分。 最终,它们可以并行训练,这是训练大型语言模型的要求。

当然,要形成我们今天拥有的模型,还需要更多的技术, 这里只是强调了一些非常重要的关键方面。