大型语言模型如何工作?

99 阅读2分钟

首先,我们来谈谈分词器与文本到数字的转换。

当我们谈论大型语言模型时,我们指的是那些可以接收并处理大量文本数据的机器学习模型。但模型处理文本的方式与我们人类并不完全相同。对于模型来说,文本只是一系列的字符,它并不能像人类那样直接理解文本的含义。因此,为了更高效地处理文本,我们需要先将文本转换成数字形式,这样模型就可以更容易地计算和理解了。

分词器就是这个转换过程中的关键工具。它的主要任务是将输入的文本拆分成一个个小的文本块,我们称之为“标记”。这些标记可以是单词、短语或其他文本片段,它们共同构成了原始的文本。然后,每一个标记都会被赋予一个独特的数字(即令牌索引),这样模型就可以通过这个数字来识别和处理这个标记了。

举个例子来说明这个过程:假设我们有一段文本“我喜欢吃苹果”。分词器可能会将其拆分为“我”、“喜欢”、“吃”和“苹果”这四个标记,然后每个标记都会被赋予一个数字,比如“我”是1,“喜欢”是2,“吃”是3,“苹果”是4。这样,原始的文本就被转换成了一系列的数字,模型就可以更方便地处理它了。

接下来,我们谈谈预测输出令牌。

模型在接收到一定数量的标记作为输入后,会尝试预测下一个可能出现的标记。这个预测是基于模型对当前文本序列的理解,以及它在训练过程中学习到的知识。预测出的标记会被加入到下一次迭代的输入中,这样模型就可以逐步生成一个完整的句子或文本。这也是为什么有时我们在与ChatGPT等模型交互时,会感觉它好像在句子的中间停顿,因为它正在逐步预测并生成下一个标记。

最后,我们来看看模型是如何选择输出标记的。

模型在预测下一个标记时,并不是简单地选择概率最高的那个。它会根据当前文本序列的上下文,以及所有可能的下一个标记的概率分布来做出选择。这种选择带有一定的随机性,使得模型每次的输出都可能有所不同,即使输入的文本是完全相同的。这种随机性是为了模拟人类的创造性思维过程,使得模型的输出更加多样化和有趣。同时,这个随机性还可以通过调整模型参数(如温度)来进行控制。