概述
It is a quiet but essential ingredient that makes deep transformers trainable.
深入探讨
Ba、Kiros 和 Hinton 于 2016 年提出,层归一化 (LayerNorm) 解决了当信号穿过多个层时,深层网络内部的激活可能会漂移到截然不同的规模,从而减慢或不稳定学习的问题。与批量归一化不同的是,批量归一化对小批量中示例的每个特征进行归一化,而 LayerNorm 对单个示例的特征进行归一化。这使得它独立于批量大小,并且同样可用于训练和推理,并且它可以自然地与可变长度序列一起工作,这就是为什么它成为支持现代语言模型的变压器的标准。标准化后,它应用可学习的尺度(gamma)和移位(beta),以便网络可以恢复它需要的任何表示。
现实世界的实施
稳定 GPT 和 BERT 等语言模型中的每个转换器块。
启用 RMSNorm 作为 Llama 系列模型中较轻的标准化选择。
对批量大小不同的语音和翻译模型中的可变长度序列数据进行标准化。
允许批量大小为 1 的可靠训练,例如在某些强化学习设置中。
层标准化的未来
正在简化标准化以提高规模效率。在较新的大型语言模型中,RMSNorm 已在很大程度上取代了 LayerNorm,因为它更便宜且效果同样好,并且预规范放置现在是非常深的堆栈的默认设置。研究人员继续探索无归一化的架构,而是使用仔细的初始化或缩放技巧,旨在减少开销,同时保持归一化提供的训练稳定性。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
What is Layer Normalization?
层归一化通过重新调整每个示例中的激活来稳定训练,使它们具有零均值和单位方差。它是一种安静但必不可少的成分,可以使深度变形金刚变得可训练。
层归一化通过什么计算其均值和方差?
LayerNorm 对单个样本的特征维度进行归一化,使其独立于批次中的其他样本。
为什么在 Transformer 中层归一化优于批量归一化?
由于其统计数据来自单个示例,因此无论批量大小如何,LayerNorm 都会表现一致,并且适合可变长度的文本序列。
可学习参数 gamma 和 beta 让 LayerNorm 做什么?
归一化至零均值和单位方差后,伽玛尺度和贝塔会改变结果,因此模型不会被迫进入固定分布。
RMSNorm 与标准 LayerNorm 有何不同?
RMSNorm 省略了均值中心化步骤,并通过激活的均方根进行缩放,这更便宜并且在 Llama 等模型中使用。
层归一化主要帮助解决深度网络中的什么问题?
当信号穿过多层时,它们的规模可能会放大或缩小。归一化使激活保持在稳定的范围内,因此梯度表现良好。