#归一化

汉松
3天前
从零实现 vLLM 的第四篇文章,我们将目光转向 Transformer 架构中另一个看似简单、却至关重要的组件:RMSNorm(均方根归一化)。 我们先来看看什么是归一化,假设你刚考完期末考试,三门课的成绩出来了: 数学:120分(满分150) 英语:80分(满分100) 物理:160分(满分200) 哪门课考得最好?如果你直接比较 120、80、160,会得出物理最好的结论。但真实情况是:三门课其实考得一样好。 数学:120/150 = 80% 英语:80/100 = 80% 物理:160/200 = 80% 这就是归一化的核心思想:把不同量纲、不同范围的数据转换到统一的标准下进行比较。 为什么神经网络需要归一化? 想象一下,你在玩传话游戏。第一个人说"我喜欢苹果",传到第十个人那里变成了"我喜欢菠萝"。这就是深度神经网络面临的问题。 每一层网络都会对输入做一些计算,然后把结果传给下一层。问题是,随着层数增加,这些数值会变得越来越不可控——要么爆炸式增长,要么消失得无影无踪。就像传话游戏一样,信息在传递过程中逐渐失真。 在模型中加入归一化层,能够降低梯度爆炸或者消失的概率,模型的训练过程变得更加稳定。归一化技术从一开始的 BatchNorm 先演进到 LayerNorm,最后进化到了 RMSNorm,成为大模型的标配。 我的文章会带大家走进归一化技术的演进史,感兴趣的可以查看原文。