AI 术语表 · 基础 · 语言模型
梯度下降
梯度下降(Gradient Descent)是一种让 AI 模型朝着减少错误程度(损失)的方向一点点调整参数来进行学习的方法。如今大多数深度学习模型都采用这种方法或其变体进行训练。
通俗解释 这就像在浓雾中下山时,只凭脚下感受到的坡度,朝最陡的下坡方向一步一步挪动。不过,真实模型的“地形”是一个有数百万到数十亿个方向的空间,比人们想象中的山要复杂得多。
工作原理
首先,模型用当前参数进行预测,并通过损失函数计算预测与正确答案相差多少。接着,求出每个参数稍作改变时损失会朝哪个方向、变化多少,即梯度。在神经网络中,这个梯度通过反向传播高效计算。然后沿梯度的反方向,也就是损失减小的方向,稍微调整参数。这一过程会反复进行无数次,直到损失足够小。
为什么重要
梯度下降是让庞大的神经网络真正能够被训练的核心工具。无需人逐条制定规则,只要有数据和损失函数,模型就能自己调整参数。LLM 的预训练和微调归根结底也建立在这一原理之上。因此,它被视为理解深度学习时最先需要了解的概念之一。
注意事项
决定每次移动幅度大小的值称为学习率。学习率过大会越过最低点,使训练不稳定;过小则会让训练过于缓慢。实际中主要使用用小批量数据(mini-batch)而非全部数据来求梯度的随机梯度下降(SGD),以及在此基础上改进的 Adam 等方法。此外,它并不保证一定能找到损失最低的点,很多时候会停在一个足够好的位置。
示例
在训练聊天机器人所用的 LLM 时,模型会预测句子中的下一个 token,并与实际的下一个 token 比较来计算损失。朝着减少该损失的方向调整参数,这项工作要在海量文本上反复进行,而这个“调整方法”正是梯度下降类的优化算法。公司用自有数据对模型进行微调时,用的也是同样的原理。