大模型理论学习记录(二)
语言模型的适应性
Adaption:将语言模型转化为任务模型的过程。
这个过程需要以下两个输入:1. 任务的自然语言描述 2. 一组训练实例(输入-输出对)
主要有两种方式来进行这种适应:
- 训练的方式:需要较多的标签数据;训练新模型或基于现有模型进行微调,涉及模型权重的调整。
- 提示的方式:不需要较多的标签数据;将示例输入到模型中,不用于训练,只作为提示,帮助模型理解预期的输出格式和内容。
对于提示的方式,进一步细分:- 零样本学习(Zero-shot):提示/上下文信息的数量为0,模型直接基于对任务的理解输出结果。
- 单样本学习(One-shot):提示/上下文信息的数量为1,一般来说模型基于1个例子可以更好的理解任务从而较好的生成结果。
- 少样本学习(Few-shot):提示/上下文信息的数量大于1,大模型可以看到更丰富的例子,一般来说获得比单样本学习更好的效果。
从以下五个任务中看GPT-3中模型大小和上下文训练数量的重要性:
对于GPT-3的默认实验设置为:
- 完整的GPT-3模型(davinci),其拥有1750亿参数。
- 使用尽可能多的使用训练数据的实例进行上下文学习。
五个任务:
- Language modeling
- Question answering
- Translation
- Arithmetic
- News article generation
- Novel tasks
模型的大小和训练样本的数量都很重要。
实验结果:大模型具体很不错的性能,并且上下文的数量更多总是更好。
指标介绍:困惑度
困惑度(Perplexity)是一个重要的指标,用于衡量语言模型的性能,是自然语言处理和语言模型中的一个重要概念,可以解释为模型在预测下一个词时的平均不确定性。也就是,如果一个模型的困惑度较低,那么它在预测下一个词的时候就会更加准确。对于给定的语言模型和一个测试数据集,困惑度被定义为:
P
(
X
)
=
P
(
x
1
,
x
2
,
.
.
.
,
x
N
)
(
−
1
/
N
)
P(X) = P(x_1,x_2,...,x_N)^{(-1/N)}
P(X)=P(x1,x2,...,xN)(−1/N)
其中,
X
=
x
1
,
x
2
,
.
.
.
,
x
N
X=x_{1},x_{2},...,x_{N}
X=x1,x2,...,xN 是测试集中的词序列,
N
N
N 是测试集中的总词数。
- 根号内是句子概率的倒数,所以显然句子越好(概率大),困惑度越小,也就是模型对句子越不困惑。
- 开N次根号(N为句子长度)意味着几何平均数(把句子概率拆成字符概率的连乘)
- 需要平均的原因是,因为每个字符的概率必然小于1,所以越长的句子的概率在连乘的情况下必然越小,所以为了对长短句公平,需要平均一下
- 是几何平均的原因,是因为如果有其中的一个概率是很小的,那么最终的结果就不可能很大,从而要求好的句子的每个字符都要有基本让人满意的概率。在几何平均中,每个词标记的概率都被同等看待,并且一个极低的概率(如0)将会导致整个几何平均大幅度下降。因此,通过计算几何平均,我们可以更好地衡量模型在处理所有可能的词标记时的性能,特别是在处理那些模型可能会出错的情况。
- 机器翻译常用指标BLEU也使用了几何平均,还有机器学习常用的F-score使用的调和平均数 ,也有类似的效果
语言模型可能会犯两种类型的错误:
- 召回错误:语言模型未能正确地为某个词符分配概率值。
- 精确度错误:语言模型为某些错误的词序列过度分配了概率值。
相关链接:
学习资料来源
困惑度(perplexity)的基本概念及多种模型下的计算(N-gram, 主题模型, 神经网络)