你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure AI Foundry 模型中的 Azure OpenAI 微调注意事项

微调是采用预先训练的语言模型并对其进行调整以执行特定任务或提高对特定数据集的性能的过程。 这涉及到在较小的特定于任务的数据集上训练模型,同时稍微调整模型的权重。 微调利用模型在对大型、多样化的数据集进行初始训练期间获取的知识,使模型能够专门化,而无需从头开始。 这种方法通常比从头开始训练新模型更有效和有效,尤其是对于专用任务。

微调的主要优势

提高准确性和相关性

微调通过使用特定于任务的数据训练模型来提高模型在特定任务上的性能。 与使用常规提示相比,这通常会导致更准确和相关的高质量输出。

与少样本学习不同,其中提示中只能包含有限数量的示例,微调模型允许你在额外的数据集上训练模型。 微调有助于模型了解更细微的模式并改进任务性能。

效率和潜在的成本节省

经过微调的模型需要更短的提示,因为它们是在相关示例中训练的。 此过程可减少每个请求中所需的令牌数,这可能会导致成本节省,具体取决于用例。

由于优化后的模型在提示中需要更少的示例,因此它们处理请求的速度更快,从而缩短响应时间。

可伸缩性和专用化

微调是利用语言模型的广泛预训练,磨炼其在特定应用中的能力,使其在目标用例中更加高效和有针对性。

微调较小的模型可以实现与特定任务的更大、更昂贵的模型相当的性能级别。 此方法可降低计算成本并提高速度,使其成为一种经济高效的可缩放解决方案,用于在资源受限的环境中部署 AI。

何时微调

微调适合于数据量较少且想要提高模型性能的情况。 微调可能适用于不同类型的用例,但它们通常属于更广泛的类别。

  • 减少提示工程开销:许多用户从小样本学习开始,将所需输出的示例追加到其系统消息中。 随着时间的推移,此过程可能会导致提示时间越来越长,导致令牌计数和延迟增加。 通过微调,可以通过训练预期输出将这些示例嵌入模型,这在具有大量边缘情况的情况下非常有用。

  • 修改样式和语气:微调有助于将模型输出与所需的样式或语气保持一致,确保客户服务聊天机器人和品牌特定的通信等应用程序中的一致性。

  • 以特定格式或架构生成输出:可以微调模型以生成特定格式或架构的输出,使它们非常适合结构化数据生成、报表或格式化响应。

  • 增强工具使用:虽然聊天完成 API 支持工具调用,但列出许多工具会增加令牌使用情况,并可能导致幻觉。 使用工具示例进行微调可以提高准确性和一致性,即使没有完整的工具定义也是如此。

  • 增强基于检索的性能:将微调与检索方法相结合可提高模型集成外部知识、执行复杂任务的能力,并提供更准确的上下文感知响应。 微调训练模型以有效使用检索的数据,同时筛选掉无关的信息。

  • 优化效率:微调还可用于将知识从较大的模型转移到较小的模型,使较小的模型能够以更低的成本和延迟实现类似的任务性能。 例如,高性能模型的生产数据可用于微调更小、更高效的模型。 此方法有助于缩放 AI 解决方案,同时保持质量和降低计算开销。

  • 提取:模型提取使用大型模型的输出来微调较小的模型,从而允许它对特定任务执行类似作,例如从 o1 部署收集生产流量,并将它用作训练数据来微调 4o-mini。 此过程可以降低成本和延迟,因为较小的模型可以更高效。

微调类型

Azure AI Foundry 提供多种类型的精细 -tuning 技术:

  • 监督式微调:这允许你提供自定义数据(提示/完成或对话聊天,具体取决于所使用的模型)来教授基础模型的新技能。 此过程涉及针对高质量标记数据集进一步训练模型,其中每个数据点都与正确的输出或答案相关联。 目标是通过根据标记的数据调整模型参数来增强模型在特定任务上的性能。 当有有限方法解决问题时,此方法最有效,并且你想要向模型教授特定任务并提高其准确性和简洁性。

  • 强化微调:这是一种模型自定义技术,有利于在高度复杂或动态的环境中优化模型行为,使模型能够通过迭代反馈和决策来学习和适应。 例如,金融服务提供商可以优化模型,以便更快、更准确的风险评估或个性化投资建议。 在医疗保健和药品中,o3-mini 可以定制,以加速药物发现,从而实现更高效的数据分析、假设生成和识别有前途的化合物。 当有无限或大量的方法来解决问题时,RFT 是微调的好方法。 评分者以增量方式奖励模型,并改进推理。

  • 直接首选项优化(DPO):这是大型语言模型的另一种新对齐技术,旨在根据人类偏好调整模型权重。 与人类反馈强化学习(RLHF)不同,DPO 不需要拟合奖励模型,并使用二进制首选项进行训练。 此方法在计算上更轻量、更快,因此在对齐时同样有效,同时效率更高。 你与训练集共享“非首选”和“首选”响应,并使用 DPO 技术。

还可以堆叠技术:首先使用 SFT 创建自定义模型(针对用例进行优化),然后使用首选项微调将响应与特定首选项保持一致。 在 SFT 步骤中,你可以专注于任务的数据质量和代表性,而 DPO 步骤则通过特定的比较来调整响应。

微调的挑战和限制

微调大型语言模型是一种强大的技术,可以将其适应特定领域和任务。 但是,微调还附带了一些需要考虑的难题和缺点,然后再将其应用于实际问题。 下面是其中的一些挑战和缺点。

  • 微调需要与目标域和任务匹配的高质量、足够大且具有代表性的培训数据。 质量数据是相关的、准确、一致且多样化的,足以涵盖模型在现实世界中遇到的可能方案和变体。 质量不佳或无代表性的数据会导致微调模型中过度拟合、拟合不足或偏见,从而损害其通用化和稳定性。
  • 微调大型语言模型意味着与训练和托管自定义模型相关的额外费用。
  • 格式化用于微调大型语言模型的输入/输出对,对于其性能和可用性至关重要。
  • 每当更新数据或发布更新的基础模型时,可能需要重复微调。 这涉及到定期监视和更新。
  • 微调是一项重复的任务(试验和错误),因此需要仔细设置超参数。 微调需要大量的试验和测试才能找到超参数和设置的最佳组合,以实现所需的性能和质量。

后续步骤