核心理念
将语言模型视为一个形式化系统
我们可以把一个语言模型(如GPT)看作一个在离散符号空间上定义的形式化系统:
语法:词表 V、序列、上下文窗口长度 L。
公理:初始状态(如 开始符)、词嵌入矩阵的初始化分布。
推理规则:Transformer 层的确定性前向计算函数f: R^(L×d)→R^(L×d)。
定理:模型对下一个词的概率分布 P(w_t|w_<t)
核心目标(形式化陈述)
对于任意合法前缀w_<t,模型应输出一个符合真实语言分布P*的近似分布P_θ
架构的形式化分解
将标准Transformer解码器架构用形式化组件来描述:
-
输入编码层(嵌入与位置)
形式化为:单射嵌入函数 Embed:V→R^d 和位置注入函数 Pos: N → R^d。
规范:input = Embed(w_i) + Pos(i),要求 Embed 保持不同词的区分度(若 w_i ≠ w_j,则 Embed(w_i) ≠ Embed(w_j))。 -
自注意力机制(核心推理规则)
形式化定义:对于输入矩阵 X∈R^(L×d),通过可学习矩阵 W_Q,W_K,W_V计算:Q = X W_Q, K = X W_K, V = X W_V,Attention(Q,K,V) = softmax( (Q K^T) / √d + M ) · V,其中M是因果掩码(下三角为0,上三角为-∞)。
- 关键的形式化性质:
置换等变性:同时置换输入序列的行和输出序列的对应行,结果不变(不含位置编码时)。
因果性:第 i 行的输出 Out[i] 只依赖于 X[0..i],不依赖未来。
这些性质可以通过定理证明器(如Lean)验证,确保实现符合规范。
-
前馈网络(FFN)
形式化为:两层线性变换加非线性激活 FFN(x) = σ(x W_1 + b_1) W_2 + b_2。
低秩视角:这可以看作在隐维度上对每个位置独立进行函数逼近。形式化上,FFN可以近似任意连续函数(通用近似定理的一个具体案例)。 -
残差连接与层归一化(形式化规范)
- 残差:x ← x + Sublayer(x) —— 保证梯度恒等映射路径存在。
- 层归一化:LN(x) = (x - μ)/σ · γ + β —— 保持输出的均值和方差在稳定范围内。
- 形式化可验证属性:残差连接确保模型深度增加时,不会退化到比浅层更差(恒等映射总是可选的)。
训练与推理的形式化语义
- 预训练目标(极大似然估计)
- 形式化陈述:给定语料库 D,寻找参数 θ 最大化 Σ_{sequence ∈ D} Σ_{t} log P_θ(w_t | w_<t)。
- 等价于:最小化真实分布 P* 与模型分布 P_θ 之间的交叉熵。
- 形式化约束:在无限数据、完美优化的假设下,P_θ → P*(信息论中的渐近一致性定理)。
-
梯度下降优化(抽象解释)
将优化过程形式化为离散动力系统:θ_{k+1} = θ_k - η ∇L(θ_k)。
形式化收敛条件:若损失函数 L 是凸的(实际非凸)且学习率 η 满足某些条件(如Robbins-Monro条件),则 θ_k 收敛到全局最优。 -
自回归生成(形式化推导)
生成一个长度为 T 的序列相当于定理证明过程:
- 公理:初始序列 []
- 推理步骤:在第 t 步,模型证明下一个 token 的“最佳选择”:
w_t = argmax_{v∈V} P_θ(v | w_<t) (贪心解码)
或更一般地,从分布中采样。 - 终止条件:生成 或达到最大长度。
用形式化证明分析当前模型的局限
通过形式化框架,我们能清晰定位语言模型的固有限制(而非工程缺陷)
当前前沿方向正在用形式化方法改进语言模型:
- 规范驱动的解码
- 在生成过程中,加入一个形式化验证器(如类型检查器、约束求解器)。模型每次预测 token 时,验证器检查部分生成的序列是否仍有可能满足最终规范(如满足特定语法、JSON schema)。这可以视为带证明的生成。
- 用定理证明器训练/微调
- 像Lean或Isabelle 这样的证明助手可以生成大量正确推理链。用这些数据微调语言模型,可以显著提高模型在数学推理任务上的表现(如 Minerva、GPT-f 项目)。
- 形式化验证模型压缩
- 对模型进行量化、剪枝、低秩近似后,可以用形式化方法(如抽象解释)证明压缩后的模型与原模型在某个精度阈值内行为一致。这对于安全关键应用(如医疗、自动驾驶)至关重要。
- 可微分定理证明器
- 将逻辑推理规则设计为可微分的模块,与神经网络联合训练。这允许模型在神经网络无法处理的符号推理步骤上,回传梯度,实现神经符号学习。