链载Ai

标题: 微调LLMs:概述、方法和最佳实践(附天工Skywork-13B微调) [打印本页]

作者: 链载Ai    时间: 2 小时前
标题: 微调LLMs:概述、方法和最佳实践(附天工Skywork-13B微调)

从总体上看,大模型的训练可以分为四个关键阶段:预训练、有监督微调、奖励建模和强化学习。

预训练阶段是最为耗时的部分,占据了整个训练流程的99%。这个阶段需要极高的计算能力和庞大的数据量,对大多数开发者来说,这一步的实现难度极大。

接下来的三个阶段——有监督微调、奖励建模和强化学习——共同构成了微调过程。这些阶段所需的资源较少,一般只需要几块GPU和几小时到几天的时间。

微调的核心目的是在已有预训练模型的基础上,通过调整模型参数,使其在特定任务上表现得更为出色。

为什么要对大模型进行微调

微调是将预训练的大型语言模型的参数调整到特定任务或领域的过程。

尽管像GPT这样的预训练语言模型拥有丰富的语言知识,但它们缺乏特定领域的专业化。微调通过允许模型从特定领域的数据中学习来解决这一限制,使其对目标应用更加准确和有效。

首先,大模型的参数量巨大,训练成本高昂。如果每家公司都从头开始训练一个大模型,性价比非常低。微调可以有效降低成本,提高使用效率。

其次,通过Prompt Engineering使用大模型虽然较容易上手,但其缺点明显。因为大模型对输入序列的长度有限制,长Prompt会增加推理成本,并且容易被截断,导致输出质量下降。预训练的大语言模型虽然保存了大量知识,但可能无法充分利用这些知识来回答复杂问题,就像是一个知识渊博但缺乏实际应用能力的学生。

例如,输入“太阳系中最大的行星是”,大模型可以轻松补全“木星”。但是,如果问题是“太阳系中最大的行星是哪颗?”这种疑问句,大模型大概率能回答,但面对更复杂的问题时,可能无法给出理想答案。此时需要通过指令微调来挖掘大语言模型的潜力,使其不仅满足于简单的文字接龙,还能具备逻辑推理、文案总结等高级能力

最后,对于个人用户来说,使用提示工程来解决日常工作中的一些问题通常是足够的。然而,对于拥有优质自有数据的企业而言,微调模型往往是更好的选择。个性化服务的需求也推动了微调的发展。针对每个用户的数据训练一个轻量级的微调模型,可以提供更好的个性化体验。

什么时候需要LLM微调

谈到何时使用微调,主要取决于模型表现和任务需求。

有时我们通过情境学习改进提示。在提示中加入任务示例,给大型语言模型(LLM)提供任务蓝图。这样通常能帮助模型更好理解和执行任务,但如果效果不佳,特别是对较小模型,就要考虑微调。

零样本推理是在提示中直接包含输入数据,不添加示例。这种方法有时也达不到预期效果。此时,可以使用单样本或少样本推理,通过在提示中添加一个或几个示例来提升模型表现。如果这些方法仍然不够理想,就需要微调。

微调特别适用于需要模型在特定领域或任务上更精准时。预训练模型通用性强,但在处理专业任务时可能不理想。通过微调,用带标签的示例数据集更新模型权重,这些示例通常是提示-响应对。这样模型在特定任务上表现更出色。

如果模型输出不符合用户需求或偏好,微调也是很好解决方案。微调能针对具体任务和用户需求定制模型输出,使其更符合预期。

总结来说,当情境学习和零样本、单样本或少样本推理不能满足需求,或者需要在特定任务和领域中提升模型表现时,微调是有效策略。通过有监督学习过程,微调能显著提高模型在特定任务上的准确性和可靠性。

微调的具体优势

微调模型的主要优势在于其多方面的适应性和特定需求满足能力:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-weight: bold;margin: 2em 8px 0.5em;color: rgb(0, 152, 116);">定制化

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">各个领域或任务具有独特的语言模式、术语和情境差异。通过微调预先训练的大型语言模型(LLM),可以使模型更好地理解和生成与特定领域相关的内容,确保响应的准确性和相关性。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-weight: bold;margin: 2em 8px 0.5em;color: rgb(0, 152, 116);">个人与企业用户的差异

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">对于个人用户而言,提示工程(Prompt Engineering)已足够应对日常需求,但对于企业服务来说,推理成本成为重要考虑因素,这使得微调更具优势。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-weight: bold;margin: 2em 8px 0.5em;color: rgb(0, 152, 116);">提高理解力

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">预训练模型在记忆和信息补全方面表现良好,但面对复杂或具体问题时,可能缺乏深入理解。微调使模型能够更好地把握问题背景和意图,从而提供更精准的回答。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-weight: bold;margin: 2em 8px 0.5em;color: rgb(0, 152, 116);">适应特定格式

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">预训练模型基于通用文本数据,而实际应用中的数据格式和问题形式可能不同。微调使模型能够适应特定的数据格式和问题形式,提升在这些特定场景中的表现。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-weight: bold;margin: 2em 8px 0.5em;color: rgb(0, 152, 116);">增强推理能力

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">微调不仅可以增强模型的词语关联能力,还能教会模型更多推理技巧和方法,使其在处理复杂问题时进行更深入的逻辑分析和推理。

主要微调方法

微调方法可以分为全量微调和参数高效微调。全量微调调整所有参数,而参数高效微调通过增加新的参数层、选择性微调部分参数或重新参数化来实现高效的微调。

微调策略方面,我们有有监督微调和基于人类反馈的强化学习,这两种策略都可以应用于全量微调和参数高效微调。

因此,参数高效微调是一种策略,其具体实现可以通过增加式、选择式和重新参数化方法来完成。

总结如下:

  1. 1.微调技术总览






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5