微调有助于调整预先训练的 AI 模型,以便更好地处理特定数据和用例。 此方法可以提高模型性能,同时需要比从头开始生成模型更少的训练数据。
本文介绍:
什么是微调及其工作原理
何时选择使用微调与其他方法之间
如何选择和准备用于微调的模型
迭代和改进结果的最佳方法
先决条件
在开始之前,应具备:
基本了解机器学习概念
熟悉特定的用例和数据要求
访问用于训练和验证的示例数据
什么是微调?
微调是一种机器学习技术,可调整预先训练的模型,以更好地执行特定任务。 你不必从头开始训练模型,而是从已经了解常规模式的模型开始,并对其进行调整以处理数据。
此方法利用转移学习 - 使用从一个任务中获得的知识来提高相关任务的性能。 当训练数据有限或想要基于现有模型功能构建时,微调尤其有效。
何时微调
如果拥有少量数据并希望提高模型的性能,则微调效果良好。 从预先训练的模型开始,可以使用模型已学习的知识并对其进行调整,以便更好地适应数据。 此方法可帮助你提高模型的性能,并减少训练所需的数据量。
如果数据量很大,通常不需要微调模型。 你可以从头开始训练模型并获取良好的结果,而无需微调。 但是,如果想要提升模型的性能,微调仍会有所帮助。 如果您有一个与预训练模型最初训练任务不同的特定任务,您可能也希望微调您的模型。
可以通过使用提示设计或提示链式方法来避免成本高昂的微调。 这些技术可帮助你生成高质量的文本,而无需微调。
选择预训练模型
选择符合任务要求的预先训练的模型。 许多预先训练的模型都可用,每个模型都针对不同的任务进行训练。 选择一个在与您的任务相似的任务上训练过的模型。 此选项可帮助你使用模型已学习的知识,并对其进行调整以适应数据。
在查找预先训练的模型时,HuggingFace 模型是良好的起点。 模型 HuggingFace 根据训练的任务将模型分组为类别,以便轻松找到适合你的任务的模型。
这些类别包括:
多模式
计算机视觉
自然语言处理
音频
表格
强化学习
检查模型是否适用于你的环境和工具。 例如,如果您使用 Visual Studio Code(VS Code),则可以使用 Azure Machine Learning 扩展来对模型进行 VS Code 微调。
检查模型的状态和许可证。 某些预先训练的模型在开放源代码许可证下可用,而另一些模型则需要商业或个人许可证。
HuggingFace 上的所有模型都包含许可证信息。 在微调模型之前,请确保拥有使用该模型所需的权限。
准备示例数据
准备示例数据时,需要清洗和预处理数据,使其适合训练。 还应将数据拆分为训练集和验证集,以评估模型的性能。 数据的格式应与你使用的预先训练的模型预期的格式匹配。 可以在模型卡的HuggingFace部分中找到模型信息。 大多数模型卡都包含一个模板,用于生成模型的提示和一些伪代码,以帮助你入门。
循环访问模型
微调模型后,请在验证集上评估其性能。 使用准确性、精度、召回率和 F1 分数等指标来评估模型的性能。 如果模型的性能不尽如人意,请调整超参数、更改体系结构或微调模型,了解更多数据。 还可以检查数据的质量和多样性,看看是否存在任何需要解决的问题。 作为一般规则,较小的高质量数据集比较大的低质量数据集更有价值。
另请参阅
若要详细了解如何微调 AI 模型,请查看以下资源:
在 Microsoft Foundry 门户中微调 Llama 2 模型
在 HuggingFace 上微调预先训练的模型
使用 TensorFlow 微调预先训练的模型
使用 AI 功能时,请查看: 在 Windows 上开发负责任的生成 AI 应用程序和功能。
相关内容
什么是 AI 工具包?VS Code
什么是 Windows 上的 Microsoft Foundry?
有关在 Windows 应用中使用 AI 的常见问题