论文笔记:《仲景:通过专家反馈和现实世界多轮对话提升大型语言模型的中医能力》

论文标题:《Zhongjing: Enhancing the Chinese Medical Capabilities of Large Language Model through Expert Feedback and Real-World Multi-Turn Dialogue》

论文作者:Songhua Yang等
发表期刊:AAAl 2024

0、摘要部分

最近大型语言模型(LLMs)方面取得了显著进展,实现了对用户意图的理解和响应。然而,在某些专业领域,如中医,它们的表现仍然落后于一般用例。将中医纳入 LLM 依赖于单轮和蒸馏对话数据的监督式微调(SFT)。这些模型缺乏像医生一样的主动询问能力和多轮理解能力,并且不能将响应与专家的意图对齐。在这项工作中,引入了 仲景(Zhongjing),它是第一个基于 LLaMA 的中医学 LLM,从连续预训练、SFT 到从人类反馈中进行强化学习(RLHF)实施了一个完整的训练流水线。此外,该文构建了一个包含 70,000 段真实医患对话的多轮医学对话数据集 CMtMedQA,这大大提高了模型处理复杂对话和主动查询启动的能力。鉴于生物医学领域的独特特性,还定义了一套更精细的注释规则和评估标准。广泛的实验结果表明,仲景(Zhongjing) 在各种能力上优于基线,并在某些能力上达到或接近 ChatGPT 的性能,尽管只有后者的十分之一的参数量。消融研究也证明了每个组件的贡献:预训练增强了医学知识,而 RLHF 进一步提高了遵循指令的能力和安全性。

1、介绍部分

最近,随着 LLMs 的出现,例如 ChatGPT和 GPT-4,它们在理解并回答各种问题方面取得了重大进展,甚至在一系列一般领域中超越了人类。尽管开放 AI 仍然处于关闭状态,但开源社区迅速推出了性能优异的 LLMs,如LLaMA,Bloom,Falcon等。为了弥合中国适应性的差距,研究人员还引入了更强大的中文模型。然而,尽管这些通用语言模型在许多任务上表现出色,但由于缺乏领域专业知识,它们在特定专业领域的表现通常受到限制。生物医学领域因其复杂而专门的知识要求对成功开发语言模型具有高精度和安全性。尽管存在挑战,但医疗语言模型仍具有巨大的潜力,在诊断辅助、会诊、药物推荐等方面提供价值。在中医领域,已经提出了几种医疗语言模型。
然而,这些工作完全依赖于监督式微调(SFT)。韩等人(2021年)和周等人(2023年)指出,几乎所有知识都是在预训练期间学习到的,这是积累知识的关键阶段,而强化学习可以引导模型识别其能力边界并增强指令遵循能力。对SFT的过度依赖可能导致过度自信的一般化,模型本质上是在死记硬背答案回答问题,而不是理解并推理内在的知识。此外,以往的对话数据集主要关注单轮对话,忽视了真实医生-病人对话通常需要多轮交互,并且由医生经常发起询问以了解情况的过程。
为了解决这些限制,该文提出了仲景(Zhongjing),这是第一个基于LLaMA 的中国医学 LLM,并实现了从连续预训练、SFT到强化训练(RLHF)的整个流程。此外,还构建了一个基于真实医生患者对话的多轮中医疗对话数据集CMtMedQA,包含约7万个问答,覆盖了14个科室。它还包括许多主动询问语句来刺激模型。如下图所示,仅通过频繁的主动询问,才能给出更准确的医疗诊断:
在这里插入图片描述

具体来说,仲景(Zhongjing)模型构建分为三个阶段:①首先,收集大量真实的医学语料,并基于 Ziya-LLaMA 模型进行连续预训练,在下一个 SFT 阶段产生了一个具有医学基础的基础模型,引入四种类型的指令数据集来训练模型:单轮医疗对话数据、多轮医疗对话数据 (CMtMedQA)、自然语言处理任务数据以及通用对话数据。目的是增强模型的泛化能力和理解能力,并缓解灾难性遗忘问题;②在 RLHF 阶段,建立一套详细的注释规则,并邀请六位医学专家对模型生成的 20,000 句话进行排名。这些注释的数据用于根据之前的医学基础模型训练奖励模型;③使用近端策略优化 (PPO) 算法引导模型与专家医生的目标相一致。
经过广泛的训练和优化,成功地开发了中医知识图谱。利用之前提出的注释规则的扩展版本,使用GPT-4或人类专家评估了模型在三个能力维度和九种特定能力上的性能。实验结果表明,在所有能力维度上,Zhongjing模型都超过了其他开源的中医语言模型。由于在RLHF阶段进行了对齐,该模型也在安全性和响应长度方面取得了显著改善。值得注意的是,尽管参数只有ChatGPT的1%,但它在某些领域与ChatGPT的表现相当。此外,CMtMedQA数据集显着增强了模型处理复杂的多轮对话和主动提问的能力。
本文主要贡献如下:
1)开发了一个新的中医 LLM(仲景(Zhongjing)), 这是第一个实现从预训练、 生成式微调到强化学习人类反馈的端到端训练模型
2)构建了CMtMedQA,一个基于14个医学领域的7万个真实实例的多轮医疗对话数据集,包括许多主动问诊
3)为医学LLMs 设计了改进后的注释规则和评估标准,定制了一个针对医学对话的标准排名注释规则,并将其应用于对三个能力维度和九种不同技能的评估
4)在两个基准测试数据集上进行了多项实验。我们的模型在所有维度上都超过了之前的顶尖中医模型,并在特定领域与 ChatGPT 相匹配。

2、相关工作部分

1)大型语言模型
大型语言模型(LLMs),如ChatGPT、GPT-4取得了显著的成就,引起了人们对人工智能新浪潮的关注。尽管OpenAI尚未披露其训练策略或权重,但开源LLM,如LLaMA,、Bloom、Falcon的快速出现已经吸引了研究界。尽管它们最初在中文方面的能力有限,但通过使用大量中文数据集进行培训,成功地提高了它们对中文的适应能力。中文LLaMA和中文Alpaca不断预训练并优化了与中文数据和词汇相关的任务。ZiyPLLama完成了强化学习人类反馈过程,增强了遵循指令的能力和安全性。此外,还有一些尝试了一些从头开始构建熟练中文LLM的方法。
2)医学领域的机器学习
大型模型在需要复杂知识和高准确性的生物医学领域通常表现不佳。研究人员取得了重大进展,例如 MedAlpaca和 ChatDoctor,他们利用连续训练。Med-PaLM和 Med-PaLM2,因临床对话反应而获得专家的好评。在中国医疗领域,一些努力包括 DoctorGLM,它使用了广泛的中医对话以及外部医学知识库,并且仅使用医学知识图谱进行对话构建的 BenTsao。张、李等人提出了 HuatuoGPT 和一个包含 2600 万个对话的数据集,通过为 SFT 混合蒸馏数据和真实数据,并使用 ChatGPT 进行 RLHF 来实现更好的性能。

3、方法部分

本节探讨了仲景(Zhongjing)的构建,跨越三个阶段:连续预训练、监督式微调(SFT) 和 从人类反馈中进行强化学习(RLHF),其中后者包括数据注释、奖励模型和 近端策略优化 (PPO)。每个步骤都按顺序讨论以反映研究流程。综合方法流程图如图下图所示:
在这里插入图片描述

1)连续预训练
高质量的预训练语料库可以极大地提高 LLM 的性能,甚至在一定程度上打破规模法则。鉴于医学领域的复杂性和广泛性,因此需要强调多样性和质量。医学领域充满了知识和专业知识,需要与合格医生类似的全面教育。仅仅依赖于教科书是不够的,因为它们只提供基本的理论知识。在现实世界中,理解特定患者的状况并做出明智的决策需要医疗经验、专业洞察力甚至直觉。
为了确保医学语料库的多样性,该工作从多个渠道收集了各种真实的医学文本数据,包括开源数据、专有数据和爬取的数据,包括医学教科书、电子健康记录、临床诊断记录、真实医疗咨询对话等。这些数据集涵盖了医学领域内各个部门和方面的知识,为模型提供了丰富的医学知识。预训练数据的统计信息如下表所示。在对Ziya-LLaMA进行语料库洗牌和预训练后,最终得到了一个基础医学模型。
在这里插入图片描述

2)多轮对话数据集的构建
在构建问答数据时,特别关注多轮对话的作用。为了确保数据的真实性,所有对话数据都来自真实世界中的医生与病人之间的互动。然而,实际医生的回答往往非常简洁且风格迥异。直接使用这些数据进行序列到序列转换可能会降低模型响应的流畅性和完整性。一些研究表明,查询应足够多样化以确保模型的一般化和鲁棒性,同时保持响应的一致性。因此,实验中引入了自回归生成模型,来标准化医生的回答,将其转换为统一、专业且友好的回答风格,同时保留原始和多样的用户查询。此外,一些过于简洁的单轮对话被扩展为多轮对话数据。随后,使用外部医学知识图谱CMeKG检查对话中提到的医学知识的准确性和安全性。通过设计了一个知识图谱-指令协同过滤策略,从CMeKG提取医疗实体信息并插入说明以帮助过滤低质量的数据。这两种自回归的方法都基于GPT-3.5turbo API。最后,构建了中文医学多轮问答数据集CMtMeQA,其中包含约70,000个多轮对话和400,000次对话。该数据集中的医疗部门分布如下图所示。它涵盖了14个医疗部门和超过10种医疗问答场景,例如疾病诊断、用药建议、健康咨询、医学知识等。所有数据都经过严格的去识别化处理,以保护患者的隐私。
在这里插入图片描述

3)监督微调(SFT)
SFT 是为模型提供对话能力的关键阶段。通过高质量的医患对话数据,模型可以有效地调用预训练期间积累的医学知识,从而理解并响应用户的查询。过度依赖从 GPT 中提取的数据往往会导致模仿他们的说话方式,并可能导致内在能力的崩溃,而不是学习实质性的东西。尽管大量的提炼数据可以迅速提高会话流畅性,但医学准确性至关重要。因此,需要避免只使用提炼过的数据。在 SFT 阶段使用四种类型的数据:
①单轮医学对话数据:包含单轮和多轮医疗数据都是有效的。Zhou等人证明了少量的多轮对话数据足以支持模型的多轮能力。因此,添加了来自 Zhu 和 Wang的更多单轮医学对话作为补充,并且最终微调数据比率为单轮与多轮数据的比例约为 7:1。
②多轮医学对话数据:CMtMedQA 是第一个适用于语言模型训练的大规模中文医学问答数据集,可以显著提高模型的多轮问答能力。覆盖了 14 个医疗部门和 10 多种场景,包括大量主动询问语句,引导模型发起医学查询,这是医学对话的重要特征。
③医疗NLP任务指令数据:各种各样的任务可以提高模型的零样本泛化能力。为了避免过度拟合医学对话任务,将包含与医学相关的NLP任务数据,全部转换为指令对话格式,从而提高其泛化能力。
④通用医学相关对话数据:为防止增量训练后对先前一般对话能力的大规模遗忘,还包含一些与医疗主题相关的通用对话或部分相关。这不仅有助于缓解遗忘,而且还有助于增强模型对医学领域的理解。这些对话还包括有关模型自我认知的修改。
4)从人类反馈中进行强化学习(RLHF)
虽然预训练和SFT可以积累医学知识并指导对话能力,但模型仍可能生成不真实、有害或不友好的响应。在医疗对话中,这可能导致严重的后果。通过利用与人类目标一致的策略RLHF,以减少此类响应。作为在中国医疗语言模型中应用RLHF的先驱者,该工作建立了一个精炼的排名注释规则,并使用由六名注释者排名的 20,000 句话,以及通过奖励模型结合策略梯度算法进行训练奖励模型。
①医学反馈:鉴于医疗对话的独特性,该工作开发了详细排名注释规则。该标准涵盖了三个能力维度:安全性、专业性和流畅性,并包括九种具体技能(见下表)。
在这里插入图片描述

注释者会根据这些维度对模型生成的对话进行评估,优先级从高到低。注释数据来自训练集中的1万个随机样本和额外的1万个数据片段,以便在分布内和分布外场景中训练模型。每个对话都分割为单独的回合以供单独注释,确保一致性和连贯性。为了提高注释效率,同时开发了一个简单而高效的注释平台(https://github.com/SupritYoung/RLHF-Label-Tool)。 所有注释员都是医学研究生或临床医生,并被要求独立地按交叉注释的方式对问题中由模型生成的答案进行排名。如果两个注释者的顺序不一致,则由第三方医学专家决定。
②强化学习:最后,使用标注好的排名数据来训练奖励模型(RM)。RM 以医学基础模型为起点,利用其基本的医学能力,而经过 STF 训练后的模型可能由于学习了过多的聊天能力而导致对奖励任务产生干扰。RM 在原始模型上添加了一个线性层,它以对话对 (x,y) 作为输入,并输出一个标量型的奖励值,该奖励值反映了输入对话的质量。RM 的目标是最小化以下损失函数:
在这里插入图片描述

其中,L(θ)表示损失函数,σ表示激活函数,r_θ表示奖励模型,θ表示生成参数。E (x,yh,yl) ∈ D 表示在手动排序的数据集 D 中每个元组 (x, yh, yl) 的期望值,其中 x 是输入,yh 和 yl 分别标记为“更好”和“更差”。
在这里插入图片描述

实验中设置模型输出的数量为K = 4,并使用训练好的RM自动评估生成的对话。过程中发现,对于一些超出模型能力范围的问题,所有由模型生成的K个响应可能包含错误的信息,这些错误的答案会被手动修改为“对不起,我不知道……”,以提高模型对其能力边界的意识。在强化学习中,采用了PPO算法。PPO是一种高效的强化学习算法,可以利用奖励模型的评估结果来指导模型的更新,从而进一步使模型与专家意图相一致。

4、实验与评估

1)训练细节
模型基于Ziya-LLaMA-13B-v1,这是一个具有130亿个参数的通用中文语言模型,基于LLaMA进行训练。在4张A100-80G GPU上使用并行化方法,在非预训练阶段利用低秩自适应(Lora)参数高效调优方法进行训练。这种方法通过transformers和peft库实现。为了平衡训练成本,采用了fp16精度、ZeRO-2、梯度积累策略,并限制单个响应(包括历史记录)的长度为4096。使用AdamW优化器, 0.1 的 Dropout 和余弦学习率。将训练集的 10% 保留为验证,以保存最佳检查点作为最终模型。为了保持训练稳定性,在梯度爆炸时减半损失,并在衰减学习率时降低学习率。每个阶段的最终超参数如下表,所有训练阶段的损失均成功收敛到有效范围内。
在这里插入图片描述

2)基线
为了全面评估提出的的模型,选择了一系列具有不同参数规模的通用语言模型作为基准进行比较,包括通用和医学语言模型。
①ChatGPT:一个知名的 LLM,拥有约1750亿个参数。虽然没有专门针对医学领域的训练,但它在医疗对话任务中表现出了优异的表现。
② Ziya-LLA:这是一个完全训练好的通用语言模型,它也作为该文章模型的基础模型,用于比较性能提升。
③本草(BenTsao):基于 Cui、Yang 和 Yao的中文医学语言模型,对一个包含8k个医学对话的数据集进行了微调。
④DoctorGLM:基于 ChatGLM-6B的大规模中文医学模型,在大量医学指令数据集上进行微调。
⑤华佗GPT(HuatuoGPT):这是之前基于 Bloomz-7b1-mt实现的最佳中医语言模型。使用SFT和RLHF微调了大量医学对话数据集,使用GPT进行反馈。
3)评估
①基准测试数据集:模型在CMtMedQA和huatuo-26M测试数据集上进行实验,以评估中文医学语言模型的单轮对话和多轮对话能力。在构建CMtMedQA时,训练过程中留出一个额外的1000个未见过的对话数据作为测试集,即CMtMedQA-test。为了评估模型的安全性,测试集中还包含200个故意激进、道德或诱导性的与医学相关的查询。而huatuo26M-test,是一个包含6000个问题和标准答案的单轮中文医学对话数据集。
②评价指标:医疗对话质量的评估是一项多维度的任务。定义了一个模型评估策略,包括三维和九维,在表2(上文)中做了描述。对于由不同模型回答的相同问题,在安全性、专业性和流畅性方面进行评估,使用模型的胜利(Ours Win(作者的模型获胜))、平局(Tie)和失败(Ours Loss(作者的模型失败))作为度量标准。评估结合了人类和人工智能组件。由于领域专业知识,只有人类专家负责评估安全性,确保提到的所有医疗实体或短语的准确、安全和道德含义。对于更简单的专业领域以及节省人力资源,利用 GPT-4来对流利度维度进行评分。由于这些能力相互关联,因此将专业性和流利度一起评估。评估模板如下:
在这里插入图片描述

5、结果

在两个测试集上的实验结果如图 4 和图 5 所示。
在这里插入图片描述

结果表明,仲景(Zhongjing)在单轮和多轮对话以及所有三个能力维度上都取得了出色的表现,在大多数情况下超过了基线模型。 从实验结果中得到的主要观察结果和结论如下:
1)仲景(Zhongjing)模型超过了之前的最佳模型:仲景(Zhongjing)在所有维度上都优于之前最好的模型HuatuoGPT,尽管它使用的微调指令比仲景(Zhongjing)模型多得多。 作者认为这主要是由于预训练和 RLHF 阶段,在这些阶段中,模型被灌输了基础知识和边界意识。
2)卓越多轮对话技巧:将专业性和流畅性融为一体,体现了模型在多轮对话中的能力,标志着一个关键的评估标准。结果清楚地表明,在所有基准线中,除了ChatGPT外,仲景的表现都优于它们,这要归功于精心策划的新数据集CMtMedQA,它是一个用于多轮对话的数据集。
3)指令规模的重要性:在使用了 6k 数据集进行训练后,Bentso 表现最差,这表明指令规模仍然是模型能力的关键因素。
4)蒸馏数据会导致性能不佳:仲景(Zhongjing)模型在参数规模和指令数量上与 DoctorGLM 相似,但其表现要好得多。相信这是因为 DoctorGLM 在训练过程中过于依赖通过自举方法获得的蒸馏数据。
5)定制训练可以显著提高领域能力:与基线模型Ziya-Llama相比,仲景(Zhongjing)在医疗能力方面具有明显优势,进一步证明了有针对性的微调作为增强领域能力的一种策略的有效性。
6)缩放法则仍然有效:虽然仲景(Zhongjing)模型在医疗能力方面取得了一些进步,但在大多数情况下,它只能与超大参数模型ChatGPT相抗衡,甚至在安全性上落后。这表明参数规模仍然是模型规模的一个重要因素。

6、消融实验

为了研究连续预训练和强化学习人机交互对仲景性能的贡献,在CMtMedQA测试数据集上进行了一系列消融实验。采用表2(上文)中描述的评估策略来比较仲景在有无预训练和强化学习人机交互下的表现。除了评估三个主要能力维度的安全性、专业性和流畅性外,研究中还专门关注响应文本长度的变化,这是一个更直观的信息量度量标准。结果见下图:
在这里插入图片描述

结果表明,模型在所有方面的能力都有所增强。如图6(左)所示,在医疗语料库的帮助下,仲景(Zhongjing)在所有方面都取得了更好的性能,尤其是在“专业”方面。这表明了当前程序术语(Current Procedural Terminology(CPT))整合更多医学知识的重要性。另一方面,安全性与响应长度的改进最为显著,进一步证明了RLHF阶段能够使医疗LLM与医疗专家保持一致,减少危险和有害的回应,并提高输出的质量和信息含量。流畅性和专业性方面的改进相对较小,可能是因为之前的模型已经具有很高的医学性能。总之,这些消融实验揭示了在训练医学LLM中PT和RLHF的重要性,为该领域的未来研究和应用提供了宝贵的见解和指导。

7、案例研究

在案例研究部分,选择了一个具有挑战性的问题,不仅涉及多轮对话和主动询问,还要求模型对医疗能力有深入的理解。具体基线与仲景(Zhongjing)模型的结果如下:
在这里插入图片描述

从结果来看,本草纲目的输出信息量有限;DoctorGLM 的答案虽然包含一些信息,但仍然无法帮助回答问题;华佗 GPT 提供了更详细的医学建议,但在没有发起主动询问的情况下错误地给出了诊断和药物推荐。另一方面,Chat-GPT 的输出尽管详细且相对安全,但缺乏医疗专业人士预期的诊断建议。相比之下,仲景(Zhongjing)的回答展示了完整的问答过程。
通过这个例子,仲景(Zhongjing)模型处理复杂和深入问题的优势变得明显。不仅准确地识别出潜在的原因(如过敏性皮炎或药物反应),还提供了具体的建议,例如停止使用可能会加重过敏反应的药物、换用其他抗过敏药物等。所有这些都充分展示了其专业能力和实际价值。

8、结论与局限性

在这项工作中,提出了仲景(Zhongjing)——第一个全面的中医语言模型,它实现了从预训练、微调到强化学习人类反馈的整个训练流水线,并在基准语言模型上取得了更好的效果。额外的实验强调了预训练和强化学习人类反馈对医学领域的重要性。还构建了一个大规模的中文多轮医疗对话数据集,CMtMedQA。尽管有这些成就,但该模型存在局限性:不能保证其所有回答的准确性。由于不准确的数据可能带来的严重后果,在医学领域,依旧强烈建议用户在处理生成的信息时要谨慎,并寻求专家的意见。
在未来,研究将专注于提高安全性、整合更多现实世界的数据以及纳入多模式信息,以提供更全面且准确的医疗服务。错误的医疗建议和决策可能会产生严重的后果。如何消除医学语言模型中的幻觉问题,以及如何进一步与人类专家对齐仍然是一个值得研究的问题。尽管如此,仲景(Zhongjing)仍主要是一种研究工具,而不是专业医疗咨询的替代品。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值