LLM 入门:大语言模型发展、架构与应用详解
自 2022 年 ChatGPT 发布之后,大语言模型(Large Language Model),简称 LLM 掀起了一波狂潮。作为学习理解 LLM 的开始,本文将对大语言模型的发展历史、核心定义、训练流程及实际应用进行系统性的梳理。
一、发展历史
大语言模型的发展历史可以追溯到早期的语言模型和机器翻译系统,但其真正的起点可以说是随着深度学习技术的兴起而开始。
1.1 统计语言模型
在深度学习技术出现之前,语言模型主要基于传统的统计方法,也称为统计语言模型(SLM)。
SLMs 是基于统计语言方法构建的,基本思想是基于马尔可夫假设建立词预测模型,即根据最近的上下文预测下一个词。具有固定上下文长度 n 的 SLM 也称为 n-gram 语言模型。
然而这些模型虽然简单,但在处理长文本序列时存在着词汇稀疏性和上下文理解能力有限等问题,难以捕捉复杂的语义依赖。
1.2 神经语言模型
随着神经网络技术的发展,Bengio 等人于 2003 年提出了神经语言模型,将语言模型建模问题转化为了一个神经网络的学习问题。
循环神经网络(RNN)和长短期记忆网络(LSTM)的提出进一步增强了神经语言模型对文本序列的建模能力。这些模型能够捕捉到文本序列中的长程依赖关系,从而提高了语言模型的性能。
2013 年,Google 提出了 Word2Vec 模型,通过词嵌入(Word Embedding)的方式将单词映射到连续的向量空间中,提高了语言模型对单词语义的理解能力。
2017 年,谷歌提出了 Transformer 模型,该模型通过自注意力机制(Self-Attention)实现了并行计算,大大提高了模型的训练速度,成为后续大模型的基础架构。
1.3 预训练语言模型
2018 年,OpenAI 发布了第一个版本的 GPT 模型,利用 Transformer 结构进行预训练,这是首个成功利用大规模无监督学习方法来预训练通用语言表示的模型。
2018 年,Google 提出了 BERT 模型,与 GPT 的区别是 GPT 采用了单向的自回归方式进行预训练,而 BERT 通过 MLM(Masked Language Modeling)和 NSP(Next Sentence Prediction)实现双向上下文建模。这使得预训练语言模型的性能得到了进一步的提升。
随后就激发了一系列预训练模型的发展,如 XLNet、RoBERTa、T5、GPT-2、GPT-3、GPT-3.5、GPT-4 等等。而大语言模型也是在此过程中被定义下来的。
二、什么是大语言模型
2.1 定义
从大语言模型字面意思来理解,'语言'和'模型'很好理解,就是代表着在自然语言处理上的 AI 模型。而这个'大'指的是神经网络很大,包括模型的参数数量、训练数据量、计算资源等。
参数数量
大语言模型通常含有数十亿到数千亿个参数,使得模型能够有更强的语言理解、推理和生成能力。
如果只通过 GPT(生成式预训练 Transformer)模型的演进规模来看:
- 2018 年发布的 GPT-1 包含 1.17 亿个参数,9.85 亿个单词。
- 2019 年发布的 GPT-2 包含 15 亿个参数。
- 2020 年发布的 GPT-3 包含 1750 亿个参数。ChatGPT 早期版本就是基于这个模型。
- 2023 年发布的 GPT-4 据爆料它可能包含 1.8 万亿个参数。
训练数据
训练大语言模型通常需要大规模的文本语料库。这些语料库可以包括来自互联网、书籍、新闻等各种来源的文本数据,从而确保模型能够学习到丰富和多样化的语言知识。
一些常用语训练大语言模型的语料库如下:
[图:大语言模型训练语料库分布示意图]
如 GPT-3,它是在混合数据集上进行训练的;PaLM 使用了一个有社交媒体对话、过滤后的网页、书籍、Github、多语言维基百科和新闻组成的预训练数据集。
计算资源
训练大型语言模型需要大量的计算资源,包括高性能的计算机集群、大容量的存储设备以及高速的网络连接。
前一段时间有个特别火的新闻是 Sam Altman 筹资建芯片帝国。7 万亿美元,是全球 GDP 的 10%,大约是美国 GDP 的 1/4,或者 2/5 个中国的 GDP。
另外,英伟达价格高昂但依然一卡难求的高性能 GPU H100,长期霸占着 LLM 领域的热门话题,可以说,英伟达垄断了目前的 AI 算力市场。马斯克甚至戏言:GPU 现在比 drug 还紧俏。
2.2 大语言模型训练方式
现有的神经网络在进行训练时,一般基于反向传播算法(BP 算法),先对网络中的参数进行随机初始化,再利用随机梯度下降(SGD)等优化算法不断优化模型参数。


