本文为作者内部分享文档,由于不涉敏可以公开,分享本身是课程形式,有什么疑问欢迎在评论区留言。
A Neural Probabilistic Language Model (2000, 2003)
使用一个简单的神经网络来替代概率模型,模型的训练目标定义为给定 n n n个单词作为上下文,预测下一个单词是上下文中的第 i i i个单词,输入层 C C C表示一个共享的矩阵参数,随机初始化, C i C_i Ci表示语料库中第 i i i个单词的特征向量。
提问(非常重要) :
输入层的矩阵 C C C是什么?
答案:词向量
Efficient Estimation of Word Representations in Vector Space(2013)
训练神经网络语言模型过程中,将神经网络的权重值作为词向量来使用
现在我们讲的词向量,其实是训练语言模型过程中的副产品
项目 | Value |
---|---|
CBOW (Continuous Bag-of-Words Model) | Skip-gram |
CBOW 的基本思想为以上下文作为输入,预测中间词。具体而言,设定一个上下文范围 N,输入为中间词的前 N 个单词和后 N 个单词,输出为中间词的概率分布,训练目标是真实中间词的概率最大(即argmax),也即1次分类过程。 | Skip-gram基本思想为以中间单词作为输入,预测上下文。具体而言,设定一个上下文范围 N,输入为中间词,输出为前 N 个单词和后 N 个单词的概率分布,训练目标是2N次概率输出,每次使得真实上下文词的概率最大(即2N次argmax),也即2N次分类过程。训练过程的参数规模非常巨大,有Hierarchical Softmax、Negative Sampling等方式降低计算复杂度,这里不再展开。 |
LLM的涌现能力和Scaling
Emergent Abilities of Large Language Models
Scaling Laws for Neural Language Models
nlp中的预训练语言模型总结(单向模型、BERT系列模型、XLNet)
arxiv.org/pdf/2204.02…
LLaMA: arxiv.org/pdf/2302.13…
arxiv.org/pdf/2204.02…
LLaMA: arxiv.org/pdf/2302.13…
清华提出了ChatGLM系列,并开源了其中的ChatGLM-6B和ChatGLM2-6B,在C-Eval上测试是目前最好的中文大模型:
State of GPT – Microsoft Build
笔者翻译上图如下:
阶段 | 子阶段 | 目标 | 备注 |
---|---|---|---|
Pre-Training | ——– | 语言建模 | |
Instruction Finetuning | ——— | 让模型能够理解自然语言指令 | |
RLHF | Reward Modeling | 奖励建模,用来代替人工打分,降低标注成本 | 奖励模型是用来建模强化学习的一个组件 |
RLHF | Reinforcement Learning | 强化学习建模,通过强化学习的方式训练模型输出奖励最大的文本,即更符合人类偏好的文本 |
强化学习建模过程如下:
- 将指令精调后的大语言模型作为Agent,agent的action即给定输入文本 i i i进入 S t a t e State State S i S_i Si后的文本 O u t p u t i Output_i Outputi。
- 所有可能输入的文本构成了agent的状态空间
- 所有可能输出的文本构成了agent的动作空间
- 将奖励模型作为Environment对模型输出进行打分,将分数作为奖励。
注:
3. 二元分类说法并不准确,原始目标是希望对两个生成的回复进行打分即两者之间按更符合人类预期进行比较,胜出的回复应该得到更多的分数,亦即获得更大的奖励。或者也可以认为是在两者之间做分类,将更符合人类预期的筛选出来,但前者是更加准确的描述。
图源:cs224n-2023-lecture11-prompting-rlhf.pdf
- 奖励模型是用来实现强化学习的一个辅助模型,可以理解为强化学习建模中的环境(Environment)**
Key Takeaway
- 概率语言模型设计用于计算一个句话在自然语言中出现的概率
n-gram语言模型是概率语言模型基于条件独立假设的简化,给定n个单词,它可以用来预测第n+1单词 - 语言建模(即训练语言模型的过程):给定n个单词,预测第n+1个单词是什么。神经网络语言模型使用神经网络进行语言建模。
- 神经网络语言模型随着自然语言处理领域不断提出新的网络架构逐步演进,transformer是其中一个标志性里程碑。基于transformer,Google和Open AI分别提出了BERT和GPT 1.0/2.0,开启了自然语言处理pretraining + fintuning(预训练语言模型)的时代,模型参数到达亿级别,大语言模型的雏形出现。
- 随着神经网络语言模型的参数量继续增大到一个千亿级别,开始表现出强大的涌现能力,辅以instruction fituning和RLHF的(大语言模型)训练流程改进,突破性的大语言模型ChatGPT出现,大模型时代来临。