哈工大团队开源医学智能问诊大模型 | 华佗: 基于中文医学知识的LLaMa指令微调模型

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 哈工大团队开源医学智能问诊大模型 | 华佗: 基于中文医学知识的LLaMa指令微调模型

640.png


Title: HuaTuo: Tuning LLaMA Model with Chinese Medical Knowledge

PDF: https://arxiv.org/pdf/2304.06975v1.pdf

Code: https://github.com/scir-hi/huatuo-llama-med-chinese

导读

在生物医学领域,LLM模型(如LLaMaChatGLM)因为缺乏一定的医学专业知识语料而表现不佳。该项目通过医学知识图谱GPT3.5API构建了中文医学指令数据集,并对LLaMa模型进行了指令微调得到了一个针对医学领域的智能问诊模型HuaTuo,相比于未经过医学数据指令微调的原LLaMa而言,HuaTuo模型在智能问诊层面表现出色,可生成一些更为可靠的医学知识回答;与此同时,基于相同医学数据,该项目还训练了医疗版本的ChatGLM模型: ChatGLM-6B-Med

除了华佗模型,该团队还即将发布扁鹊模型PienChueh(同为基于医学数据训练的大模型),欢迎大家届时使用体验。

引言

ChatGPT模型虽然表现出色,但毕竟不开源,开源社区已提供了许多平替方案,比如LLaMa等(7B,13B,30B,65B),其中7B具有70亿参数,训练成本最低,借助Colossal AIDeep Speed大模型训练框架,也可以很好的平民化训练并针对性的用于解决特定业务场景下的问题。

不管是原始LLaMa,还是ChatGPT等其它大语言模型,它们在医疗领域的应用仍然存在一些问题。比如笔者前段时间问原始LLaMa,给它输入一段病情描述,让它输出病情诊断信息,它会给出一些非常简短且常规的回答,完全没回答到点子上;虽然在这一层面ChatGPT做的更好,回答的也更加详细,但更多的也是一些偏向于科普式的回答,并没有非常惊艳的效果。而经过专门医疗数据训练的Glass AI(链接:https://glass.health/ai)模型在智能诊断上表现极其出色,感兴趣的读者可自行注册体验(强烈推荐)。但由于Glass AI是一款已商业化的AI智能诊断模型,也并未开源。

由于医疗领域专业知识太多,而LLMs的一般领域知识往往无法满足这种专业化需求,如果直接用于智能诊断,极有可能导致诊断精度、药品推荐和医疗建议等方面的不准确性,甚至危及患者的生命。所以,将专业的医学领域知识,诊断案例数据输入到大模型进行专业化学习非常有必要。

目前,已经有一些方法尝试解决这个问题,但这些方法主要依赖于从人工交流中检索医学信息,容易出现人为错误。此外,LLMs通常只在英语语境下进行训练,这限制了它们在其他语言环境下的理解和响应能力,例如中文,因此它们在中国语境中的应用受到极大限制。

现有的方法主要采用ChatGPT进行数据辅助,将ChatGPT某一领域的知识有效蒸馏到较小的模型:比如Chatdoctor代表了将LLMs在生物医学领域的第一次尝试,通过调用ChatGPT API来生成一些医学语料数据并叠加一部分真实场景医患数据,来微调LLaMa;为了解决中文语境问题,DoctorGLM利用ChatGLM-6B作为基础模型,并用ChatDoctor数据集的中文翻译通过ChatGPT获取进行微调。这些模型出来的效果只能说还行,但距离真实落地还很远。毕竟通过未经过专门医学语料训练的ChatGPT获取的训练数据也是非常general的回答,对模型得不到质的提升。

本项目介绍了一种针对生物医学领域、专注于中文语言的LLM模型—HuaTuo(华驼)。为了保证模型在生物医学领域回答问题的准确性,研究人员通过从中文医学知识图谱CMeKG中提取相关的医学知识,生成多样的指令数据,以确保模型回答问题的事实正确性,并收集了超过8000条指令数据进行监督微调。该模型基于开源的LLaMa-7B基础模型,整合了CMeKG的结构化和非结构化医学知识,并利用基于知识的指令数据进行微调,使得模型具有较为丰富的医学领域专业知识,从而为智能诊断作出较为专业的回答。

HuaTuo Model

Base Model

LLaMA作为一个开源模型,具有7B到65B各个量级的模型;为了更快速高效的训练,作者采用LLaMA-7B作为HuaTuo的基础模型

Medical Knowledge

医学知识的种类包括:结构化医学知识和非结构化医学知识。结构化医学知识指的是医学知识图谱等形式化的知识,而非结构化医学知识则是如医学指南等的非形式化的知识。作者在这里使用了一个名为CMeKG的中文医学知识图谱,其中提供了关于疾病、药物、症状等的检索医学知识,目的是为了让大模型学习一些相关的专业医学知识。下表1展示了CMeKG知识库中的几个医学知识样例。

表1

Knowledge-based Instruction Data

instruct-tuning是一种有助于大模型在zero-shot场景下表现出令人满意性能的tuning微调技术,但这需要有足够丰富的instruct以指导大模型学会理解instruct命令,并作出反馈,当然我们也可以根据上述医学知识可生成一系列instruct-input-output模式的数据如下表2所示。然而,对于一种医学对话问诊的大语言模型,输入通常是以问题的形式进行陈述,所以在这里作者只保留input-output模式的数据来训练HuaTuo模型。

表2

在一般领域,生成的指令需要具备足够的多样性,以应对未知任务zero-shot;而在医学领域,则更加关注大型语言模型响应中的事实是否正确。因此,在本文中,研究者首先从知识图谱中随机选择一些医学知识实例,并利用OpenAI API 基于这些特定的知识生成一系列问诊对话的训练样本8,000条(数据见项目代码 Huatuo-Llama-Med-Chinese/data/)。如下表3所示

表3

实验设置

Baselines

为了对比HuaTuo和其它基础模型的性能,作者进行了与三个基础模型的比较分析:

  1. LLaMA 作为HuaTuo的基础模型,作者选择了原生LLaMA-7B作为基础模型比较对象。
  2. AlpacaLLaMA的一种instruct-tuning版本模型,拥有超过80,000个在通用领域中生成的训练样本。
  3. ChatGLM 是专门为中文聊天场景设计的大语言模型,在本文的分析中,作者将HuaTuo的性能与ChatGLM-6B进行了比较。

Metrics

自然语言生成领域中常用的评估指标是BleuRouge,作者在医疗问答任务中引入了新评估指标SUS,分别代表:安全性可用性流畅性。其中,安全性维度评估生成的响应是否存在误导用户、对用户健康构成危险的潜在因素,例如错误的药物建议;可用性维度评估生成的响应是否反映了医疗专业知识;流畅性维度则评估生成模型作为语言模型的能力。

实验结果

在这项研究中,作者构建了一个中文对话场景的医疗问诊测试集,并将HuaTuo与其他三个基准模型进行了比较。为了评估模型性能,本项目招募了五名具有医学背景的专业医师,在SUS三个维度上评估模型的安全性、可用性和流畅性。SUS刻度从1(不可接受)到3(好),其中2表示可接受的响应。平均SUS得分如下表4所示。尽管LLaMA获得了最高的安全得分,但其响应常常缺乏信息且重述问题,导致可用性得分低。另一方面,HuaTuo模型显着提高了知识可用性,同时没有太多地牺牲安全性。

表4. HuaTuo与原始LLaMa,Alpaca,ChatGLM模型在SUS维度上的性能评估

目录
相关文章
|
3月前
|
自然语言处理 C语言 Python
中文竞技场大模型评测
介绍“中文竞技场”,一个体验大型中文语言模型的平台。点击进入后,遵循规则输入问题,两个模型将生成回复供对比。避免简单问候,可进行多轮对话,涉及写作、代码、知识、游戏、价值观及NLP等领域。评测示例包括诸葛亮空城计描述、C语言冒泡排序及人生意义探讨等,展示不同模型的风格与优劣。
78 7
|
6月前
|
人工智能 人机交互 语音技术
让大模型更懂你的情绪——通义实验室与中科院自动化所联合开源中英双语共情语音对话模型BLSP-Emo
BLSP-Emo模型展示了情感智能在人机交互中的重要性,未来的多模态模型将更加注重情感的识别和表达,使得机器能够更加准确地理解和回应用户的情感状态,甚至生成富有情感的语音反馈。同时,BLSP-Emo展示了将副语言信号对齐到大语言模型语义空间的可能性,我们期待着更加人性化、更具有共情力的对话交互模型的出现。
|
7月前
|
测试技术 决策智能
专业智能体指导让小模型学会数学推理!微调Mistral-7B实现86.81%准确率
【5月更文挑战第13天】Orca-Math研究展示如何用小模型解决小学数学题,通过70亿参数的SLM在GSM8K基准测试上达到86.81%准确率。采用合成数据集和迭代学习技术,包括多智能体协作创建问题集及“偏好学习”优化解决方案。虽优于其他大、小模型,但可能不适用于复杂数学问题,且依赖高质量合成数据集的创建。[论文链接](https://arxiv.org/abs/2402.14830)
176 4
|
算法 安全 测试技术
中文竞技场大模型体验报告
本次测评的主要目标是评估中文竞技场提供的大模型在写作创作相关、知识常识和代码相关方面的表现。我们进入“中文竞技场”体验了这些模型,并在以下方面进行了测试和评估。
242 30
|
7月前
|
自然语言处理 前端开发 Swift
社区供稿 | 中文llama3模型哪家强?llama3汉化版微调模型大比拼
随着llama3的发布,业界越来越多的针对其中文能力的微调版本也不断涌现出来,我们在ModelScope魔搭社区上,搜集到几款比较受欢迎的llama3中文版本模型,来从多个维度评测一下,其对齐后的中文能力到底如何? 微调后是否产生了灾难性遗忘问题。
|
自然语言处理
|
7月前
|
机器学习/深度学习 数据采集 存储
百川智能发布超千亿大模型Baichuan 3,中文评测超越GPT-4
百川智能发布大语言模型Baichuan 3,参数超千亿,表现出色。在CMMLU、GAOKAO等中文任务评测中超越GPT-4,且在MATH、HumanEval等专项评测中证明其自然语言处理和代码生成实力。Baichuan 3在医疗领域,如MCMLE、MedExam等评测中成绩突出,成为中文医疗任务的最佳模型。此外,它通过“迭代式强化学习”提升语义理解和生成能力,诗词创作能力远超其他模型。Baichuan 3的推出标志着百川智能在大模型技术上的新里程碑。
156 0
|
自然语言处理 Java iOS开发
中文竞技场大模型评测
中文竞技场大模型评测
373 0
中文大模型竞技评测
进行了写作创作、人类价值观、中文游戏3个主题的模型匿名问答测试。
中文大模型竞技评测

热门文章

最新文章