【大模型面试宝典之微调篇】(四)
【注】本篇内容基本来自于:【九天Hector的个人空间-哔哩哔哩】 https://b23.tv/md9rjFS,如侵删。
1. 如何进行多模态大模型微调?
多模态大模型微调最重要的方法,就是重训练投影层。投影层就像是视觉世界和语言世界之间的 “翻译官”,它决定了图像特征能不能顺利被语言模型理解。在预训练阶段,投影层通常是为了通用场景设计的,但在实际任务中,比如医疗影像诊断、图标解析或工业检测,这个翻译官往往”不太懂行“,导致信息对齐不到位。因此多模态微调最常见的做法,就是冻结视觉编码器和语言模型,仅针对投影层做全量微调,让它学会在特定领域里更精准地翻译图像特征。
除了重训练投影层,有时候为了获得更好的效果,我们还可以借助LoRA或者QLoRA来微调多模态模型的语言模型部分参数,这样做的原因在于:投影层只负责”把图像翻译成文字“,但它并不会改变语言模型的表达方式。如果下游任务要求模型生成专业化的语言,比如医学报告、金融分析或者学术风格地图文解读,仅靠重训练的投影层是不够的,还需要让语言模型自己”重新学会如何说话“。这时候我们就会在语言模型地关键层插入 LoRA 模块,只更新极少量参数,让模型技能保持原有的通用能力,又能更好地适配特定领域的语言。
2. 在实际工程中,多模态微调的数据应该如何准备?
多模态微调数据准备的核心是图文对齐。
典型的数据形式是“图像+文字描述”,比如图片里是一张图表,文本就是这张图片对应的文字描述。并且,对于多模态微调来说,数据质量比数量更重要,高质量的小规模数据往往比低质量的大规模数据更有效。
3. 多模态微调的典型应用场景有哪些?
常见场景包括:视觉问答(QVA)、图像文字理解、图表到文档解析、跨模态检索,以及医学影像诊断报告生成等。
4. 为什么多模态微调比单模态更难?
因为涉及到【模态对齐】问题。图像和文本的分布差异很大,训练时既要保证跨模态特征的一致性,又要避免语言模型被”图像噪声“干扰。因此需要精细设计多步微调。
5. 如何准备专业领域微调数据集?
要准备一个真正专业、可以落地的微调数据集,绝不能只停留在简单的问答收集,而是要遵循一个完整的工程化流程。
首先面对给定主题的私有文档,我们需要尽量挑选格式规范、内容专业的文档内容;然后,需要对这些文档进行拆分,把长篇复杂的文本切分成一个个小主题的文档片段;之后,再梳理这些文档片段之间的关系,必要的时候需要对文档片段进行补充和扩写,也就是所谓的文本增强。紧接着,在整理好了基础文本之后,我们需要对这些问题进行多样化的问题生成,基于同一个知识点,构造多维度提问,并整理回答内容,需要确保回答准确、自然,并且真正贴合专业语境。
当然,数据集并不是一遍就能定型的。一个高质量的专业微调数据集,一定要经过多轮迭代。比如,在实际进行微调前,可以让模型自主进行质量评估与筛选,淘汰掉不合格的样本。也可以结合专家意见进行修正,确保领域内的专业性和权威性。然后,最好做好数据集的版本管理,一方面能够让每一次修改都能被追溯,另一方面,我们也可以建立微调效果与数据集之间的关系,便于之后继续打磨数据。
6. 微调往往需要准备多少条数据?
这个问题没有放之四海而皆准的答案,但是有一些行业共识。
首先,如果只是做轻量级的指令微调,比如让模型掌握某个领域的基本表格风格和知识点,往往只需要几千到几万条高质量样本就能看到明显效果。
其次,如果是大规模的通用能力提升,例如提升大模型的逻辑推理、代码编写等能力,数据规模通常需要达到几十万甚至上百万条,才能在benchmark上拉开差距。
此外,数据的质量比数量更重要,一万条经过精心清洗、带有专业审核的数据,往往比十万条混乱、噪声很大的数据更能带来更大的提升。
7. 工业环境下微调数据集应该如何创建?
在实际工程中,微调数据集的创建几乎不可能只靠单一方式完成。
最常见的做法是模型生成与人工审核结合。先通过大模型生成初稿,快速扩展问答对,再由人工或专家进行校对、筛选与修正。
8. 强化学习微调需要如何准备数据集?
强化学习微调的数据集会比较特殊,此时我们不再只需要“标准答案”,而是需要准备多个候选答案与对应的打分信号。具体来说,强化学习微调的数据集往往包括:同一提示下的多条候选答案,以及由人类或奖励模型给出的偏好排序(比如A比B好,B比C好)。只有这种数据才能驱动模型在训练中学会”更偏向人类偏好的输出“,也就是我们常说的偏好对齐。
更多推荐
所有评论(0)