1.1 什么是语言模型
1.1.1 基本概念
语言模型的目标是对输入的文本序列进行处理,生成新的文本或符号输出。
关键问题包括:
- 输入序列问题:需要将文本信号转换为计算机可处理的数值。
- 输出序列问题:需要将模型生成的数值映射回字符。
示例:
- 独热编码将字符映射为向量,便于输入神经网络。
- 模型输出概率分布,经过映射生成目标字符,逐步完成输出序列。
1.1.2 定义
语言模型(Language Model, LM)对词元序列 x1,...,xLx_1, ..., x_L 进行概率建模,评估序列的合理性。例如:
- p(the mouse ate the cheese)=0.02p(\text{the mouse ate the cheese}) = 0.02
- p(the cheese ate the mouse)=0.01p(\text{the cheese ate the mouse}) = 0.01
语言模型的能力依赖其对语法知识和世界知识的隐式掌握,从而评估序列的概率。
1.1.3 自回归语言模型
通过链式法则,将联合概率分解为条件概率的乘积:
p(x1:L)=∏i=1Lp(xi∣x1:i−1)p(x_1:L) = \prod_{i=1}^L p(x_i | x_1:i-1)
这种模型逐步生成词元,基于温度参数 TT 调整生成的随机性:
- T=0T=0:生成最可能的词元(确定性)。
- T=1T=1:从模型中正常采样(随机性较高)。
- T=∞T=\infty:生成完全随机的词元。
1.1.4 总结
- 语言模型是对序列的概率建模工具。
- 自回归语言模型可生成给定提示的补全。
- 温度参数可控制生成结果的变异性。
1.2 大模型相关历史回顾
1.2.1 信息理论与n-gram模型
- 信息熵:衡量序列的结构性强弱。低熵表示更有序的结构。
- n-gram模型:通过统计固定窗口的词元共现概率,提供了高效但局限的语言建模方法。其不足包括:
- 难以捕捉长距离依赖。
- 对长序列的统计估计不足。
1.2.2 神经语言模型
- 神经语言模型:通过神经网络建模条件概率,支持更长的上下文依赖。早期挑战在于计算成本高。
- 关键进展:
- 循环神经网络(RNN)及长短期记忆(LSTM):支持无限上下文依赖。
- Transformer(2017年):通过并行化训练和固定上下文长度实现更高效的建模。
1.2.3 总结
- n-gram模型高效但局限,适用于捕捉局部依赖关系。
- 神经语言模型逐渐克服计算效率问题,成为主流。
1.3 这门课的意义
1.3.1 模型能力的演变
- 上下文学习:模型通过提示中的示例调整任务,展示了新兴的上下文理解能力。
- 多样任务支持:语言模型可通过条件生成解决问答、文本补全、类比等多种任务。
1.3.2 风险与挑战
- 可靠性:模型可能生成看似正确但实质错误的信息。
- 社会偏见:训练数据中的偏见可能被模型继承和放大。
- 内容有害性:可能生成冒犯性或虚假信息。
- 安全性问题:训练数据易受污染,可能导致不良输出。
- 法律与版权:训练数据的合法性以及生成内容的版权问题尚存争议。
- 成本与环境影响:模型的训练和推理需要大量计算资源,带来高昂成本和碳排放。
1.3.3 大型语言模型的现实影响
- 研究和工业应用广泛(如搜索引擎、写作助手)。
- 高昂的开发和运行成本限制了学术界的广泛获取。
1.4 课程架构
课程结构分为四层:
- 模型行为:通过API观察语言模型的外部表现。
- 数据视角:分析训练数据的特性与安全隐患。
- 模型构建:研究模型架构和训练方法。
- 超越语言模型:探讨语言模型在更广泛的基础模型领域的应用。
1.5 总结
本章从语言模型的定义、历史到现代大型语言模型的能力与挑战,全面概述了语言模型的发展脉络及现实意义,为后续深入学习奠定了基础。