四个阶段
第一阶段:基于规则和统计的语言模型
由人工设计特征并使用统计方法对固定长度的文本窗口序列进行建模分析,这种建模方式也被称为N-gram语言模型。
优点:
1)采用极大似然估计, 参数易训练
2)完全包含了前n-1个词的全部信息
3)可解释性强, 直观易理解
缺点:
1)只能建模到前n-1个词
2)随着n的增大,参数空间呈指数增长
3)数据稀疏,难免会出现OOV问题
4)泛化能力差
第二阶段:神经网络语言模型
基于N-gram语言模型以上的问题,以及随着神经网络技术的发展,人们开始尝试使用神经网络来建立语言模型。
优点:
1)相比 n-gram 具有更好的泛化能力
2)降低了数据稀疏带来的问题
缺点:
1)对长序列的建模能力有限
2)可能会出现梯度消失等问题
第三阶段:预训练语言模型
基于Transformer的预训练模型:包括GPT、BERT、T5等。这些模型能够从大规模通用文本数据中学习大量的语言表示,并将这些知识运用到下游任务中,获得较好的效果。
预训练:在大规模数据集上事先训练神经网络模型,使其学习到通用的特征表示和知识
微调:在具体的下游任务中使用预训练好的模型进行迁移学习,以获取更好的泛化
优点:
更强大的泛化能力,丰富的语义表示,可以有效防止过拟合。
缺点:
计算资源需求大,可解释性差等
第四阶段:大语言模型
随着预训练模型Transformer参数的指数级提升,其语言模型性能也会线性上升。2020年,OpenAI发布了参数量高达1750亿的GPT-3,首次展示了大语言模型的性能。(Transformer+大量参数)
Meta公司的LLaMA-13B模型以及谷歌公司的PaLM-540B
国内如百度推出的文心一言ERNIE系列、清华大学团队推出的GLM等等
优点:
像“人类”一样智能,具备了能与人类沟通聊天的能力,甚至具备了使用插件进行自动信息检索的能力
缺点:
参数量大,算力要求高、训练时间长、可能生成部分有害的、有偏见的内容等等