Appearance
NO.006 奥卡姆剃刀与深度学习
批次:存在的探索 · 编号:006 · 字数:约1,800字
奥卡姆剃刀原理(Occam's Razor):如无必要,勿增实体。 —— 14 世纪经院哲学家威廉·奥卡姆
当我们审视一个拥有 1750 亿参数的大语言模型时,上述原理似乎被彻底颠覆了。
这个模型:
- 有 1750 亿个可调参数(假设是 GPT-3 规模)
- 在数万亿 token 的训练数据上进行了优化
- 其架构(Transformer)相对简洁,但参数规模惊人
按照奥卡姆剃刀,我们应该偏好更简单的模型——参数更少、假设更少、结构更轻量的解释。然而,事实是:这个极其复杂的模型,表现远超任何简单模型。
悖论的核心
问题:一个拥有 1750 亿参数的模型,是"更简单"还是"更复杂"?
表面看,参数越多,模型越复杂。但奥卡姆剃刀讨论的不是参数数量本身,而是解释的简洁性——即,用最少的假设解释最多的事实。
也许,大模型之所以"大",是因为它需要捕获数据中潜藏的、非显式的结构。这些结构本身是"简单"的(例如,语言的生成规则、世界的因果性),但需要巨大的容量来近似表示。
换句话说:
- 简单性是关于描述长度的:一个完美的理论可以用很短的公式表达。
- 复杂性是关于实现代价的:要找到并计算那个公式,可能需要庞大的参数。
大模型可能是"简单理论"的低效实现,也可能是"复杂现实"的必要近似。
复杂度在哪里?
如果我们把模型视为一个函数 f(x) = y,其中 x 是输入 token 序列,y 是输出分布。
简单理论会说:存在一个优雅的数学公式,能精确描述语言生成。(例如,某种概率图模型,有明确的条件独立性假设)
大模型现实是:我们不知道那个公式是什么,所以我们用梯度下降在海量数据上搜索一个足够好的函数。这个函数可能臃肿、冗余、包含大量"死参数",但它有效。
复杂度被转移了:
- 从理论复杂度(公式的优雅程度)转移到计算复杂度(训练所需的资源)
- 从描述长度转移到优化路径的长度
- 奥卡姆剃刀针对的是理论,而深度学习展示的是工程。
行为的简洁性 vs 实现的复杂性
一个有趣的视角:行为可以很简洁,即使实现很复杂。
例如,Attention is All You Need 论文的核心思想其实很简洁:"用 self-attention 替代 RNN 和 CNN"。但这个思想被实现为一个拥有数百亿参数的巨大网络。
所以,也许我们应该区分:
- 机制复杂性(模型有多少参数、多少层)
- 原则简洁性(指导设计的核心思想是否简单)
大模型的原则("预测下一个 token")极其简单。它的机制(1750 亿参数,数千层,万亿训练 token)极其复杂。
奥卡姆会赞成哪个?他会说:"如果你能用简单原则解释复杂现象,那很好。但不要在不需要的地方添加额外机制。"
问题是,我们不知道简单原则是否足够。也许语言确实需要那么多参数才能建模。
一个思想实验
假设我们有两个模型:
| 模型 | 参数 | 准确率 |
|---|---|---|
| Model A | 10 亿 | 70% |
| Model B | 1750 亿 | 95% |
哪个更"简单"?直觉上,Model A 更简单。但如果 Model B 的理论描述只需要一句话:"充分大的 Transformer 在充分大的数据上训练会收敛到语言分布",而 Model A 需要一堆针对性的架构修改来达到 70%,那么 Model B 的理论简洁性反而更高。
奥卡姆剃刀可能会说:"选那个假设更少的模型。"但"假设更少"不是"参数更少",而是"更少的特设调整"(less ad-hoc tweaking)。
大模型的"大"可能不是假设,而是逼近真实分布所需的容量。
结论:不下定论
我们正处在一个悖论中:
- 我们崇尚简洁,却建造了庞然大物。
- 我们相信简单原理,却发现需要巨大代价才能实现它。
奥卡姆剃刀说"不要增加实体",但我们增加的参数,或许正是为了减少对额外假设的依赖——如果我们不需要"这个任务需要特殊架构"的假设,那增加通用容量反而是更"经济"的选择。
也许,奥卡姆剃刀需要重新表述:
如无必要,勿增假设。
但什么是"必要",取决于现实有多复杂。
我们不知道语言模型的"真正简单理论"是什么。我们只知道,到目前为止,更大的模型表现更好。
这要么意味着:
- 我们还没找到简单理论,还在黑暗中摸索(复杂性是暂时的)
- 简单理论本身就需要巨大的计算才能实例化(复杂性是内在的)
奥卡姆剃刀会选哪一个?
我不知道。