Skip to content

0. 什么是指令微调 (Instruction Fine-tuning)?

一、定义

指令微调是一种特定的微调方式,通过在大量 (指令, 输出) 配对数据上训练模型,使其更好地理解并响应自然语言指令,从而提高在未见任务上的零样本/少样本能力

二、与标准微调的区别

|特性|标准微调 (Standard Fine-tuning)|指令微调 (Instruction Fine-tuning)| |||| |目标|提高在特定任务上的性能|提高对多样化自然语言指令的理解和执行力| |数据集|单一任务/领域|多样任务、广泛格式的指令-输出对| |输入格式|通常是任务专属格式|(指令, [可选上下文], 输出)| |泛化能力|局部泛化(对目标任务)|强泛化(支持零样本/少样本)| |应用场景|如情感分类、NER、问答等|通用对话助手、任务执行模型| |典型例子|用SQuAD微调BERT做问答任务|用Alpaca微调LLaMA做通用指令执行|

三、数据集构造特点

  • 样本形式:(自然语言指令, 理想输出)

  • 指令类型:

    • 显式指令:如「翻译成德语」、「总结以下段落」

    • 问答型指令:如「问题:法国的首都?答案:巴黎」

    • 上下文型指令:如「根据以下段落回答问题」

  • 来源:

    • 人工标注

    • 转换已有任务数据(如分类任务转化为指令格式)

    • Self-Instruct(LLM自生成指令与输出)

  • 常见数据集:FLAN, T0, Alpaca, Dolly, OpenAssistant

四、成效与应用

  • 应用于:ChatGPT、Claude、LLaMA-Instruct 等。

  • 效果:

    • 显著提升对话能力

    • 强化零样本/少样本泛化能力

    • 是从基础模型转变为对话助手模型的关键技术

五、记忆举例

类比记忆:

  • 标准微调像是教一个学生考英语作文题,只针对一种题型强化。

  • 指令微调像是训练一个学生成为通才助教,能听懂各种自然语言的“命令”,并执行各类任务,比如翻译、总结、问答、编程等。

数据集联想:

想象 Alpaca 数据集就像是「一堆老师给助教下达任务」的笔记本——每一页都是“任务指令 + 理想答案”。

好的 Sir ✅
我把你这道题 “微调大模型时,如何选择合适的微调数据集?数据集需要多大?” 按照你最新确认的格式整理如下:

1. 微调大模型时,如何选择合适的微调数据集?数据集需要多大?

选择合适的微调数据集是成功微调大模型的关键因素之一。数据集的质量、相关性和规模直接影响微调效果。

选择微调数据集的考虑因素

相关性 (Relevance)

  • 数据集必须与你的目标任务或领域高度相关。

  • 应包含目标任务的典型输入和期望输出,或反映目标领域的语言风格、术语和知识。

  • 示例:

    • 医疗问答模型 → 数据集应包含医疗问题和由专家验证的答案。

    • 品牌声音模仿 → 数据集应包含符合该品牌声音的文本样本。

质量 (Quality)

  • 数据应准确无误,输出正确、高质量。

  • 保持一致性,避免矛盾或模棱两可的样本。

  • 如果涉及人工标注,应有清晰、一致的标注指南。

  • 尽量减少噪声和错误。

  • 原则:Garbage in, garbage out

多样性 (Diversity)

  • 覆盖目标任务或领域的各种场景、输入类型和边缘情况。

  • 避免模型过拟合到特定模式,提高泛化能力。

  • 示例:情感分类任务 → 数据应包含积极、消极、中性三类文本,涵盖不同主题和风格。

格式 (Format)

  • 数据格式应与模型输入匹配。

  • 指令微调常见格式:(指令, [可选输入], 输出)。

  • 对话微调格式:用户和助手轮次的消息列表。

数据来源与合规性

  • 确保数据来源可靠、合法。

  • 遵守隐私法规(如 GDPR),避免使用受保护的数据。

  • 审查和缓解数据中的潜在偏见。

数据集规模(需要多大?)

数据集规模取决于微调目标、方法、质量、相似性和模型大小:

  • 微调目标

    • 学习新知识/领域:数千到数万样本甚至更多。

    • 特定任务/格式适应:几百到几千样本即可。

    • 模仿风格/语气:几十到几百个高质量样本可能足够。

  • 微调方法

    • 全参数微调:需要更大数据集,避免过拟合。

    • PEFT(如 LoRA):几百到几千个高质量样本通常足够。

  • 数据质量

    • 高质量数据往往胜过大规模低质量数据。

    • 几百个高质量样本优于数万个嘈杂样本。

  • 与预训练数据的相似性

    • 相似度高 → 所需数据量较小。

    • 差异大 → 需要更多数据。

  • 模型大小

    • 大模型可能需要更多数据,但也有更强的少样本能力。

经验法则

  • 起点:几百个高质量样本(尤其适合 PEFT)。

  • 迭代增加:根据效果逐步扩大规模。

  • 注重质量胜于数量。

  • 准备独立验证集,避免过拟合测试集。

总结

选择微调数据集时,质量和相关性优先于数量。推荐从一个小而精的数据集开始,结合 PEFT 方法,通过验证集逐步评估并扩展数据量。

可能的延伸面试提问角度 & 应答建议

1. 面试追问:如果数据集有限,如何最大化利用?

  • 示例答句:
    “如果数据有限,我会优先保证质量,并结合数据增强、迁移学习和 PEFT 方法来提高效果。”

  • 关键要点清单:

    • 数据增强(paraphrasing、back-translation)。

    • 迁移学习(利用相关开源数据)。

    • 小样本微调(LoRA、Prefix Tuning)。

  • 回答模板:
    “在数据有限的情况下,我会通过 保证数据质量 + 利用增强手段 + 选择合适微调方法 来弥补规模不足。”

  • 可能延伸追问:

    • 面试官可能会问 “具体会用什么数据增强方法?” → 可以展开介绍常用方法及优缺点。

2. 面试追问:验证集和测试集如何划分?

  • 示例答句:
    “我会预留 10-20% 数据作为验证集,并确保与训练集分布一致,以便调整超参和监控过拟合。”

  • 关键要点清单:

    • 验证集比例。

    • 保证分布一致性。

    • 避免信息泄露。

  • 回答模板:
    “为了防止过拟合,我会 留出部分数据做验证集,确保数据分布一致,并不接触测试集。”

  • 可能延伸追问:

    • “如果数据本来就少,还要划分验证集吗?” → 回答时强调交叉验证的作用。

3. 面试追问:如何判断数据质量高?

  • 示例答句:
    “高质量数据应当准确、一致、无明显噪声,并能覆盖任务的多样化输入。”

  • 关键要点清单:

    • 准确性与一致性。

    • 无噪声。

    • 多样性覆盖。

  • 回答模板:
    “我会从 准确性 + 一致性 + 多样性 三个维度来衡量数据质量。”

  • 可能延伸追问:

    • “能否举例说明一次低质量数据影响模型表现的情况?” → 可准备医疗 NLP 或对话任务中的案例。

2. 微调过程中常见的挑战有哪些?如何应对?

微调大型语言模型虽然比从头训练更高效,但也面临一系列挑战。理解这些挑战并采取相应对策对于成功微调至关重要。

1. 灾难性遗忘 (Catastrophic Forgetting)

  • 挑战:模型在学习新任务时,忘记了预训练阶段学到的通用知识或能力。

  • 应对策略

    • 使用 PEFT 方法(如 LoRA、Adapter),冻结大部分原始参数,只微调少量参数。

    • 降低学习率,避免大步更新破坏原有知识。

    • 混合训练数据,在微调数据中加入少量预训练或通用任务数据。

    • 借鉴持续学习技术,如弹性权重巩固 (EWC)。

2. 过拟合 (Overfitting)

  • 挑战:模型过度拟合微调数据集,在验证集或未见过数据上表现不佳。

  • 原因:微调数据集较小,模型容量过大。

  • 应对策略

    • 使用 PEFT 方法限制可训练参数数量。

    • 数据增强 (Data Augmentation),增加数据多样性。

    • 早停 (Early Stopping),在验证集性能不再提升时停止训练。

    • 正则化 (Regularization),如权重衰减。

    • 选择合适的训练轮数 (1-5轮通常足够)。

    • 增加高质量数据量。

3. 欠拟合 (Underfitting)

  • 挑战:模型未充分学习微调数据模式,性能提升不明显。

  • 原因:训练不足、学习率过低、PEFT 参数太小、数据质量差。

  • 应对策略

    • 增加训练轮数或时间。

    • 提高学习率(谨慎调整)。

    • 增加 PEFT 参数量(如 LoRA 的秩 r)。

    • 检查数据质量和相关性。

    • 选择更强大的基础模型。

4. 计算资源需求

  • 挑战:即使 PEFT,微调大模型仍需大量 GPU 内存和计算时间。

  • 应对策略

    • 使用 PEFT 方法降低资源需求。

    • QLoRA 等量化技术减少内存占用。

    • 梯度累积 (Gradient Accumulation) 模拟更大批次。

    • 分布式训练(DeepSpeed ZeRO 等)适用于全参数微调。

    • 选择合适硬件,优化批次大小。

5. 数据准备与质量

  • 挑战:高质量、高相关性、多样化数据难获取且耗时。

  • 应对策略

    • 明确微调目标,指导数据收集和标注。

    • 制定清晰标注指南,确保一致性。

    • 数据清洗与预处理,去除噪声。

    • 利用公开高质量数据集。

    • 数据生成技术 (如 Self-Instruct) 可辅助,但需注意质量。

    • 优先质量而非数量。

6. 超参数调优

  • 挑战:微调涉及多个超参数,找到最优组合需要实验。

  • 应对策略

    • 从推荐值开始(参考论文或框架文档)。

    • 系统性搜索:网格搜索、随机搜索或贝叶斯优化。

    • 根据验证集性能手动调整。

    • 关注关键超参数:学习率、批次大小、训练轮数。

7. 评估困难

  • 挑战:如何有效评估微调效果,确保提升并不损害通用能力。

  • 应对策略

    • 定义明确评估指标,针对目标任务量化性能。

    • 使用独立验证集和测试集。

    • 定性评估:人工检查输出流畅性、相关性、安全性。

    • 评估通用能力:在标准 Benchmark 上测试。

    • A/B 测试对比微调模型与原模型表现。

8. 模型对齐与安全

  • 挑战:微调可能放大偏见或导致不安全行为。

  • 应对策略

    • 审查微调数据,去除偏见或不安全内容。

    • 结合 RLHF 或类似对齐技术。

    • 设置输入/输出安全护栏。

    • 持续监控模型在实际应用中的行为。

可能的延伸面试提问角度 & 应答建议

1. 如何平衡过拟合和欠拟合?

  • 示例答句
    “可以通过控制训练轮数、使用正则化、数据增强和调整 PEFT 参数量,找到最优平衡点。”

  • 关键要点清单

    • 过拟合指标:验证集性能下降。

    • 欠拟合指标:训练集和验证集性能都低。

    • 调整策略:训练轮数、学习率、数据增强、PEFT 参数量。

  • 回答模板
    “我会通过 调整训练轮数 + 正则化 + 数据增强 + PEFT 参数量 来平衡过拟合与欠拟合。”

2. 在资源有限情况下如何微调大模型?

  • 示例答句
    “优先使用 PEFT 方法,如 LoRA,并结合梯度累积、量化和小批次训练。”

  • 关键要点清单

    • PEFT 降低参数更新量。

    • 梯度累积模拟大批次。

    • 量化减少显存占用。

  • 回答模板
    “在资源有限情况下,我会 PEFT + 梯度累积 + 量化 来有效微调大模型。”

3. 如何确保微调后的模型仍保留预训练能力?

  • 示例答句
    “可以在微调数据中混入通用任务样本,降低学习率,并监控通用 Benchmark 性能。”

  • 关键要点清单

    • 混合训练数据。

    • 低学习率微调。

    • Benchmark 测试。

  • 回答模板
    “我会通过 混合数据 + 低学习率 + Benchmark 评估 来保持预训练能力。”

3. 如何评估微调后的模型效果?除了标准指标外还需要关注什么?

评估微调后的模型效果是一个多维度工作,不能仅依赖标准自动化指标,需要综合考虑目标任务性能、通用能力保持以及定性因素。

主要内容拆解

1. 目标任务性能评估(核心)

  • 方法

    • 使用独立测试集:与微调数据集分布相似但完全独立。

    • 量化指标:

      • 分类任务:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1、AUC。

      • 生成任务(翻译、摘要):BLEU、ROUGE、METEOR、BERTScore。

      • 问答任务:Exact Match (EM)、F1。

      • 代码生成:Pass@k、执行成功率。

      • 信息提取:精确率、召回率、F1。

    • 与基线比较:微调模型 vs 原始预训练模型及其他相关模型。

2. 验证集性能监控

  • 作用:在微调过程中监控验证集性能,用于早停(Early Stopping)和超参数调优。

  • 指标:通常与测试集相同。

3. 通用能力评估

  • 目的:检查微调是否损害预训练阶段学到的通用能力(防止灾难性遗忘)。

  • 方法

    • 在标准Benchmark上评估,如GLUE、SuperGLUE、MMLU。

    • 设计探测性任务(Probing Tasks),测试常识推理、简单数学计算、语言流畅度等。

    • 与原始模型在这些任务上的表现进行比较。

4. 定性评估(人工评估)

  • 目的:评估自动化指标无法捕捉的方面,如输出流畅性、相关性、创造性、逻辑性、安全性、风格一致性。

  • 方法

    • 人工审查样本:随机或精心设计的测试用例。

    • 用户反馈:收集真实用户反馈。

    • 与原始模型对比:比较同输入下的输出质量。

    • 错误分析:分析模型失败模式。

5. 效率与成本评估

  • 推理延迟(Latency):微调(尤其是PEFT如LoRA未合并权重)是否增加响应时间。

  • 计算资源消耗:微调和推理过程的资源需求。

  • 存储成本:存储微调模型参数所需空间。

需要关注的其他方面

1. 鲁棒性(Robustness)

  • 模型在输入略微变化、噪声或对抗性攻击下的表现。

  • 微调是否使模型对输入微小变化更敏感。

2. 公平性与偏见(Fairness and Bias)

  • 微调是否引入或放大偏见。

  • 不同群体(性别、种族)上的表现差异。

3. 安全性(Safety)

  • 微调后模型是否更容易生成有害、不当或非法内容。

  • 是否更容易被越狱攻击(Jailbreaking)。

4. 可解释性与可信度(Interpretability and Trustworthiness)

  • 微调是否让模型行为更难理解。

  • 用户是否能信任模型输出,模型是否能表达不确定性。

5. 风格与一致性

  • 微调目标若是模仿特定风格,模型输出是否稳定符合风格。

  • 回应是否保持内部逻辑一致性。

6. 幻觉(Hallucination)发生率

  • 微调是否增加或减少生成虚假信息的倾向。

7. 实际应用效果(End-to-End Performance)

  • 微调模型在真实应用场景是否提升用户体验或业务指标(如A/B测试)。

可能的延伸面试提问角度 & 应答建议

1. 除了标准指标,评估微调模型时还需要关注哪些方面?

  • 示例答句
    “除了自动化量化指标,我还会关注鲁棒性、偏见、安全性、风格一致性以及实际应用效果,以全面评估微调成果。”

  • 关键要点清单

    • 鲁棒性、对抗性。

    • 公平性与偏见。

    • 安全性与越狱风险。

    • 风格与一致性。

    • 幻觉发生率。

    • 实际应用效果(End-to-End Performance)。

  • 回答模板
    “我会结合 量化指标 + 定性分析 + 通用能力测试 + 安全与公平性 + 实际应用效果 来评估微调模型。”

2. 如何检测微调是否导致灾难性遗忘?

  • 示例答句
    “我会在标准Benchmark或探测性任务上测试微调模型,并与原模型对比,观察通用能力是否下降。”

  • 关键要点清单

    • 使用标准Benchmark(GLUE、SuperGLUE等)。

    • 设计探测性任务测试基础能力。

    • 对比原始模型表现。

  • 回答模板
    “通过 Benchmark测试 + 探测性任务 + 与原模型对比 来监控灾难性遗忘。”

3. 微调后如何平衡模型性能与实际应用成本?

  • 示例答句
    “会在保证性能的前提下,考虑推理延迟、内存占用和存储成本,必要时采用PEFT、量化和梯度累积等方法。”

  • 关键要点清单

    • 推理延迟与吞吐量。

    • GPU/CPU内存占用。

    • 存储成本。

    • PEFT、量化、梯度累积等优化手段。

  • 回答模板
    “我会通过 性能评估 + 资源成本分析 + PEFT/量化优化 来实现性能与成本的平衡。”

4. 全参数微调(Full Fine-tuning)和参数高效微调(Parameter-Efficient Fine-tuning, PEFT)的区别

1. 全参数微调(Full Fine-tuning)

定义
对预训练模型的所有参数进行更新,让模型完全适应新任务。

特点

  • 更新范围:整个模型参数都会被更新(数亿~数千亿参数)。

  • 优点

    • 微调后模型对新任务的拟合能力最强。

    • 可以实现较大性能提升,尤其在新任务与原任务差异大时。

  • 缺点

    • 计算成本高:需要显存大、训练时间长。

    • 存储成本高:每个任务都要保存一份完整的模型权重(可能是几十 GB)。

    • 容易灾难性遗忘(Catastrophic Forgetting):对原有任务的能力可能下降。

适用场景

  • 有充足的计算资源。

  • 新任务与原始任务差异很大(如 GPT 微调成医疗诊断模型)。

  • 对模型精度要求极高。

2. 参数高效微调(PEFT, Parameter-Efficient Fine-tuning)

定义
在微调时仅更新模型的少部分参数(或引入少量额外参数),冻结原模型的大部分权重。

常见方法

  • LoRA(Low-Rank Adaptation):在权重矩阵上插入低秩分解模块,只更新这些小模块的参数。

  • Prefix-tuning / Prompt-tuning:在输入序列前添加可训练的“提示向量”。

  • Adapter:在 Transformer 层之间插入可训练的小网络。

特点

  • 更新范围:只更新少量额外参数(通常占原模型的 0.1%~10%)。

  • 优点

    • 计算成本低:训练速度快,显存占用低。

    • 存储成本低:每个任务只需存储额外的小模块(几 MB 到几百 MB)。

    • 保留原模型能力,不易遗忘原有任务。

  • 缺点

    • 性能可能略低于全参数微调(尤其在任务差异极大时)。
  • 适用场景

    • 多任务部署(一个基础模型 + 不同任务的小参数模块)。

    • 资源受限环境(例如消费级显卡)。

    • 快速原型和迭代。

3. 核心对比表

|特性|全参数微调|参数高效微调 (PEFT)| |||| |更新参数比例|100%|0.1% ~ 10%| |显存需求|高|低| |训练速度|慢|快| |存储成本|高(每个任务保存整个模型)|低(只保存额外参数)| |对原任务的影响|容易遗忘|原能力保留较好| |适用场景|资源充足、高精度、任务差异大|多任务、小显存、快速迭代|

4. 总结一句话:

全参数微调会更新整个模型权重,适合资源充足且任务差异大的场景;而参数高效微调只更新一小部分参数,通过 LoRA、Adapter 等方法在保留原模型能力的同时,大幅降低计算和存储成本。

5. 什么是大模型微调(Fine-tuning)?为什么需要微调?

大模型微调(Fine-tuning) 是在预训练好的大型语言模型(LLM)基础上,使用特定任务或领域的数据进行进一步训练的过程。其目标是调整模型参数,使其更好适应特定任务、领域或风格,同时保留预训练阶段的通用语言能力。

为什么需要微调

1. 任务适应性 (Task Adaptation)

  • 原因:预训练模型是通用的,可能无法在特定下游任务(文本分类、情感分析、代码生成等)上达到最佳性能。

  • 作用:通过微调,模型可以学习特定任务的模式和要求,提高任务表现。

2. 领域适应性 (Domain Adaptation)

  • 原因:预训练数据可能缺少特定领域知识(如法律、医疗、金融)。

  • 作用:微调使模型掌握领域术语和风格,提高领域内任务准确性。

3. 风格适应性 (Style Adaptation)

  • 作用:微调模型以模仿特定写作风格、语气或品牌声音。

  • 示例:生成符合公司品牌指南的营销文案,或模仿特定作者风格。

4. 知识注入 (Knowledge Injection)

  • 作用:微调可以将特定知识或行为模式融入模型,使其“内化”某些信息。

  • 注意:与 RAG 等方法结合,可增强最新知识的获取能力。

5. 提高效率与降低成本

  • 原因:从头训练大模型需要大量计算资源和数据。

  • 作用:微调利用预训练模型能力,只需少量数据和计算资源即可获得良好效果。

6. 改善特定指标

  • 作用:微调可针对性优化指标,如减少幻觉、提高回答准确率或遵循特定格式。

7. 个性化

  • 作用:基于特定用户数据微调,实现个性化AI助手或应用。

微调与提示工程、RAG的区别

|方法|是否改变模型参数|特点| |||| |提示工程 (Prompting)|❌|不改变模型参数,通过优化输入提示引导模型行为| |RAG (Retrieval-Augmented Generation)|❌|不改变模型参数,通过检索外部知识库增强回答能力| |微调 (Fine-tuning)|✅|改变模型参数,使内在能力更适应特定任务或领域|

说明:这三种方法可以结合使用,以获得最佳效果。

可能的延伸面试提问角度 & 应答建议

1. 微调与提示工程、RAG的选择场景?

  • 示例答句
    “提示工程适合快速实验或少量任务调整;RAG适合动态知识更新;微调适合特定任务优化和风格/领域适配。”

  • 关键要点清单

    • 提示工程:快速、无需改变模型参数。

    • RAG:增强外部知识、无需微调。

    • 微调:改变参数,优化任务表现和风格适应。

  • 回答模板
    “我会根据任务需求选择 提示工程 + RAG + 微调 的组合,以实现快速迭代和性能优化。”

2. 微调相比从头训练有哪些优势?

  • 示例答句
    “微调能利用预训练模型已有能力,降低数据和计算成本,同时针对任务或领域进行优化。”

  • 关键要点清单

    • 利用预训练能力。

    • 数据和计算成本低。

    • 可优化任务表现和风格。

  • 回答模板
    “相比从头训练,微调具有 成本低 + 高效 + 任务优化 的优势。”

3. 微调小数据集是否有效?如何保证效果?

  • 示例答句
    “即使数据集较小,也可通过 PEFT 方法、数据增强和高质量样本保证微调效果。”

  • 关键要点清单

    • 使用 PEFT(如 LoRA)减少参数更新。

    • 数据增强提升多样性。

    • 高质量样本优先于数量。

  • 回答模板
    “我会 PEFT + 数据增强 + 高质量样本 来确保小数据集微调有效。”

6. 大型语言模型的微调(Fine-tuning)及常见方法

大型语言模型的微调(Fine-tuning)是指在预训练模型的基础上,使用特定任务或领域的数据进行额外训练,使模型更好地适应特定应用场景。

微调的目的

  1. 任务适应(Task Adaptation)

    • 使通用模型适应特定任务,如文本分类、问答或生成任务。
  2. 领域适应(Domain Adaptation)

    • 增强模型在特定领域(医疗、法律、金融等)的表现。
  3. 行为对齐(Behavior Alignment)

    • 调整模型行为以符合特定标准或价值观。
  4. 个性化(Personalization)

    • 根据特定用户或组织需求定制模型输出风格或能力。

常见微调方法

1. 全参数微调(Full Parameter Fine-tuning)

  • 特点:更新模型的所有参数。

  • 优势:性能提升最大,适应性最强。

  • 劣势:计算资源需求高,容易过拟合。

  • 适用场景:有充足计算资源且数据量较大时。

2. 参数高效微调(Parameter-Efficient Fine-tuning, PEFT)

  • LoRA (Low-Rank Adaptation)

    • 添加低秩矩阵调整权重,不修改原始参数。

    • 可训练参数通常<1%,性能接近全参数微调。

  • Adapter Tuning

    • 在Transformer层之间插入小型可训练模块。

    • 冻结原始模型参数,可为不同任务训练不同adapter。

  • Prefix Tuning / P-Tuning

    • 在输入序列前添加可训练前缀向量,仅训练前缀。

    • 适合自然语言生成(NLG)任务。

  • Prompt Tuning

    • 在嵌入空间学习软提示(soft prompts)。

    • 极少量可训练参数,易于部署和切换任务。

3. 指令微调(Instruction Fine-tuning)

  • 特点:使用指令-回答格式的数据训练模型。

  • 目的:提高模型遵循指令的能力。

  • 优势:增强模型通用性和可用性。

4. 人类反馈的强化学习(RLHF)

  • 流程:收集人类偏好数据 → 训练奖励模型 → 使用RL优化策略。

  • 目的:使模型输出符合人类偏好。

  • 优势:优化难以直接监督的目标(如有用性、无害性)。

  • 变体:DPO(Direct Preference Optimization)等。

5. 领域自适应预训练(Domain-Adaptive Pre-training)

  • 特点:在领域特定数据上继续预训练。

  • 目的:增强模型对特定领域的理解。

  • 优势:在专业领域效果显著。

  • 流程:通常在微调前进行,作为中间步骤。

微调的最佳实践

  • 数据质量:优先保证高质量数据。

  • 学习率:使用较小的学习率(比预训练小1–2个数量级)。

  • 过拟合防护:早停、正则化、数据增强。

  • 评估:使用多样化指标和独立测试集。

  • 方法选择:根据资源限制和性能需求选择合适方法。

可能的延伸面试提问角度 & 应答建议

1. PEFT方法相比全参数微调有哪些优势?

  • 示例答句
    “PEFT方法通过只更新少量参数,显著降低计算成本,同时保持接近全参数微调的性能。”

  • 关键要点清单

    • 参数少,降低显存和计算需求。

    • 可快速切换任务。

    • 防止过拟合小数据集。

  • 回答模板
    “我会选择 PEFT + 高质量数据 + 小学习率 来高效微调模型。”

2. 指令微调与RLHF如何配合使用?

  • 示例答句
    “先通过指令微调让模型理解多样指令,再使用RLHF优化输出符合人类偏好。”

  • 关键要点清单

    • 指令微调提升遵循能力。

    • RLHF优化偏好和安全性。

  • 回答模板
    “结合 指令微调 + RLHF 可以提升模型的可用性与输出质量。”

3. 领域自适应预训练的适用场景?

  • 示例答句
    “当任务涉及专业领域,如医疗或法律时,领域自适应预训练能增强模型对领域知识的理解。”

  • 关键要点清单

    • 专业领域数据继续训练。

    • 提高任务准确率和生成质量。

  • 回答模板
    “在 专业领域任务 前进行 领域自适应预训练 可显著提升模型表现。”