大语言模型:LLM的基本原理解读

最近在做一些基于LLM(Large Language Models)的项目,计划系统化的梳理一个LLM系列文章,整个大纲,大概包括以下内容:

1、大语言模型:LLM的基本原理解读

2、如何将LLM应用到实际的业务中

3、基于LLM构建应用程序:设计指南

4、LLM的高阶应用:提示工程

5、LLM的高阶应用:插件的使用

6、LLM的高阶应用:模型微调

7、基于LLM构建应用程序:注意事项

8、基于LLM的应用开发框架

今天分享的主题是:LLM的基本原理。

在介绍LLM之前,我们先来了解一下自然语言处理(NLP)。NLP是AI的一个子领域,专注于使计算机能够处理、解释和生成人类语言,主要任务包括:文本分类、自动翻译、问题回答、生成文本等。

在LLM诞生之前,NLP一直在匍匐前进,异常的艰难,直到LLM的出现,才彻底的改变了NLP的现状。

一、什么是LLM?

大语言模型:LLM(Large Language Models),是试图完成文本生成任务的一类ML(Machine Learning,机器学习)模型。

LLM使计算机能够处理、解释和生成人类语言,从而提高人机交互效率。为了做到这一点,LLM会分析大量文本数据或基于这些数据进行训练,从而学习句子中各词之间的模式和关系。

这个学习过程可以使用各种数据源,包括维基百科、Reddit、成千上万本书,甚至互联网本身。

在给定输入文本的情况下,这个学习过程使得LLM能够预测最有可能出现的后续单词,从而生成对输入文本有意义的回应。

在过去的2年中,市场上发布的一些现代语言模型非常庞大(如GPT系列模型、文心一言、通义千问、Kimi、豆包等等),并且已经在大量文本上进行了训练,因此它们可以直接执行大多数NLP任务,如文本分类、自动翻译、问题回答、生成文本等。

二、LLM的发展历程

LLM的发展可以追溯到几年前。它始于简单的语言模型,如n-gram模型、LSTM网络等等,直到Transformer模型的出现,才彻底的催生了LLM。

1、N-gram模型

n-gram模型通过使用词频来根据前面的词预测句子中的下一个词,其预测结果是在训练文本中紧随前面的词出现的频率最高的词。虽然这种方法提供了不错的着手点,但是n-gram模型在理解上下文和语法方面仍需改进,因为它有时会生成不连贯的文本。

2、LSTM网络

为了提高n-gram模型的性能,人们引入了更先进的学习算法,包括循环神经网络(recurrent neural network,RNN)和长短期记忆(long short-termmemory,LSTM)网络。与n-gram模型相比,这些模型能够学习更长的序列,并且能够更好地分析上下文,但它们在处理大量数据时的效率仍然欠佳。尽管如此,在很长的一段时间里,这些模型算是最高效的,因此在自动翻译等任务中被广泛使用。

3、Transformer模型

Transformer架构彻底改变了NLP领域,这主要是因为它能够有效地解决之前的NLP模型存在的一个关键问题:很难处理长文本序列并记住其上下文。(也就是臭名昭著的“灾难性遗忘问题”),Transformer则具备高效处理和编码上下文的能力。

这场革命的核心支柱是注意力机制,这是一个简单而又强大的机制。模型不再将文本序列中的所有词视为同等重要,而是在任务的每个步骤中关注最相关的词。

交叉注意力和自注意力是基于注意力机制的两个架构模块,它们经常出现在LLM中。Transformer架构广泛使用了交叉注意力模块和自注意力模块。

交叉注意力机制

交叉注意力有助于模型确定输入文本的不同部分与输出文本中下一个词的相关性。它就像一盏聚光灯,照亮输入文本中的词或短语,并突出显示预测下一个词所需的相关信息,同时忽略不重要的细节。

为了说明这一点,让我们以一个简单的句子翻译任务为例。

假设输入文本是这样一个英语句子:Alice enjoyed the sunny weather in Brussels(Alice很享受布鲁塞尔阳光明媚的天气)。

如果目标语言是法语,那么输出文本应该是:Alice a profité du temps ensoleillé à Bruxelles。

在这个例子中,让我们专注于生成法语单词ensoleillé,它对应原句中的sunny。

对于这个预测任务,交叉注意力模块会更关注英语单词sunny和weather,因为它们都与ensoleillé 相关。通过关注这两个单词,交叉注意力模块有助于模型为句子的这一部分生成准确的翻译结果。

自注意力机制

自注意力机制是指模型能够关注其输入文本的不同部分。具体到NLP领域,自注意力机制使模型能够评估句子中的每个词相比于其他词的重要性。这使得模型能够更好地理解各词之间的关系,并根据输入文本中的多个词构建新概念。

来看一个更具体的例子。

考虑以下句子:Alice received praise from hercolleagues(Alice受到同事的赞扬)。

假设模型试图理解her这个单词的意思。自注意力机制给句子中的每个单词分配不同的权重,突出在这个上下文中与her相关的单词。

在本例中,自注意力机制会更关注Alice和colleagues这两个单词。如前所述,自注意力机制帮助模型根据这些单词构建新概念。在本例中,可能出现的一个新概念是Alice’s colleagues。

Transformer架构的并行优势

Transformer架构具有易于并行化的优势。这意味着 Transformer架构可以同时处理输入文本的多个部分,而无须顺序处理。这样做可以提高计算速度和训练速度,因为模型的不同部分可以并行工作,而无须等待前一步骤完成。

基于Transformer架构的模型所具备的并行处理能力与图形处理单元(graphics processing unit,GPU)的架构完美契合,后者专用于同时处理多个计算任务。由于高度的并行性和强大的计算能力,GPU非常适合用于训练和运行基于Transformer架构的模型。硬件上的这一进展使数据科学家能够在大型数据集上训练模型,从而为开发LLM铺平了道路。

编码器和解码器模型

Transformer架构由来自谷歌公司的Ashish Vaswani等人在2017年的论文“Attention Is All You Need”中提出,最初用于序列到序列的任务,如机器翻译任务。

标准的Transformer架构有两个主要组件:编码器和解码器,两者都十分依赖注意力机制。

编码器的任务是处理输入文本,识别有价值的特征,并生成有意义的文本表示,称为嵌入(embedding)。

解码器使用这个嵌入来生成一个输出,比如翻译结果或摘要文本。这个输出有效地解释了编码信息。

生成式预训练Transformer

生成式预训练Transformer(Generative Pre-trained Transformer,GPT)是一类基于Transformer架构的模型,专门利用原始架构中的解码器部分。

在GPT中,不存在编码器,因此无须通过交叉注意力机制来整合编码器产生的嵌入。也就是说,GPT仅依赖解码器内部的自注意力机制来生成上下文感知的表示和预测结果。

GPT模型的标记和预测实现

GPT模型接收一段提示词作为输入,然后生成一段文本作为输出。这个过程被称为文本补全。

当GPT模型收到一段提示词之后,它首先将输入拆分成标记(token)。这些标记代表单词、单词的一部分、空格或标点符号。

因为有了注意力机制和Transformer架构,LLM能够轻松处理标记并解释它们之间的关系及提示词的整体含义。Transformer架构使模型能够高效地识别文本中的关键信息和上下文。

为了生成新的句子,LLM根据提示词的上下文预测最有可能出现的下一个标记。与之前的循环模型不同,带有注意力机制的Transformer架构使得LLM能够将上下文作为一个整体来考虑。基于这个上下文,模型为每个潜在的后续标记分配一个概率分数,然后选择概率最高的标记作为序列中的下一个标记。从而实现文本的预测。

以上便是LLM的基本实现原理。

作者:长弓PM
公众号:AI产品经理社

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部