在 Azure AI Foundry 门户中探索微调语言模型

已完成

想要微调语言模型时,可以使用已经基于大量数据预训练的基本或基础模型。 Azure AI Foundry 中的模型目录提供了许多基础模型。 你可以针对各种任务(例如文本分类、翻译或聊天完成)微调基本模型。

如果想要使用微调的模型在聊天应用程序中生成响应,则需要使用可以针对聊天完成任务微调的基本模型。 Azure AI Foundry 模型目录允许根据微调任务进行筛选,以确定要选择的基础模型。 例如,你可以选择 GPT-4 或 Llama-2-7b 模型来基于你自己的训练数据进行微调。

若要微调 Azure AI Foundry 的模型目录中的语言模型,可以使用门户中提供的用户界面。

选择基础模型

在 Azure AI Foundry 门户中导航到模型目录时,可以浏览所有可用的语言模型。

注意

尽管所有可用的语言模型都会显示在 Azure AI Foundry 模型目录中,但你可能无法微调所需的模型,具体取决于可用的配额。 请确保你想要微调的模型在你创建 AI 中心的区域中可用。

可以根据要针对其微调模型的任务筛选可用模型。 对于每个任务,有多个基础模型选项可供选择。 在决定任务的基础模型时,可以查看模型的描述和引用的模型卡。

在微调之前决定基础模型时,可以考虑一些注意事项:

  • 模型功能:评估基础模型的功能以及它们与任务的匹配程度。 例如,BERT 之类的模型更善于理解短文本。
  • 预训练数据:考虑用于预训练基础模型的数据集。 例如,GPT-2 针对 Internet 中可能导致偏差的未经筛选内容进行训练。
  • 限制和偏差:请注意基础模型中可能存在的任何限制或偏差。
  • 语言支持:了解哪些模型提供用例所需的特定语言支持或多语言功能。

提示

尽管 Azure AI Foundry 门户提供了模型目录中每个基础模型的说明,但也可以通过相应的模型卡找到有关每个模型的详细信息。 模型卡在每个模型的概述中引用,并托管在 Hugging Face 的网站上。

配置微调作业

若要使用 Azure AI Foundry 门户配置微调作业,需要执行以下步骤:

  1. 选择基础模型。
  2. 选择你的训练数据。
  3. (可选)选择你的验证数据。
  4. 配置高级选项。

提交模型以进行微调时,会基于你的数据进一步对该模型进行训练。 若要配置微调或训练作业,可以指定以下高级选项:

名称 描述
batch_size 要用于训练的批大小。 批大小表示用于训练单个前向和后向传递的训练示例的数量。 一般情况下,较大的批大小往往更适用于较大的数据集。 此属性的默认值和最大值特定于基本模型。 批大小越大意味着模型参数的更新频率越低,但方差越小。
learning_rate_multiplier 用于训练的学习率乘数。 微调学习速率等于用于预训练的原始学习速率乘以此值。 较大的学习率通常在较大的批大小中表现更好。 建议试验 0.02 到 0.2 范围内的值,以查看产生最佳结果的值。 较小的学习率可以用于避免过度拟合。
n_epochs 训练模型的时期数。 一个时期是指训练数据集的一个完整周期。
seed 种子控制作业的可重现性。 传入相同的种子和作业参数应会产生相同的结果,但在极少数情况下可能会有差异。 如果未指定种子,则会为你生成一个种子。

提交微调作业后,将会创建一个作业来训练你的模型。 可以在作业正在运行时查看作业的状态。 作业完成后,如果你想了解微调的模型是如何创建的,可以查看输入参数。

如果你添加了验证数据集,可以通过探究模型基于你的验证数据集的执行情况来查看模型的性能。

或者,你始终可以部署微调的模型。 部署模型后,可以对其进行测试以评估其性能。 对微调的模型感到满意后,你可以将已部署的模型与你的聊天应用程序进行集成。