- 任务定义和模型选择。在有监督微调的初始阶段,数据科学家会明确LLM应执行的任务,例如包括问答的对话任务,或者文本处理,包括分类、翻译等。然后专家们选择一个适合完成所有任务的预训练模型。它应该在大型数据集上进行训练,理想情况下是在类似他们所针对的任务上进行训练的。常见的LLM模型选择包括BERT、GPT、Llama等;
- 数据准备。接着,他们收集一个与所述任务相关的数据集库。数据集应该是标记的,因为有监督微调需要有标记的数据(输入-输出对),以在训练过程中为模型提供反馈;
- 数据集标记。这涉及对文本输入进行标记,将它们转换为模型可以处理的较小表示形式;
- 微调语言模型。模型在标记的数据集上进行微调,采用有监督学习方法。在训练过程中,通过根据模型的预测与实际标签之间的损失函数梯度进行反向传播来更新模型的参数。损失函数越小,模型生成的结果越接近训练数据。微调涉及基本的超参数调整。这包括定制学习率、批量大小和正则化强度等参数,以实现最佳的模型性能。在超参数调整过程中,通过验证集评估模型的性能,以避免过拟合;
- 评估微调的LLM。一旦额外的训练完成,就对微调的模型进行测试,评估其在未见数据上的性能。这样的测试集通常代表了模型在实际应用中将遇到的数据。选择适当的评估指标来评估模型的性能本身就是一项具有挑战性的任务。Toloka提供了深度评估解决方案,可能有助于您的有监督微调流程。如果您想了解更多,请联系我们;
- 模型部署。一旦数据科学家对模型的性能感到满意,他们就会将微调后的LLM集成到他们的软件基础设施或应用生态系统中。在实施之后,对模型进行测试和改进应该持续进行。专家们确保适当的监控和维护,以保持模型的最新状态并保持良好的性能。
监督微调的类型
了解有监督微调的类型,有必要指出LLM是一个由众多层组成的深度学习神经网络。每一层都包含数字或参数,也称为模型的权重。神经网络中有大量的这些参数,并且它们被组装成层,代表数字表或矩阵。
有一些类型的有监督微调,它们根据学习过程中修改的参数数量而有所区别。
全模型微调
在全模型微调的情况下,整个模型通过标记数据进行所有参数的更新。在某种程度上,这种类型的SFT类似于预训练,但使用的数据量较少。由于所有模型权重都会被修改,而且可能有数十亿个,这种方法需要大量的计算能力。
全模型微调的优势是什么?由于全模型微调过程,模型可以学习跨架构所有层的特征和表示。这导致了将大型语言模型最大程度地灵活适应您的特殊任务。与使用更受限制的微调方法相比,全模型微调通常会显著提高性能。
参数高效微调(PEFT)
PEFT(Parameter-efficient fine-tuning)是微调的另一种方法,它不会影响基本的语言理解。这意味着只有部分权重会发生改变。其核心思想是向已经训练好的大型语言模型中添加任务特定的层或适配器,然后在下游任务数据集上对其进行微调。预训练模型的权重被保持冻结。PEFT的主要优势是,与全模型微调相比,它大大减少了计算成本,同时仍然实现了竞争性能。
指令微调
指令微调的核心思想是为模型提供传达所需行为或响应的标记示例。这些示例作为模型的指令,引导其根据提供的输入数据或查询生成适当的输出。
在微调过程中,模型在这个指令数据集上进行训练,学习生成符合提供的指令的响应。通过向模型暴露各种指令-响应对,并相应微调其参数,指令微调有助于提高模型理解和遵循特定指令的能力。
微调与RAG
有监督微调与检索增强生成(RAG)共享一些共同特征。这两种方法都适用于为特定应用程序定制语言模型。然而,实施方法不同。
RAG专注于将检索和生成技术相结合,将外部知识或上下文整合到生成性语言模型中,而SFT则专注于将预训练语言模型调整到特定用例。
RAG允许模型从预定义的知识库中检索信息,并将其添加到语言模型提示中。其工作方式如下:
- LLM将用户的提示重定向到嵌入模型,在那里它被转换为数值形式;
- 这些提示然后与知识库进行比较;
- 嵌入模型定位相关数据;
- 检索到的信息作为附加特定上下文集成到大型语言模型的提示中;
- 嵌入模型将数据转换回用户友好的格式,以将此信息添加到LLM响应中;
- 结合检索到的信息和原始提示的输出提交给用户。
在SFT中,根据计算出的损失调整预训练模型的参数。另一方面,在检索增强生成(RAG)中,在检索和生成过程中,模型的参数保持不变。此外,RAG依赖于额外的外部信息,而SFT使用专门选择的标记数据。
可以肯定的是,RAG在信息经常演变或不断变化的场景中最为有用。它非常适合访问外部源以改善模型答案的应用程序,例如数据库、记录和其他数据存储库。而SFT则深度对齐特定风格或知识领域,RAG主要关注信息检索。
很难确定哪种方法最适合为特定任务定制大型语言模型。在某些情况下,将它们结合起来以获得最佳结果可能是一个不错的主意。以下是一些可能有助于您选择方法的考虑因素。
(机器翻译,轻度译后编辑,仅供参考)
编辑:胡跃