超参数在微调人工智能模型中的作用

avatar
AI News
01-10
本文为机器翻译
展示原文

您有一个基于 AI 的应用程序的好主意。将微调视为教授预训练的 AI 模型一个新的技巧。

当然,它已经从大型数据集的训练中学习了很多,但您需要根据自己的需求对其进行调整。例如,如果您需要它来捕捉扫描中的异常情况或弄清客户反馈的真正含义。

这就是超参数的用武之地。将大型语言模型视为基本配方,而超参数则是您用来赋予应用程序独特"风味"的调料。

在本文中,我们将介绍一些基本的超参数和模型调优。

什么是微调?

想象一个擅长绘制风景画的人决定转向肖像画。他们理解基础知识 - 色彩理论、笔触、透视 - 但现在他们需要调整自己的技能来捕捉表情和情感。

挑战在于教会模型新任务,同时保持其现有技能不变。您也不希望它过于"痴迷"于新数据而忽视大局。这就是超参数调整拯救局面的地方。

LLM 微调有助于 LLM专业化。它利用较小的数据集,将它们的广泛知识训练成擅长特定任务。

为什么超参数在微调中很重要

超参数是将"勉强够用"的模型变成真正出色模型的关键。如果您过度推动,模型可能会过度拟合或错过关键解决方案。如果您过于温和,模型可能永远无法发挥其全部潜力。

将超参数调整视为一种业务自动化工作流程。您正在与模型对话;您调整、观察并不断改进,直到一切就位。

微调时要了解的 7 个关键超参数

微调成功取决于调整几个重要设置。这可能听起来很复杂,但这些设置都很合乎逻辑。

1. 学习率

这控制了模型在训练过程中改变其理解的程度。这种类型的超参数优化至关重要,因为如果您作为操作员...

  • 走得太快,模型可能会跳过更好的解决方案,
  • 走得太慢,它可能会让您感觉像在看油漆干 - 或者更糟,它会完全卡住。

对于微调,通常需要小心谨慎的调整(就像调节灯光的调光开关一样)。在这里,您需要在准确性和快速结果之间找到平衡。

您如何确定正确的组合取决于模型调整的进展情况。您需要定期检查进度。

2. 批量大小

这是模型一次处理的数据样本数量。当您使用超级调整优化器时,您希望获得恰当的大小,因为...

  • 较大的批次速度快但可能会忽略细节,
  • 较小的批次速度慢但更彻底。

中等大小的批次可能是最佳选择 - 刚刚好。同样,找到平衡的最佳方法是仔细监控结果,然后再进入下一步。

3. 纪元

纪元是完整运行数据集的次数。预训练模型已经知道很多,所以通常不需要像从头开始训练的模型那样多的纪元。多少个纪元是合适的?

  • 太多,模型可能开始记忆而不是学习(你好,过度拟合),
  • 太少,它可能无法学习足够的知识而变得有用。

4. 丢弃率

这就像强迫模型变得有创意。您通过在训练期间随机关闭模型的某些部分来实现这一点。这是一个很好的方法,可以阻止您的模型过度依赖特定路径并变得懒惰。相反,它鼓励 LLM 使用更多样化的问题解决策略。

如何才能做到这一点?最佳丢弃率取决于数据集的复杂程度。一般经验法则是,丢弃率应与异常值的概率相匹配。

因此,对于医疗诊断工具,使用较高的丢弃率来提高模型的准确性是有意义的。如果您正在创建翻译软件,您可能需要略微降低该率以提高训练速度。

5. 权重衰减

这可以防止模型过于依恋任何一个特征,从而有助于防止过度拟合。可以将其视为一种温和的提醒,让模型"保持简单"。

6. 学习率调度

这会随时间调整学习率。通常,您会从大幅更新开始,然后逐渐过渡到微调模式 - 就像在画布上从大笔触开始,然后细化细节一样。

7. 冻结和解冻层

预训练模型带有知识层。冻结某些层意味着您锁定了它们现有的学习,而解冻其他层则允许它们适应您的新任务。您是否冻结或解冻取决于旧任务和新任务的相似程度。

微调的常见挑战

微调听起来很棒,但让我们不要掩饰它 - 您可能会遇到一些障碍:

  • 过度拟合:小型数据集使模型很容易变懒并记住而不是概括。您可以使用早停、权重衰减和丢弃等技术来控制这种行为,
  • 计算成本:测试超参数似乎就像在玩打地鼠游戏。这很耗时,而且可能需要大量资源。更糟糕的是,这有点像猜谜游戏。您可以使用 Optuna 或 Ray Tune 等工具来自动化一些繁重的工作。
  • 每个任务都不同:没有一刀切的方法。对于一个项目有效的技术可能会对另一个项目造成灾难性后果。您需要进行实验。

成功微调 AI 模型的技巧

请记住以下建议:

  • 从默认值开始:检查任何预训练模型的推荐设置。将它们用作起点或作弊表,
  • 考虑任务相似性:如果您的新任务与原始任务非常相似,请进行小幅调整并冻结大部分层。如果是 180 度大转弯,请让更多层适应并使用适度的学习率,
  • 密切关注验证性能:检查模型在单独的验证集上的表现,以确保它正在学习概括而不是仅仅记住训练数据。
  • 从小开始:在运行整个模型之前,先用较小的数据集进行测试。这是一种快速捕捉错误的方法,避免它们雪球般扩大。

最后的想法

使用超参数可以更轻松地训练您的模型。您需要经历一些反复试验,但结果值得付出的努力。当您做对了,模型就会出色地完成任务,而不是只做出平庸的努力。

本文最初发表于《AI News》

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
2
收藏
评论