为何用公司数据做微调训练- 操作:基于预训练好的模型(如DeepSeek-R1),使用公司内部的办公数据(如会议纪要、邮件模板、审批流程等标注数据),对模型进行二次训练。
- 目的:使模型适应特定任务或领域。让模型更贴合办公场景的专业术语、流程或风格(例如生成符合公司规范的报告、自动分类内部工单)。
微调流程大致包括:确定任务和目标:
- 首先需要明确微调的任务是什么,比如文本分类、问答系统等,以及希望模型达到什么样的效果。
准备数据: 数据预处理:
将数据转换成模型可以接受的格式 选择预训练模型: 根据任务选择合适的预训练模型,如BERT、GPT、T5等。 调整模型结构:可能需要在预训练模型的基础上添加一些任务特定的层,比如分类任务加一个全连接层。 设置训练参数:确定学习率、批次大小、训练轮数(epochs)、优化器(如AdamW)、权重衰减、学习率调度等超参数。 训练过程: 在训练数据上进行微调,同时监控验证集的损失和指标,防止过拟合 评估与验证: 使用测试集评估模型性能,分析结果,可能需要调整超参数或数据 部署与应用: 将微调后的模型部署到生产环境,持续监控性能,可能需要迭代优化。 微调的其他知识点分为2种:全参数微调和部分参数微调全参数微调/Full Fine-Tuning(更基础) 部分参数微调/PET(更高效) 以 LoRA、QLoRA、Adapter 为代表的PEFT方法成为主流,实现<1%参数量微调 即可接近全参数性能。
数据处理:- 数据预处理:清洗、标准化、增强原始数据,使其适合模型输入。
- json格式数据集:将预处理后的数据按特定结构(如json)组织,便于模型读取。(json格式,后端常用,通常为:key:value)
- 将传统的“输入-输出”标注数据(如
(图像, 标签)或(文本, 答案)),转化为任务指令+输入+输出的形式,以增强模型对任务意图的理解和泛化能力。
instruction data/带明确任务指令的标注数据
微调 & RAG & 蒸馏
Tunning 和Alignment都改变模型参数 微调本质上是一种训练,属于迁移学习:在预训练模型的基础上,通过继续训练使模型适应新任务。 微调技术是一个快速发展的领域,新的高效微调方法不断涌现。 RAG本质上不属于微调,它的核心在于不修改LLM本身的参数,而是通过外部知识检索与生成协同来提升模型表现。 蒸馏不是微调,尽管两者都属于迁移学习技术。蒸馏将大模型知识迁移到小模型,训练新模型(学生模型);微调是适配预训练模型到特定任务
|