模型训练是使用与模型最终用例相关的样本任务的数据集,“教导”机器学习模型以优化性能的过程。如果训练数据与模型将要处理的实际问题非常相似,那么学习其模式和相关性就能让训练有素的模型对新数据做出准确预测。
对于诸多 AI 模型,无论是预测系统(基于基本线性回归算法构建),还是复杂神经网络(为生成式 AI 提供支持),训练过程是都是其生命周期中最关键的步骤。
模型训练是进行“学习”的机器学习 (ML) 步骤。在机器学习中,学习涉及调整 ML 模型的参数。这些参数包括构成其算法的数学函数中的权重和偏差。此次调整的目的是为了产生更准确的输出。这些权重和偏差的具体数值是模型训练的最终结果,是模型“知识”的切实体现。
从数学上讲,这种学习的目标是最大限度地减小损失函数;该函数可以量化训练任务中模型输出的误差。当损失函数的输出低于某个预定阈值时(意味着模型在训练任务上的误差足够小),该模型就被视为“经过训练”。在强化学习中,目标正好相反:优化模型参数不是为了最小化损失函数,而是为了最大化奖励函数。
在实践中,模型训练需要经历一个周期,即收集和整理数据,在训练数据上运行模型,衡量损失,相应地优化参数,并在验证数据集上测试模型性能。工作流程不断迭代进行,直到获得满意的结果。充分的训练可能还需要调整超参数(影响学习过程但本身不可“学习”的结构选择),这个过程称为超参数调整。
有时,可以通过进一步学习新的训练数据对已经训练好的模型进行微调,以适应更具体的任务或领域。尽管最初的从头训练和随后的微调都是“训练”,但在这种情况下,前者通常被称为“预训练”,以便区分两者。微调是迁移学习的几种类型之一;迁移学习是指使预训练模型适应新用途的机器学习技术的总称。
虽然“模型”和“算法”这两个词在人工智能领域经常互换使用,但它们并不是一回事。区别主要在于每个术语与模型训练的关系。
换句话说,AI 模型用于进行预测或决策,而算法则是该模型运行所依据的数学逻辑。两个模型可能使用相同的基础算法,但在该算法中具有不同的权重和偏差值,因为它们使用不同的数据进行训练。
深度学习是机器学习的一个子集,其模型是具有许多层的神经网络,因此被称为“深度”,而不是逻辑回归或朴素贝叶斯这样明确设计的算法。两个深度学习模型可能具有相同的结构,例如标准自动编码器,但在层数、每层的神经元数量或每个神经元的激活函数方面有所不同。
在大多数情况下,训练几乎与学习同义:数据科学家进行训练;模型进行学习。学习需要调整机器学习算法的参数,直到最终模型的输出满足准确性或实用性的某些指标。训练需要收集训练数据和调整超参数(例如选择损失函数、设置参数的更新率或改变神经网络的架构)以促进学习。
AI 模型通常被归类为属于三种不同的机器学习范式之一:监督学习、无监督学习或强化学习。每种类型的机器学习都有自己独特的用例、超参数、算法和训练过程。
当训练模型来预测输入的“正确”输出时,使用监督学习。它适用于需要相对于某些外部“基本事实”具有一定准确度的任务,例如分类或回归。
无监督学习用于对模型进行训练,以识别数据中的内在模式和相关性。与监督学习不同,无监督学习并不假定存在任何外部基本事实,其输出结果也不需要与之进行比较。
强化学习用于训练模型评估环境,并采取能获得最大奖励的行动。
值得注意的是,每种机器学习范式的定义和区别并不总是正式的或绝对的。例如,自监督学习 (SSL) 可以分为监督学习或无监督学习,具体取决于关注这些术语定义的哪个方面。半监督学习结合了无监督学习和监督学习。
另外值得注意的是,有时可使用多种类型的机器学习来训练单个 AI 系统。例如,大型语言模型 (LLM)(用于聊天机器人等会话应用)版本通常要经过自监督预训练,然后进行监督微调,最后再进行基于人类反馈的强化学习 (RLHF)。
作为构成深度学习模型的神经网络的主要训练形式,监督学习是当今最先进的 AI 模型的基础。监督学习是需要准确性的任务(例如分类或回归)的主要训练范式。
训练模型的准确性需要将其对特定输入的输出预测与该输入的“正确”预测(通常称为基本事实)进行比较。在传统的监督式学习中,该基本事实由标记的数据对提供。例如,对象检测模型的训练数据将原始图像(输入)与图像的注释版本配对,注释版本指示其中每个对象的位置和分类(输出)。
因为这种训练方法需要一个人在循环中提供基本事实,所以它被称为“监督式”学习。但监督学习的决定性特征不是人类的参与,而是使用一些基本事实并确保衡量与其背离度的损失函数最小化。随着创新的新学习技术设计出从未标记数据中隐式推断“伪标签”的方法,这种区别变得很重要。
为了适应更加泛用的监督学习概念,现代 ML 术语使用“监督”或“监督信号”来指代任何基本事实来源。在自监督学习中,由于它使用未标记的数据,因此名义上是“无监督的”,监督信号源自未标记数据本身的结构。例如,LLM 通过 SSL 进行预训练,方法是预测文本样本中的遮蔽词,并将原始文本用作基本事实。
与监督学习不同,无监督学习不假设“正确”答案预先存在,因此不涉及监督信号或传统损失函数。无监督学习算法试图发现未标记数据中的内在模式,例如相似性、相关性或潜在分组,并且在这些模式对人类观察者来说不一定明显的情况下最有用。
无监督学习算法的主要类别包括:
顾名思义,无监督学习算法可以被广泛理解为某种程度上的“自我优化”。例如,犹他大学教授 Andrey Shabalin 博士的这段动画演示了 k-means 聚类算法如何迭代优化每个聚类的质心。
因此,使用无监督学习算法训练 AI 模型通常是超参数调整的问题。例如,在聚类算法中,理想的聚类数 () 并不总是显而易见的,可能需要手动实验才能产生最佳结果。
监督学习通过优化模型使其与理想的样例拟合来进行训练,无监督学习算法则使自己拟合数据集,而强化学习模型则是通过反复试验进行整体训练的。强化问题不涉及单一的“正确”答案;相反,它们涉及“好”的决定和“坏”的(或许是中性的)决定。
强化学习 (RL) 不使用监督学习中使用的独立的输入-输出数据对,而是对相互依赖的状态-动作-奖励数据元组进行运算。强化学习的数学框架主要建立在以下组件之上:
RL 算法的目标是优化策略以产生最大奖励。在深度强化学习中,策略表示为一个神经网络,其参数不断更新,以最大化奖励函数(而不是最小化损失函数)。
模型开发生命周期由多个过程组成,其中一些过程以迭代方式周期性重复,直到取得满意的结果。
虽然强化学习、监督学习和无监督学习各自都有其独有的训练元素,但训练模型所需的一般工作流通常包括以下步骤:
正确的算法(或神经网络架构)不仅仅取决于您需要解决的问题和模型将处理的数据类型。理想模型类型还取决于您是否较之准确性和性能更优先考虑速度和效率(或相反),以及预算和您可用的硬件或计算资源。例如,训练或微调 LLM 通常需要多个图形处理单元 (GPU)。
为用例获取高质量的训练数据并非易事,尤其是对于深度学习模型,它们通常需要数千甚至数百万的示例才能进行充分训练。尽管专有数据管道为定制和竞争优势提供了独特的机会,但大多数领域和任务都有可靠的开源数据集可用。在某些领域,特别是自然语言处理 (NLP),生成合成数据是一种日益可行的选择。
要用于训练,原始数据(尤其是直接收集或从多个数据源整理而来的数据)通常需要进行一些预处理,其中可能包括清理数据、规范化值和标准化格式。有许多服务可以将该过程部分或全部自动化,例如 Docling,这是一种开源代码工具,可将 PDF 和其他文件格式转换为更具机器可读性的文本,同时保留重要的结构元素。
对于监督学习,必须对数据进行标记,有时还要注明重要的细节。例如,用于训练图像分割模型的图像必须标注到像素级别。这种标记可能需要大量的时间和人力,这两点都应在时间表和预算中加以考虑。
即使选择了算法或模型架构,您仍有更多的选择要做。传统的 ML 算法很少是千篇一律的,而神经网络则更加不标准化。选择正确的超参数(参数优化之外的算法的模块化元素)对于高效和成功的训练至关重要。
当训练进展不顺利时,或者使用无监督学习算法或非参数监督学习算法(如决策树)时,可以通过超参数调整来改进和增强模型的性能。可能需要进行一些反复试验才能找到最佳的学习率、分批大小、损失函数(和正则化项)或优化算法。
其中一个参数是可学习参数的初始化。它们通常是随机的,但即使是参数的随机化也有多种策略。最佳初始参数也可以通过一种称为元学习的技术来“学习”。
设置初始参数和超参数后,模型将处理从训练数据集中提取的一批输入数据示例。由于初始参数是随机的,因此模型通常不会产生“良好”的输出。首个训练轮次的目标只是建立一个基线,然后进行优化。批量大小(在计算损失和优化参数之前在每个“批次”中处理的示例数量)本身就是一个重要的超参数。
有许多开源框架用于配置和运行机器学习模型进行训练,例如 PyTorch、Keras 或 TensorFlow。大多数都基于 Python 或 JavaScript 运行,并且作为社区驱动的项目,为初学者提供了丰富的教程内容库。
当您的模型通过训练示例进行工作时,您选择的损失函数会跟踪模型的输出与每个输入的“正确”更新之间的差异。在深度学习中,模型是由相互嵌套的各种方程组成的神经网络,反向传播用于计算神经网络的每个节点对整体损失的贡献。
在监督学习中,训练的正式目标通常是最小化该损失函数。而一些模型架构,例如变分自编码器 (VAE),通过最大化损失函数的某些代理来重新表述问题。RL 算法通常寻求最大化奖励函数,有时同时最小化惩罚不良行为的正则化项。
ML 算法的优化通常由单独的算法执行。在数学中,优化算法旨在通过确定该函数中变量的最优值来最小化或最大化某些其他函数(在本例中为损失函数或奖励函数)。在 ML 中,这些变量是算法中的权重和偏差,或神经网络不同节点之间的权重和偏差。
理想的优化算法取决于正在训练的模型的类型。许多 ML 算法,尤其是基于神经网络的模型,都使用梯度下降的变体。二次函数的某些算法,如支持向量机 (SVM),可能更适合二次规划。线性回归算法通常通过最小二乘法进行优化。强化学习有自己的优化算法,例如近端策略优化 (PPO)、直接策略优化 (DPO) 或优势演员-评论家 (A2C)。
这一系列训练步骤(调整超参数、在一批训练数据上运行模型、计算损失和优化参数)将在多次迭代中重复,直到损失充分最小化。
我们对 2,000 家组织进行了调查,旨在了解他们的 AI 计划,以发现哪些方法有效、哪些方法无效,以及如何才能取得领先。
IBM Granite 是我们开放式、性能优异、值得信赖的 AI 模型系列,专门为企业量身定制,并经过优化,可以帮助您扩展 AI 应用程序。深入了解语言、代码、时间序列和护栏选项。
立即购买单用户或多用户订阅,即可访问我们完整的包含 100 多个在线课程的目录,以低廉的价格扩展您的技能。
本课程由 IBM 资深思想领袖带领,旨在帮助企业领导者获得所需的知识,以便划分可以推动增长的 AI 投资的优先级。
想要从 AI 投资中获得更好的回报吗?了解如何通过帮助您最优秀的人才构建和提供创新的新解决方案,在关键领域扩展生成式人工智能来推动变革。
了解如何自信地将生成式 AI 和机器学习融入您的业务中。
深入了解强大 AI 战略的 3 个关键要素:创造竞争优势、在整个企业中扩展 AI 以及推进值得信赖的 AI。