ChatMed开源了中文医疗大模型 ChatMedConsult,以中文医疗在线问诊数据集的 50 万+在线问诊+ChatGPT 回复作为训练集,基于 Llama7B 采用 LoRA 微调得到。
一、主要模型及特点
1.ChatMedconsult:
训练数据:基于中文医疗在线问诊数据集的 50 万+在线问诊以及 ChatGPT 的回复作为训练集。在线问诊数据能反映真实的用户问诊需求,但网上回答质量参差不齐,所以借助 ChatGPT 的回复来提高数据质量。
模型基座:主干模型为 Llama7b,融合了 Chinesellamaalpaca 的 LoRA(LowRank Adaptation)权重与中文扩展词表,然后再进行基于 LoRA 的参数高效微调。这样的设计使得模型在处理中文医疗问题时具有更好的适应性和准确性。
2.Shennongtcmllm:这是一个专注于中医药领域的模型。其训练数据为中医药指令数据集,以开源的中医药知识图谱为基础,采用以实体为中心的自指令方法,调用 ChatGPT 得到围绕中医药的指令数据,然后以 Llama 为底座,采用 LoRA 微调得到。该模型对于中医药领域的问题解答、知识传承等方面具有重要意义。
二、技术原理
1. 基础模型架构
模型底座:ChatMed的基础是预训练的大规模语言模型。例如,其开源版本中的一个模型是以Llama7b作为模型基座。Llama系列模型具有强大的语言理解和生成能力,为ChatMed提供了坚实的基础。选择这样的基础模型可以利用其在大规模文本数据上的学习能力,从而更好地理解和处理中文医疗文本。
中文适配与改进:为了更好地适应中文医疗场景,ChatMed融合了Chinesellamaalpaca的LoRA(LowRank Adaptation)权重与中文扩展词表。这使得模型能够更好地理解中文的语义、语法和表达方式,特别是在医疗领域的专业术语和特定表述方面,提高了模型对中文医疗文本的处理能力。
2. 数据收集与预处理:
医疗问诊数据:ChatMed的训练数据包括大量的中文医疗在线问诊数据。这些数据来源于真实的医疗咨询场景,反映了患者的实际问题和需求。通过收集和整理这些数据,可以让模型学习到各种疾病的症状、诊断方法、治疗建议等方面的知识,以及医生和患者之间的沟通方式和语言习惯。
调用ChatGPT回复:为了提高数据的质量和多样性,ChatMed还利用了ChatGPT的回复。虽然网上的问诊回答可能良莠不齐,但ChatGPT的回复可以为模型提供一些参考和思路,帮助模型更好地理解和回答医疗问题。收集到的数据需要进行预处理,包括去除噪声、清洗异常数据、标注数据等操作,以确保数据的质量和有效性。
3. 参数微调与优化:
基于LoRA的参数微调:在基础模型的基础上,ChatMed进行了基于LoRA的参数高效微调。这种微调方法可以在不改变基础模型的大部分参数的情况下,通过调整少量的参数来适应特定的任务和数据集。这样可以大大减少训练的时间和计算资源,同时也可以避免过拟合的问题,提高模型的泛化能力。
优化训练过程:在训练过程中,使用了一些优化技术来提高训练的效果和效率。例如,采用分布式训练方法,利用多台服务器或显卡同时进行训练,加快训练速度;使用梯度下降算法等优化算法来调整模型的参数,使模型的损失函数最小化,提高模型的准确性。
4. 知识表示与推理:
知识图谱融合:为了更好地处理医疗知识,ChatMed可能会融合知识图谱的信息。知识图谱是一种结构化的知识表示方式,可以将医疗领域的各种概念、实体和关系进行组织和表示。通过将知识图谱与语言模型相结合,可以让模型更好地理解医疗知识的结构和逻辑,提高模型的推理能力和回答的准确性。
多轮对话与上下文理解:在医疗咨询场景中,往往需要进行多轮对话才能准确理解患者的问题和需求。ChatMed具备多轮对话的能力,能够理解上下文信息,根据之前的对话内容进行推理和回答。这需要模型能够有效地存储和管理对话历史,以及对上下文信息进行准确的理解和分析。
三、优势
1. 数据优势:
丰富的训练数据来源:ChatMed 的训练数据不仅包含大量的中文医疗在线问诊数据,还引入了 ChatGPT 的回复作为参考。在线问诊数据反映了真实世界的用户需求,而 ChatGPT 的回复可以提供一些不同的思路和观点,这种多源数据的融合使得 ChatMed 能够更好地理解和处理各种医疗问题,回答更具参考性。
数据质量较高:对收集到的数据进行了筛选和处理,例如去除噪声、清洗异常数据等操作,以确保数据的质量和有效性。相比一些数据来源不够准确或未经充分处理的模型,ChatMed 的数据质量更有保障,从而提高了模型的准确性和可靠性。
2. 模型架构与训练方法优势:
基于先进的模型基座:ChatMed 以 Llama7b 等先进的语言模型作为基础架构,这些模型在自然语言处理领域具有强大的语言理解和生成能力。在此基础上,ChatMed 进行了针对性的改进和优化,使其更适合中文医疗场景。
高效的参数微调:采用基于 LoRA(LowRank Adaptation)的参数微调方法,可以在不改变基础模型的大部分参数的情况下,通过调整少量的参数来适应医疗领域的特定任务和数据集。这种方法大大减少了训练的时间和计算资源,同时也避免了过拟合的问题,使得模型能够更好地泛化到新的医疗问题上。
3. 功能与应用场景优势:
功能多样性:除了能够回答常见的医疗问题外,ChatMed 还具备多轮对话的能力,能够理解上下文信息,根据之前的对话内容进行推理和回答。这对于复杂的医疗咨询场景非常重要,用户可以逐步深入地描述自己的症状和问题,获得更准确的解答。
中医药领域的专注:ChatMed 包含专门的 Shennongtcmllm 模型,专注于中医药传承和应用。以开源的中医药知识图谱为基础,能够为中医师提供中医药方剂的推荐、中药的配伍禁忌、中医诊断方法等方面的咨询服务,这是其他一些中文医疗模型可能不具备的功能,对于中医药领域的发展具有重要意义。
四、不足
1. 数据方面:
数据质量仍可提升:尽管使用了大量在线问诊数据和 ChatGPT 的回复,但在线问诊数据的回答质量参差不齐,即使经过筛选,仍可能存在一些不准确或不恰当的信息被引入到训练数据中,影响模型的准确性和可靠性。而且依赖 ChatGPT 的回复作为部分参考,其本身也可能存在一定的局限性和偏差。
数据覆盖范围有限:训练数据可能主要集中在一些常见的疾病和医疗场景,对于罕见病、复杂病症或特殊医疗情况的覆盖可能不够全面,导致在面对这些较为特殊的医疗问题时,模型的回答不够准确或完整。
缺乏实时数据更新:医疗领域的知识和信息不断更新,新的疾病、治疗方法和研究成果不断涌现。ChatMed 可能无法及时获取和更新这些最新的数据,导致其提供的信息可能存在一定的滞后性。
2. 模型性能方面:
深度理解能力有限:虽然能够处理和回答很多医疗问题,但对于一些深层次的医学原理、病理机制等复杂问题的理解可能还不够深入。在一些需要综合分析和深入推理的场景下,模型的回答可能不够准确或全面。
语言表达的精准性:有时候模型的回答可能在语言表达上不够精准,容易产生歧义或模糊性,这对于医疗领域来说是一个重要的问题,因为准确的信息传达对于患者的诊断和治疗非常关键。
多模态信息整合不足:医疗诊断往往需要结合多种信息,如病历、影像、检验报告等。目前 ChatMed 主要基于文本数据进行训练和回答,对于多模态信息的整合能力不足,无法充分利用这些综合信息来提供更准确的诊断和治疗建议。
3. 伦理和法律方面:
隐私保护:在使用医疗数据进行训练的过程中,可能存在患者隐私泄露的风险。尽管会采取一些数据脱敏和隐私保护措施,但仍然不能完全保证数据的安全性和隐私性,这是医疗领域应用人工智能模型需要高度关注的问题。
医疗责任界定:当模型提供的医疗建议或诊断结果出现错误时,如何界定责任是一个复杂的问题。模型开发者、医疗机构和医生之间的责任划分可能不明确,这可能会影响到模型的广泛应用和推广。
4. 应用场景方面:
临床适用性:虽然 ChatMed 可以为患者提供医疗咨询服务,但在实际的临床应用中,医生可能对模型的结果存在一定的疑虑,需要进一步的验证和确认。模型的回答是否能够真正满足临床诊断和治疗的需求,还需要更多的临床实践和验证。
缺乏与医疗系统的深度融合:要将 ChatMed 真正应用到医疗系统中,需要与医院的电子病历系统、医疗信息系统等进行深度融合,但目前可能在与这些系统的对接和整合方面还存在一定的困难和挑战。
五、医疗场景
医生可以利用模型快速获取相关疾病的信息、诊断建议等,帮助提高诊断的准确性和效率。为患者提供在线的医疗咨询服务,解答患者的疑问,提供健康建议和治疗方案。同时作为医学教育的辅助工具,帮助学生学习和理解医学知识,提供案例分析和解答。
1. 在线医疗咨询:
面向普通大众:为患者或普通用户提供日常健康问题的解答,如疾病症状的判断、疾病的预防措施、常见疾病的治疗方法、保健品的选择等。比如,用户可以询问“感冒了一直咳嗽该吃什么药”“如何预防高血压”等问题,ChatMed 能够给出专业的建议和信息,帮助用户更好地了解自身健康状况和应对常见健康问题。
面向海外华人或有跨境医疗需求的人群:为身处国外的华人或有跨境医疗咨询需求的人提供中文医疗咨询服务。由于不同国家的医疗体系和医疗资源存在差异,这类人群可能在获取中文医疗信息方面存在困难,ChatMed 可以帮助他们了解相关疾病的中文诊断、治疗建议以及适合在国外购买的药品等信息。
2. 医疗辅助诊断:
辅助医生诊断病情:医生在诊断过程中,可以将患者的症状、病史等信息输入 ChatMed,获取可能的疾病诊断方向和相关的检查建议。例如,医生面对一个症状较为复杂的患者时,可以利用 ChatMed 快速梳理可能的疾病范围,提高诊断的准确性和效率。
疾病筛查与预警:在社区医疗、体检中心等场景中,用于初步筛查人群中的潜在疾病风险。通过对大量人群的健康信息进行分析和评估,及时发现可能存在的健康问题,并提醒人们进行进一步的检查和诊断。
3. 医学教育与培训:
辅助医学教学:作为医学教育的辅助工具,帮助医学生学习和理解医学知识。例如,学生可以向 ChatMed 提问,了解疾病的发病机制、临床表现、诊断方法和治疗原则等,加深对医学知识的理解和掌握。
培训医疗人员:为医护人员提供继续教育和培训的支持,帮助他们了解最新的医学研究进展、临床指南和治疗方法。医护人员可以通过与 ChatMed 的互动,不断更新自己的知识体系,提高医疗服务水平。
4. 医院管理与服务:
预约管理:协助医院的预约系统,根据患者的病情和需求,为患者提供合理的就诊时间和科室建议,优化医院的预约管理流程,提高医疗资源的利用效率。
病历管理:帮助医生整理和分析患者的病历信息,提取关键信息,为医生提供病历书写的模板和建议,提高病历的规范性和准确性。同时,还可以对大量的病历数据进行分析和挖掘,为医院的管理决策提供数据支持。
5. 中医药领域:基于 ChatMed 中的 Shennongtcmllm 模型,专注于中医药传承和应用。可以为中医师提供中医药方剂的推荐、中药的配伍禁忌、中医诊断方法等方面的咨询服务,也可以帮助患者了解中医药的治疗原理和适用范围,促进中医药的传承和发展。
6. 远程医疗:结合视频通话等技术,为偏远地区或无法及时到医院就诊的患者提供在线医疗咨询和诊断服务。医生可以通过 ChatMed 与患者进行沟通,了解患者的病情,提供诊断和治疗建议,实现远程医疗的智能化和便捷化。