status
type
tags
category
slug
summary
date
finished_date
icon
password
前言
语言是人类区别其他动物的本质特性。在所有生物中,只有人类才具有语言能力。用自然语言与计算机进行通信,是人们长期以来的追求。
自然语言处理 (Natural Language Processing, NLP) 作为 AI 的一个重要分支,它各种依赖语言模型,使机器能够和人类语言。
大语言模型
ChatGPT 等 AI 工具的惊艳亮相,让 Large Language Model / LLM 走进人们视野。
LLM 是一种用作 NLP 相关任务的深度学习模型。具体任务可以是:生成、分类、总结、改写等等。
训练数据大
训练数据决定了模型。
以 GPT-3 为例,它的训练数据有多个互联网文本语料库 (Corpus),从而模型能更好了解单词与上下文之间的关系,生成更准确的预测。
参数数量大
参数 (Parameter) 是模型内部的变量,它决定了模型如何对输入数据做出反应,从而决定模型。
依旧以 GPT-3 为例,它拥有上千亿个参数,这让 LLM 不像普通的 LM,局限于单一任务,而具有更广泛能力。即一个 LLM 能搞定所有任务(分类 + 总结 + 改写等等多合一)。
就像要 AI 学习做蛋糕,只允许 AI 调整蛋、面粉的料,和允许 AI 调整蛋、面粉、可可粉、奶油以及烤箱的时长和温度,后者由于可以调整的变量更多,更能让 AI 调整做出更好吃的蛋糕,甚至创造一些全新的蛋糕品种。
深度神经网络
LLM 背后技术发展的里程碑要回溯到更早的时间。
大部分 LM 的底层基于深度学习算法,专注于深度神经网络 (Neural Network, NN) 来建模复杂的数据关系。
NN 算法的原理与人类大脑类似:人工神经网络由(节点)组成,这些神经元负责所有的模型功能,从处理输入到生成输出。神经元进一步组织成,即神经网络中的垂直堆叠组件,每层执行与输入和输出序列相关的特定任务。
每个神经网络至少有三层:
- 输入层 (Input layer):接受数据并将其传递给网络的其余部分。
- 隐藏层 (Hidden layer):执行特定功能,使得神经网络的最终输出成为可能。这些功能可能包括识别或分类数据、生成新数据以及其他与特定 NLP 任务相关的功能。
- 输出层 (Output layer):基于输入生成预测或分类。
深度学习模型有(因此称为 “深度”),使得它们可以自动提取特征并进行复杂的模式识别。
RNN
早期的主流语言模型架构是循环神经网络(Recurrent Neural Network / RNN)。
RNN 的每一步输出取决于先前的隐藏状态和当前的输入,要等上一个步骤完成后才能进行当前的计算,因此无法并行计算,训练效果极低。
此外,RNN 不擅长处理长文本。从而导致词之间的距离越远,前面对后面的影响越弱,所以难以捕捉到长距离的语义关系。即讲到第二句话时,它已经忘记第一句话。
后来虽然出现了一些改良版 RNN,比如长期记忆网络 (Long Short-Term Memory / LSTM),但也没有解决传统 RNN 无法并行计算的问题。
Transformer
2017 年 6 月,谷歌团队发表论文《Attention is All You Need》,其中提出了一种新的网络架构 —— Transformer,它完全摆脱了递归 (Recurrence)。
解决长文本:引入自注意力机制 (Self Attention),不仅会注意当前和前后的词,还会注意输入序列中的所有其它词,然后给予每个词不同的「注意力」和「权重」。因此哪怕两个词之间的距离很远,它也能捕获到它们之间的依赖关系。
解决并行性:引入了预先计算的位置编码 (Positional Encoding),从而可以一次性同时输入到编码器的多个层中,无需逐步处理每个位置。
总结
Transformer 的提出使 NLP 的发展方向被彻底改变了,随后出现了一系列基于该架构的模型:
- 2018 年:Open AI 发布 GPT 1.0,谷歌发布 BERT
- 2019 年:Open AI 发布 GPT 2.0,百度发布 ERNIE 1.0
- …
此时 LLM 的发展已经如火如荼了,但因为 2022 年底 ChatGPT 直接向公众开放,让用户直接在网页上用对话的方式进行交互,成为了 LLM 技术广泛应用和大众化的催化剂。
GPT 的首字母 enerative re-trained ransformer,即Transformer,也表明了 Transformer 是其背后的关键模型。