什么是模型调整?

音响工程师操作混音台的后视图

作者

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

什么是模型调整?

模型调整优化机器学习模型的超参数,以获得最佳的训练性能。该过程涉及进行调整,直到找到最佳的超参数值集,从而提高准确性、生成质量和其他性能指标。

由于模型调整可以确定模型的最佳超参数,因此它也被称为超参数优化,或超参数调整

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

什么是超参数?

超参数是无法从训练数据中得出的模型配置变量。这些变量决定了模型的关键功能和行为。一些超参数(如学习率)可以控制模型在训练过程中的行为。其他参数则决定模型本身的性质,比如设置神经网络层数的超参数。

数据科学家必须在训练开始之前配置机器学习 (ML) 模型的超参数值。提前选择正确的超参数组合对于成功训练 ML 模型至关重要。

超参数与模型参数

模型参数或模型权重是人工智能 (AI) 模型在训练期间发现的变量。AI 算法学习其训练数据集的底层关系、模式和分布,然后将这些发现应用于新数据以做出成功的预测。

机器学习算法接受训练时,会设置并更新其参数。这些参数代表模型从训练数据集中学习的内容,并会随着优化算法的每次迭代而变化。

为什么模型调整很重要?

模型调整很重要,因为超参数值直接影响模型性能。良好的超参数配置能让模型在训练过程中学习得更好。

如果没有良好的调整,模型就容易过拟合 - 即模型过于接近其训练数据而无法适应新的数据集。其他缺点可能包括过大的模型偏差或方差。

每种机器学习算法都有自己的超参数最佳组合,其中一些对性能的影响比其他的更大。将模型调整限制在一组最具影响力的核心超参数可以减少时间和计算资源需求。

      过拟合

      当模型对于训练数据来说过于复杂时,就会出现过拟合。它的超参数创建的神经网络具有过多的层数或过多的可训练参数。由于过拟合,模型对其训练数据集的适应程度过高。过拟合的模型无法适应新数据,因为它无法从其训练数据进行泛化。

      想象一下教室里有两名学生。一个学生通过记住事实来学习,另一个学生通过理解所教授的基本概念来学习。到目前为止,两人在涵盖课程材料的测试中都表现出色。但是,当他们需要将学习应用于新主题时会怎么样呢?

      能够归纳概括的学生将成功地转移他们所学到的知识,而依赖记忆的学生可能也很难做到这一点。他们的理解对于课堂内容的细节“过拟合”,未能掌握核心原则。

      偏见

      偏差是模型预测与实际结果之间的差距。虽然偏差可能源于有缺陷的数据集,但偏差也可能源于不理想的模型调整,即使训练数据可行,模型也无法很好地学习。

      具有高偏差的模型会忽略训练数据中的细微之处,并且可能无法在训练期间生成准确的预测。更简单的算法,例如线性回归,更容易出现高偏差,因为它们无法在训练数据中捕捉到更复杂的关系。

      为特定任务选择正确的算法是获得良好性能的第一步,甚至在模型调整开始之前就是如此。

      方差

      方差反向描述了模型预测的一致性。方差越大,意味着模型对未知数据的预测越不一致,尽管它们在训练数据集上通常表现良好。方差较大的模型容易出现过拟合,它们无法将从训练数据中学习到的知识转移到新数据中。

      正则化是一种通过改变偏差-方差比以支持更大的偏差来减少过拟合的技术。良好的模型调整可以管理偏差和方差之间的权衡,以实现最佳的真实预测。

      Mixture of Experts | 12 月 12 日,第 85 集

      解码 AI:每周新闻摘要

      加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

      模型调整的工作原理?

      模型调整的工作原理是发现能带来最佳训练结果的超参数配置。有时,例如在构建较小、简单的模型时,数据科学家可以提前手动配置超参数。但是转换器和其他复杂模型可能有数千种超参数组合。

      有了这么多的选择,数据科学家可以限制超参数搜索空间,以覆盖最有可能产生最佳结果的潜在组合部分。他们还可以使用自动化方法通过算法发现适合其用例的最佳超参数。

        模型调整方法

        最常见的模型调整方法包括:

        • 网格搜索

        • 随机搜索

        • 贝叶斯优化

        • 超频道

        网格搜索

        网格搜索是“暴力”式的模型调整方法。数据科学家创建一个包含每个可能的超参数值的搜索空间。然后,网格搜索算法生成所有可用的超参数组合。该模型针对每个超参数组合进行训练和验证,并选择性能最佳的模型以供使用。

        由于网格搜索测试所有可能的超参数值,而不是较小的子集,因此它是一种全面的优化方法。这种扩大范围的缺点是网格搜索非常耗时且占用大量资源。

          随机搜索

          随机搜索算法不是测试所有可能的超参数配置,而是从潜在选项的统计分布中选择超参数值。数据科学家汇总最可能的超参数值,增加算法选择可行方案的机会。

          随机搜索比网格搜索更快并且更容易实现。但是,由于每个组合都没有经过测试,因此无法保证会找到单个最佳超参数配置。

          贝叶斯优化

          与网格搜索和随机搜索不同,贝叶斯优化是根据先前的尝试结果来选择超参数值的。该算法利用之前超参数值的测试结果来预测可能带来更好结果的参数值。

          贝叶斯优化的工作原理是构建目标函数的概率模型。随着时间的推移,这种替代函数的效率会随着结果的改进而提高,它可以避免将资源分配给性能较低的超参数值,同时锁定最佳配置。

          根据前几轮测试优化模型的技术称为基于序列模型的优化 (SMBO)。

            超频道

            Hyperband 专注于有前景的超参数配置,同时放弃可行性较低的搜索,从而改进了随机搜索工作流程。在每次测试迭代中,Hyperband 算法都会删除所有测试配置中表现最差的一半。

            Hyperband 的“连续减半”方法始终专注于最有希望的配置,直到从原始候选配置池中发现单个最佳配置。

            模型调整与模型训练

            模型调整是发现最佳超参数的过程,而模型训练是教导机器学习识别数据集中的模式并对新数据做出准确预测的过程。

            训练过程使用优化算法来最小化损失函数或目标函数,以衡量模型预测值与实际值之间的差距。目标是确定模型权重和偏差的最佳组合,以得到目标函数尽可能低的值。优化算法在训练期间定期更新模型的权重。

            梯度下降系列优化算法通过降低损失函数的梯度来发现其最小值:模型最准确的点。局部最小值是指定区域中的最小值,但可能不是函数的全局最小值,即绝对最小值。

            并不总是需要确定损失函数的全局最小值。当模型的损失函数成功最小化时,称其达到收敛。

            交叉验证、测试和再训练

            训练后,模型将进行交叉验证,即使用另一部分训练数据检查训练结果。将模型的预测值与验证数据的实际值进行比较。然后,性能最高的模型移动到测试阶段,在部署之前再次检查其预测的准确性。交叉验证和测试对于大型语言模型 (LLM) 评估至关重要。

            再训练是 MLOps(机器学习运营)AI 生命周期的一部分,它会随着时间的推移不断自主地重新训练模型,以使其保持最佳性能。

            模型调整与微调

            模型优化确定用于训练的最佳超参数值,而微调是针对特定下游任务调整预训练基础模型的过程。微调是一种迁移学习,即令模型预先存在的学习适应新任务。

            通过微调,预训练模型可以再次在与模型预期用例相关的更小、更专业的数据集上进行训练。最初在小型数据集上训练模型可能会有过拟合的风险,但使用大型通用数据集进行训练有助于降低这种风险。

            超参数示例

            虽然每个算法都有自己的一组超参数,但许多超参数在相似的算法之间是共享的。支持大型语言模型 (LLM) 的神经网络中的常见超参数包括:

            • 学习率

            • 学习率下降

            • Epochs

            • 批大小

            • Momentum

            • 隐藏层数量

            • 每层节点数

            • 激活函数

            学习率

            学习速率决定模型在训练期间更新权重的速度。更高的学习速率意味着模型学习得更快,但存在超出其损失函数局部最小值的风险。同时,较低的学习速率可能会导致训练时间过长,增加资源和成本需求。

            学习率下降

            学习速率衰减是一个超参数,它会随着时间的推移减慢 ML 算法的学习速率。该模型起初更新其参数的速度更快,然后在接近收敛时参数更新会更加细致,从而降低了过冲的风险。

            Epochs

            模型训练涉及将模型多次暴露于其训练数据中,以便迭代更新其权重。每次模型处理其整个训练数据集时都会增加一个轮次,轮次超参数设置了构成训练过程的轮次数。

            批大小

            在优化算法的每次迭代中,机器学习算法不会处理整个训练数据集。取而代之的是,将训练数据分成若干批次,每批训练后更新模型权重。批次大小决定了每个批次中数据样本的数量。

            Momentum

            动量是 ML 算法倾向于以与先前更新相同的方向更新其权重。将动量视为算法学习的信念。高动量会导致算法更快地收敛,但存在绕过显著局部最小值的风险。同时,低动量可能导致算法在更新时来回摇摆,从而阻碍其进展。

            隐藏层数量

            神经网络模拟人类大脑的结构,包含多层相互连接的神经元或节点。这种复杂性使得高级模型(例如转换器模型)能够处理复杂的生成任务。更少的层可以使模型更精简,但更多的层有助于处理更复杂的任务。

            每层节点数

            神经网络的每一层都有预定数量的节点。随着层宽度的增加,模型处理数据点之间复杂关系的能力也会增加,但代价是计算要求更高。

            激活函数

            激活函数是一个超参数,它赋予模型在数据组之间创建非线性边界的能力。当无法将数据点准确分类到由直线分隔的组中时,激活操作可为更复杂的划分提供所需的灵活性。

            没有激活函数的神经网络本质上是线性回归模型。

            相关解决方案
            IBM® watsonx.ai

            使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

            深入了解 watsonx.ai
            人工智能 (AI) 解决方案

            借助 IBM 业界领先的 AI 专业知识和解决方案组合,让 AI 在您的业务中发挥作用。

            深入了解人工智能解决方案
            人工智能 (AI) 咨询服务

            IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

            深入了解人工智能服务
            采取后续步骤

            一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

            深入了解 watsonx.ai 预约实时演示