摘要:RFT强化微调是一种新型LLM微调方法,通过强化学习与传统微调结合,少量数据即可显著增强领域场景的模型能力。
本文分享自华为云社区《医疗场景实战|百条数据RFT微调盘古大模型,效果超越DS》,作者:盘古大模型官方账号。
医疗场景实战|百条数据RFT微调盘古大模型,效果超越DS
2024年以来,强化微调(Reinforcement Fine-Tuning, RFT)技术成为AI领域的热点,其核心在于将强化学习(Reinforcement Learning, RL)与传统微调方法结合,推动大语言模型(Large Language Model, LLM)性能突破。在OpenAI连续12天的技术发布会上,发布了强化微调的工具链,「只需几十个样例,模型就能学会在自定义领域以新的有效方式进行推理」。也就是说,这种技术既能提高其在某领域特定任务上的准确性,还能增强模型对类似问题的推理能力,成为一个真正的领域专家。
3月12日,华为云ModelArts Studio大模型开发平台最新发布了强化微调功能,支持对盘古大模型进行强化微调,为盘古大模型深入行业提供了更高性价比的、领域增强的解决方案。同时,ModelArts Studio也成为业界首个支持在国产硬件上支持强化微调的平台。

华为云ModelArts Studio大模型开发平台,盘古大模型唯一企业级入口,数据工程、模型开发、Agent开发及垂域应用四大套件全覆盖,昇腾硬件加持,全栈训推,性能出众,助力企业快速实现AI应用。
RFT技术到底强在哪里?用更少的数据获得更优的领域效果
强化微调是一种基于强化学习的模型微调方法。该方法通过引导模型分别给定的指令集自主生成响应,并利用参考答案对响应进行评分,从而突破了传统训练方式对海量人工标注偏好数据的依赖。借助这一技术,仅需少量高质量样本(数百至数千条)即可定制化训练特定领域的模型。
其训练过程如下:

· 用户数据集:通常仅需数百至数千条行业数据,需包含“system”(可选):系统指令,“context”:用户指令,“target”:参考答案;
· LLM:选择具备 Chat 能力的模型作为 RFT 基座模型,如可选pangu-NLP-N2-4K模型
· 规则打分器:用于帮助模型“自我反思”,如ModelArts Studio 当前支持逆序排序的打分方式
· 强化算法:选择GRPO、DPO等强化算法进行RFT训练
在强化学习机制的支持下,强化微调使得模型能够通过“自我博弈”的方式自主生成训练数据,并结合动态奖励机制持续优化输出质量,兼顾效率与效果。与传统的监督微调(Supervised Fine-Tuning, SFT)相比,RFT在数据稀缺的专业领域展现出明显优势,适应性更强。
盘古大模型+强化微调RFT的场景实战:800条数据提升10+%的模型精度
实战行业场景:大模型辅助诊断医疗疾病场景。
行业难点:
· 通用模型由于在后训练阶段缺乏医疗相关数据,存在一定的幻觉问题;
· 通用模型一般直接进行症状匹配并作出诊断,准确率低。
本次实验分为4个步骤:

Step1:准备实战数据
本次实验采用医疗开源数据集DxBench,随机选取800条数据为训练集,其余作为验证集。
数据样例:

(Source: Chen, Junying, et al. "CoD, Towards an Interpretable Medical Agent using Chain of Diagnosis." arXiv preprint arXiv:2407.13301 (2024).)
Step2:上传数据至ModelArts Studio平台
数据拼接:
DxBench 原始数据中仅列出了显性症状、隐形症状与候选病症的独立信息,无法直接输入到模型中进行训练。为此,我们设计了一套简单的用户指令,给定上述三种信息,要求模型输出一个病症列表,其中排在第一位的是模型认为最有可能的病症,第二位为可能性较大的病症,以此类推。
拼接后用户指令如下:
你是一位经验丰富的医生。请基于患者的症状信息,对候选疾病进行可能性排序。\n\n输入信息包括:\n1.显性症状列表:[{显性病状}]]\n2.隐性症状列表:[{隐形病状}]\n3.候选疾病列表:{候选病症}\n\n请按照以下步骤进行分析:\n1.综合分析所有症状信息\n2.对每个候选疾病评估其与症状的匹配程度\n3.基于症状表现的典型性和特异性进行排序\n4.将疾病按可能性从高到低排序,并以json格式输出最终的排序列表\n\n示例输出:\n{\n \"possible_diseases\": [\"疾病1\", \"疾病2\", \"疾病3\"]\n}\n\n请基于以上标准对该患者的候选疾病进行分析并给出排序结果。
格式处理:
本数据为带人设的单轮问答数据,采用ModelArts Studio的单轮数据格式处理数据。
格式样例:
{"system":"***","context":"***","target":"***"}
处理完的数据样例:
{"system": "你是一个擅长于文章写作、文本分析、代码编写、数学运算、逻辑推理的AI助手,专注于针对用户的问题给出高质量解答。", "context": "你是一位经验丰富的医生。请基于患者的症状信息,对候选疾病进行可能性排序。\n\n输入信息包括:\n1.显性症状列表:[['呕吐', 'True']]\n2.隐性症状列表:[['哭声评分减分', 'True'], ['喂养困难', 'True'], ['腹部不适', 'False']]\n3.候选疾病列表:['新生儿呕吐', '进食障碍', '消化不良']\n\n请按照以下步骤进行分析:\n1.综合分析所有症状信息\n2.对每个候选疾病评估其与症状的匹配程度\n3.基于症状表现的典型性和特异性进行排序\n4.将疾病按可能性从高到低排序,并以json格式输出最终的排序列表\n\n示例输出:\n{\n \"possible_diseases\": [\"疾病1\", \"疾病2\", \"疾病3\"]\n}\n\n请基于以上标准对该患者的候选疾病进行分析并给出排序结果。", "target": "新生儿呕吐"}
数据上传:
将数据上传到华为云数据存储服务中。在ModelArts Studio数据导入模块,选择文本->单轮问答(人设)数据,将数据上传到平台。

由于本数据集比较干净,无需使用平台进行二次清洗。我们直接将其发布为用于模型训练的格式数据。

Step3:创建RFT训练任务
在ModelArts Studio大模型开发平台上选择 NLP大模型->强化学习->RFT 的训练目标,模型选择Pangu_NLP_N2_4K-3.2.35,该模型是华为自研的百亿级通用大模型。

使用平台默认参数进行强化微调,打分器规则选择:Inverse-rank-grader,即对模型输出的逆序列表进行打分,正确答案越靠前分数越高(分数最高为1),越靠后分数越低(分数最低为0)。
以上述“Step2 格式处理”中的样本为例。患者实际病症为“新生儿呕吐”,若模型输出结果为['新生儿呕吐', '进食障碍', '消化不良'],则 Score=1.0;若模型输出结果为['进食障碍', '新生儿呕吐', '消化不良'],则 Score=0.5;若模型输出结果为['进食障碍', '消化不良', '新生儿呕吐'],则 Score=0。

Step4:评估模型效果
在训练平台上观测训练曲线,本用例中强化算法学习使用Iterative DPO,Loss曲线呈现先降低后增加,符合预期。使用DPO算法,能够降低强化学习的硬件消耗,起训卡数与传统SFT相当。

随着模型的RFT训练,测试集上的准确率稳步上升,表明该方法具有较强的有效性与泛化性。第1个epoch训练完成后测试集acc提升至0.657,超越DeepSeek-R1(Top@1=603),Deepseek-R1-distill-qwen-32B(Top@1=0.647)。第3个epoch训练完成后测试集Top@1 acc提升至0.697,大幅超越qwen72b(Top@1=0.667)与qwq-32b(Top@1=0.663)。实验结果显示,通过RFT微调的模型在“疾病选择”任务中具有显著的性能提升。这表明强化学习微调是一种有效的策略,可以进一步提高大模型在特定任务上的表现。

模型训练完成后,我们将模型进行部署,进行效果评测。使用之前拆分的300条评测集进行评测,在评测集上,原模型(Pangu_NLP_N2_4K-3.2.35)准确率为0.607,开源模型DeepSeek-R1、eepSeek-R1-Distill-Qwen-32B、QwQ-32B、Qwen2.5-72B-Instruct的准确率分别为0.603、0.647、0.663、0.667,而我们通过强化微调后的模型,准确率达到了0.712,较微调前上升了10.5%。可以明显的看出,与各通用模型相比,我们使用800条数据就可让大模型在特定行业应用场景下得到明显提升。

经验总结
经验一:通过在ModelArts Studio大模型开发平台上使用盘古大模型进行强化微调,我们仅需少量(百条级)行业数据,就可训练一个高性能的行业大模型。可以展望的,在诸如医疗、法律等数据相对稀缺的行业,通过精选少量的行业相关数据,并采用强化微调的训练方式,从而在有限的数据资源下取得了更优的模型性能。这种方法不仅提高了模型的准确性,还有效解决了数据不足的问题。
经验二:在ModelArts Studio上使用强化微调能力,平台预置了强化微调方式的模型和最优路径,各行业人员仅需有少而精的专业数据,就可以自助训练出自己的领域专家模型,训练难度明显降低。
经验三:在通用场景表现优异的基础大模型,在深入行业时效果不一定为最佳。在行业场景落地时,选择适合行业领域的大模型知识学习方式,才能让大模型真正在行业落地。正如盘古大模型坚定践行2B路线理念一样,深入行业,帮助客户打造行业大模型与行业智能体。
点击链接,了解更多华为云新鲜技术~