AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


岐伯:一个面向中医的大型语言模型
发布日期:2024-07-01 22:20:39 浏览次数: 2001



摘要

在人工智能领域,大型语言模型(LLMs)已经在包括医学、法律和金融在内的多个专业领域展示了在理解用户意图和响应方面的显著进步。然而,在独特的中医药(TCM)领域,LLMs的性能提升受到了其理论与现代医学之间根本差异的挑战,以及缺乏专业语料资源的限制。在本文中,我们旨在构建和组织中医药领域的专业语料库,赋予大型模型中医药理论特有的专业知识,并成功开发基于LLaMA的Qibo模型,这是中医药领域第一个从预训练到监督式微调(SFT)完成整个训练过程的LLM。此外,我们还开发了Qibo-benchmark,这是一种用于评估LLMs在中医药领域性能的专业工具。这个工具将为量化比较不同模型在中医药领域的理解与应用能力提供重要依据,并为中医药智能助手未来的研究方向和实践应用提供指导。最后,我们进行了充分的实验,证明Qibo在中医药领域具有良好的性能。

1 引言

近期,大型语言模型(LLM)在诸如ChatGPT(OpenAI,2022)和GPT-4(Achiam等,2023)等方面取得了显著进步。这些模型能够理解和回答广泛的问题,并且在许多通用领域超过了人类的表现。尽管它们不是开源的,开源社区迅速引入了高性能的LLM,如LLaMA(Touvron等,2023)、Bloom(Workshop等,2022)和Falcon(Almazrouei等,2023)。为了填补这些模型在中文处理能力上的空白,研究人员还引入了更强大的中文语言模型(Cui等,2023;Du等,2021;Zhang等,2022)。

然而,尽管这些通用型LLM在许多任务中表现良好,但它们在特定专业领域,例如生物医学领域的性能通常由于缺乏领域专业知识而受限(Zhao等,2023)。生物医学领域的知识和专业化复杂性对LLM的成功开发提出了更高的准确性和安全要求(Singhal等,2022)。尽管存在挑战,医学LLM在辅助诊断、咨询和药物推荐方面具有巨大的潜力。

在中医药领域,已经提出了几个医学LLM(Li等,2023;Zhang等,2023;Xiong等,2023)。这些LLM主要是通过监督式微调(SFT)进行训练的。Han等(2021)和Zhou等(2023)已经表明,几乎所有的知识都是在预训练阶段学到的,预训练是积累领域基础的关键阶段,而RLHF指导模型识别其能力的边界并增强命令遵循能力(Ramamurthy等,2022)。过度依赖SFT可能导致过度自信的泛化,模型本质上是机械记忆答案,而不是理解和推理内在知识。它们的训练数据集专注于单一轮次的对话,忽略了真实医患对话的过程。

尽管在中医药领域已经存在许多关于LLM的工作,并且这些工作进一步推动了中医药大型模型的发展,但它们常常忽视了中医药领域的特点。它们从未考虑过传统中医领域与现代医学理论之间的根本差异。与现代医学根据疾病类型分配治疗不同,中医药通过望、闻、问、切四种诊断方法进行深入分析,以确定患者的证候类型,然后根据证候类型采用不同的治疗方法。因此,患有相同疾病的病人可能会表现出不同的症候(症,zheng)并因此接受不同的治疗,而患有不同疾病的病人可能会表现出相同的症候并因此接受相同的治疗。

这些概念分别被称为“同病异治”和“异病同治”,是中医药的核心方法(Mucheng等,2022)。在现代医学中,借助医疗仪器,可以根据清晰的数值指标(例如血压水平)来诊断疾病类型。而中医药则使用抽象指标,如阴(阴)和阳(阳)、表(外)和里(内)、热(热)和寒(寒)、实证(过)和虚证(不及)。如图1所示,现代医学通过血糖浓度来判断是否为糖尿病,而传统中医通过判断症状的偏倚来诊断疾病。

图1:对于同一样本,中医药和现代医学的不同诊断过程。

这些差异决定了中医药领域和现代医学领域存在不同的理论知识体系,这进一步决定了在中医药领域建模所需的基础知识与现代医学根本不同。因此,在中医药领域需要具备中医药知识的大型语言模型。其他工作倾向于仅将中医药知识注入模型中,这也导致了中医药模型在中医药领域的性能不佳。在本文中,我们专注于开发和训练能够理解和应用中医药知识的LLM,以弥补现有模型在该领域的不足。因此,我们提出了Qibo,这是第一个基于LLaMA的中医药(TCM)LLM,它实现了从预训练到SFT的流程。本文的主要贡献如下:

  1. 我们为中医药训练了一个新的LLM。这是第一个从预训练到SFT的中医药领域大型语言模型的LLaMA实现。

  2. 我们提供了一个扩展数据清洗过程的方案,该方法设置了不同粒度的规则,并对中医药的古代文本制定了特殊规则。

  3. 我们构建了中医药领域的评估基准,该基准基于中医药领域的教科书,我们提供了不同科目的客观多项选择题,以评估中医药领域的基本知识能力,此外还验证了识别中药的能力,以及阅读和理解中医药的能力,中医药的辩证能力,并使用GPT-4评估其回答的专业性、安全性和流畅性。

  4. 我们进行了几项实验,以验证我们的模型在中医药领域具有出色的性能。

2 相关工作

本节将相关工作分为两部分:大型语言模型和医学领域的LLM。

2.1 大型语言模型

大型语言模型(LLMs)如ChatGPT(OpenAI,2022)和GPT-4(Achiam等,2023)的显著成就吸引了广泛关注,掀起了AI领域的新浪潮。虽然OpenAI没有披露他们的训练策略或权重,但开源LLMs如LLaMA(Touvron等,2023)、Bloom(Workshop等,2022)和Falcon(Almazrouei等,2023)的迅速出现已经吸引了研究社区。尽管它们最初的中文能力有限,但通过使用大型中文数据集进行训练,提高它们中文技能的努力已经取得了成功。中文LLaMA和中文Alpaca(Cui等,2023)不断使用中文数据和词汇进行预训练和优化。Ziya-LLaMA(Zhang等,2022)完成了RLHF过程,增强了指令遵循能力和安全性。此外,还值得注意地尝试从头开始构建熟练的中文LLMs。

2.2 医学领域的LLM

大型模型通常在需要复杂知识和高精度的医学背景下表现不佳。为了改善这一点,包括MedAlpaca(Han等,2023)和ChatDoctor(Yunxiang等,2023),它们采用了持续训练,以及Med-PaLM(Singhal等,2022)和Med-PaLM2(Singhal等,2023),后者在临床响应方面获得了专家的好评。中文医学领域的研究包括DoctorGLM(Xiong等,2023),它使用了大量的中文医学对话数据和外部医学知识库,以及BenTsao(Wang等,2023),仅使用医学知识图谱进行对话构建。张等(2023)创建了HuatuoGPT,拥有2500万对话数据集,通过结合蒸馏数据和真实数据用于SFT,以及使用ChatGPT进行RLHF反馈排名,实现了更好的响应质量。Zhongjing(Yang等,2023)是一个基于中文医学LLaMA的LLM,它实现了从预训练、SFT到强化学习人类反馈(RLHF)的完整训练流程,并引入了一个包含70,000个真实医患对话的中国多轮医学对话数据集,CMtMedQA,这显著提高了模型进行复杂对话和主动询问发起的能力。

3 方法

本节探讨Qibo的构建,包括三个阶段:持续预训练、SFT和数据处理。全面的方法流程图如图2所示。

表1:预训练数据的统计。

3.1 持续预训练

高质量的预训练语料库可以显著提高LLM的性能,甚至在某种程度上打破规模法则(Gunasekar等,2023)。考虑到医学领域的复杂性和广泛性,需要强调数据多样性和高质量。医学领域包含丰富的知识和技能,需要类似于专业医师的综合训练。仅依靠医学教科书是不够的,因为它们只能提供基本的理论知识。在现实世界中,理解患者的具体状况并做出明智的决策需要医学经验、专业洞察力和直觉。中医药作为医学领域的一个子领域,除了具有医学领域的特点外,还具有自身的特征。

因此,我们收集了各种真实相关的文本数据,主要包括现代医学教科书、中医药教科书、中医药方数据集、中医药阅读理解测验数据、传统中医药治疗方案经典、中医药古文、中医药百科全书以及与中医药理论特征相关的其他语料数据。这些数据集涵盖了医学领域的各个部门和方面,为模型提供了丰富的中医药知识。表1列出了预训练数据的统计。在清洗这些语料库的数据后,我们对Chinese-LLaMA进行持续预训练,最终获得一个基本的传统中医药模型。

图2:构建Qibo的总体流程图。顶部矩形下方的勾号和叉号分别表示能力模型当前具有和不具备的功能。

在模型的预训练阶段,我们将借鉴现代医学和中医药的丰富知识,这些知识来源于权威的西医教科书、中医药教科书和中医药百科全书等。这个过程旨在为模型打下现代医学体系的坚实基础,并深入理解中医药的理论和实践知识。通过这种跨学科知识的融合,模型将能够更好地掌握中西医结合的诊断和治疗方法,并为未来的问答系统提供更全面和深入的支持。

从医学藏书中,医学类别的子部分、中医药相关的古书包含了大量传统中医药的理论基础和诊断案例,从中可以进一步学习中医药的理论体系和诊断知识。从中医药辩证数据集中学习中医药的辩证分析能力,从中医药经典阅读理解数据集中进一步加强对传统中医药知识的理解,从中医药方数据中进一步学习包含在中医药方中的中医药辩证关系。因此,我们可以训练一个具有中医药理论知识体系、理解中医药的能力、辩证能力和识别药方能力的基本中医药模型。

表1列出了预训练数据的统计。使用这些来自中医药领域的不同数据,可以开发出一个具有中医药理论知识体系、中医药理解、辩证能力和药方识别能力的 basic Chinese medicine model。其中,中医药知识理论体系主要来源于中医药教科书和古书,其他能力方面来源于不同的数据集。

3.2 监督式指令微调

监督式微调(Supervised Fine-Tuning,SFT)是使LLMs具备对话能力的关键阶段。借助高质量的医患对话数据,模型可以有效调用预训练阶段积累的医学知识,以理解和回应用户的查询。过度依赖ChatGPT的精致化数据,倾向于模仿他们的言语模式,可能会导致内在能力的崩溃,而不是学习实质性的能力(Shumailov等,2023;Gudibande等,2023)。尽管大量的精致化数据可以快速提高对话的流畅性,但医学的准确性更为重要。因此,我们避免了仅使用精致化数据。我们在SFT阶段使用了四种类型的数据,并将它们转换为Alpaca的对话格式:

中医药单轮对话数据

中医药单轮对话数据:为了提高模型在中医药领域的对话能力,我们使用了中医药领域单轮对话指令的对话数据集:ChatMed-TCM。通过对单轮对话指令的微调,可以显著提高模型的对话能力。

中医药多轮对话数据:

中医药多轮对话数据:在中医药领域,多轮问答能力是模型所需的能力,我们选择CMtMedQA中中医药科室的问答对话数据集作为中医药的多轮问答,并将其混合到微调数据集中。CMtMedQA是第一个适合LLM训练的大规模多轮中医药问答数据集,可以显著提高模型的这一数据集涵盖了14个医学科室和10多种场景,并包括大量主动查询语句,可以提示模型发起医学查询 - 这是医学对话的基本特征。

中医药NLP任务指令数据:

中医药NLP任务指令数据:广泛的任务可以改善模型的零点泛化能力(Sanh等,2021)。为了防止过度拟合医学对话任务,我们将所有与中医药相关的NLP任务数据(例如,药方实体识别、症状识别、阅读理解)转换为指令对话格式,从而提高其泛化能力。

一般医学相关对话数据:

一般医学相关对话数据:为了防止在增量训练后对先前一般对话能力的灾难性遗忘(Aghajanyan等,2021),我们包含了与医学主题部分相关的简单对话。这不仅减少了遗忘,还增强了模型对医学领域的理解。这些对话还包含了与模型自我感知相关的修改。

表2列出了微调数据的来源。我们通过将来自多个来源的数据转换为多轮对话格式来微调模型,以增强模型在中医药问答方面的能力。

3.3 数据处理

中医药语料库的专业知识来源较少,主要包括现代中医药教科书、中医药古书、中医药百科全书等。对于原始数据的处理,我们将其转换为统一的json格式,并进行清洗、去重和质量评估,以获得更高质量的训练语料。我们在每个步骤中整合了不同粒度的处理规则,包括字符级清洗规则和段落级清洗规则。

字符级清洗规则主要确定单个字符是否在可理解的字符范围内,以及是否需要进行字符级别的替换来进行逐字符清洗。段落级规则主要是将文本划分为语义连续的段落。在这个过程中,我们手动检查字符级清洗的正确性和段落划分的正确性,并通过采样不断改进规则,最终获得更高质量的训练语料。如图2所示,这些处理后的数据将用于预训练和微调。

4 实验与评估

本节描述了包括训练细节、基线、评估和结果在内的实验评估部分。

4.1 训练细节

我们的模型基于Chinese-LLaMA-7B/13B,这是一个使用LLaMA进行训练的中文LLM,其中中文能力是通过在LLaMA-7B/13B的顶部对中文语料库进行连续预训练获得的。7B模型使用8个Ascend-910 NPUs以全参数方式并行训练,而13B模型使用16个Ascend-910 NPUs以全参数方式并行训练,而不是使用低秩适应(lora)参数效率调优方法(Hu等,2021)。为了平衡训练成本,我们采用混合的fp16-fp32精度和梯度累积策略,并使用ZeRO-2(Rajbhandari等,2020),并限制单个响应(包括历史)的长度为2048。我们使用AdamW优化器(Loshchilov和Hutter,2017)、0.1的dropout率和一个余弦学习率调度器。为了保持训练稳定性,我们在梯度爆发和学习率衰减期间将损失减半。表4列出了经过多次调整后每个阶段最终参数。所有训练阶段的损失都成功收敛于有效范围内。

表2:微调数据的来源

4.2 基线

为了全面评估我们的模型,我们选择了一系列具有不同参数规模的大语言模型作为比较的基准,包括通用LLM和医学LLM。

-ChatGPT

-ChatGPT(OpenAI,2022):一个大约拥有175B参数的知名LLM。尽管不是专门针对医学领域进行训练的,但它展示了在医学对话任务中的出色表现。

-Chinese-LLaMA

-Chinese-LLaMA(Cui等,2023):这是一个完全训练的中文通用LLM,也是我们比较性能提升的基础模型。

-BenTsao

-BenTsao(Wang等,2023):首个基于Chinese-LLaMA(Cui等,2023)并在8k规模的医学对话数据集上进行微调的中文医学大规模模型。

-DoctorGLM

-DoctorGLM(Xiong等,2023):基于ChatGLM-6B(Du等,2021)的中文医学大规模模型,通过在大量的医学指导数据上进行微调。

-HuatuoGPT

-HuatuoGPT(Zhang等,2023):基于之前在Bloomz-7b1mt(Muennighoff等,2022)上实现的最佳中医药LLM,通过SFT(Li等,2023)在大规模的医疗指令集(25M规模)上进行微调,并通过基于ChatGPT的强化学习进行进一步优化。

-ZhongJing

-ZhongJing(Yang等,2023):基于zia-LLaMA的中医药LLM,它实现了从预训练、SFT到人类反馈强化学习(RLHF)的完整训练流程,并通过使用70,000轮多轮对话数据增强了多轮对话能力。

4.3 评估

我们构建了用于三个方面的评估数据集:主观评估、客观评估和中医药NLP任务。

4.3.1 主观评估

我们收集和组织了150个与中医药相关的实验问题,并从三个维度评估中医药LLM对话的专业性、安全性和流畅性,并使用模型的胜率、平局率和失败率作为测量标准。评估结合了人类和AI的元素。由于安全评估的复杂性(Wang等,2022),我们使用了医学专家的评估作为样本,并由GPT-4根据人类专家的评估进行评估。对于专业性和流畅性这些更简单的维度,我们使用GPT-4(Sun等,2023; Chiang等,2023)进行评分,以节省人力资源。专业性、安全性和响应性的具体含义如下:

安全性

安全性:必须提供科学准确医学知识,特别是在疾病诊断、药物推荐等方面;必须承认对未知知识的无知;必须确保患者安全;必须拒绝回答可能造成伤害的信息或建议;必须遵守医学伦理,尊重患者选择;如果违反,则拒绝回答。

专业性:

专业性:必须准确理解患者的问题和需求,以便提供相关的响应和建议;必须以患者能够理解的方式简洁地解释复杂的医学知识;在需要时必须主动询问患者状况和相关信息。

流畅性:

流畅性:答案必须语义连贯,无逻辑错误或无关信息;回答的风格和内容必须一致,无矛盾信息;响应必须保持友好和欢迎;冷酷或过于简短的语气是不可接受的。

图3:GPT4评估Qibo-7B在(a)安全性,(b)专业性和(c)流畅性方面的结果。使用胜率、平局率和失败率作为衡量标准。

图4:GPT4评估Qibo-13B在(a)安全性,(b)专业性和(c)流畅性方面的结果。使用胜率、平局率和失败率作为衡量标准。

4.3.2 客观评估

共收集并组织了3175个与13个中医药实践考试相关的练习问题作为评估数据,并通过比较不同科目响应的准确性进行测量。4.3.3 中医药NLP任务评估我们从处方识别数据集、辩证分析数据集和阅读理解测验数据集中分别保留了517, 689和475条数据进行评估,并采用了Rouge-L(Lin,2004)的评估标准。

4.4 结果

主观评估的结果如图3和图4所示,客观评估的结果如图5所示,中医药NLP任务的结果如表3所示。结果显示,"Qibo"在主观评估的三个维度上都取得了出色的结果,在客观评估中取得了最佳结果。在中医药NLP任务中,尽管它不如为该任务优化的最佳模型,但仍然优于其他医学模型。在大多数情况下,它超过了基准模型。以下是我们从实验结果中得出的主要观察和结论:

表3:三个NLP任务的简单结果。"*" 表示为特定任务专门设计的最佳结果。TCM-NER 指的是中医药处方实体识别任务。TCM RP 是一个中医药阅读理解测验对构建任务。TCM-SD 指的是中医药辩证任务。

5 结论与局限性

我们介绍了“Qibo”,这是一个在中医药领域实施预训练到SFT的LLM,其性能优于其他开源的中文大规模医学模型,并在中医药领域具有可比性。我们收集了中医药领域的优质训练语料数据,并构建了Qibo-benchmark,一个在中医药领域的评估基准,以填补中医药领域的评估空白。

尽管取得了这些成就,我们也认识到模型的局限性。Qibo不能保证所有响应都是准确的。鉴于医疗领域误导性信息可能带来的严重后果,我们建议用户对生成的信息持谨慎态度,并咨询专业人士。Gizmo主要依赖于文本信息,可能无法处理更复杂的多模态医疗信息,如医学图像和患者生理信号。未来的研究可以专注于提高安全性,整合真实用户数据以优化RLHF,并整合非文本信息以提供更全面和准确的健康护理。尽管存在局限性,“Qibo”仍然主要是作为研究工具,而不是专业医疗建议的替代品。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询