InMD-X:超精细化 + 内科医生的大语言模型
- 提出背景
- 数据
- 训练
- 持续预训练
- 监督式微调
- 参数高效微调
提出背景
论文:https://arxiv.org/pdf/2402.11883.pdf
现有的医学语言模型往往将医疗健康视为一个单一领域,忽视了其复杂的子专业。
解法: 将内科重新定义为11个不同的子专业。
多样性 —— 每个子专业都有其复杂和独特的语言。
专业性高 —— 每个子专业都要求有高水平的专业知识。
内科的子专业包括:
- 心脏病学(Cardiology):专注于心脏和循环系统的疾病。
- 内分泌学(Endocrinology):研究内分泌系统和激素相关疾病,如糖尿病。
- 胃肠病学(Gastroenterology):关注消化系统的疾病。
- 肾脏病学(Nephrology):专门处理肾脏疾病。
- 呼吸系统病学(Pulmonology):研究肺和呼吸系统的疾病。
- 风湿病学(Rheumatology):关注关节、肌肉和骨骼的疾病。
- 血液学(Hematology):研究血液、血液生成器官和血液疾病。
- 感染病学(Infectious Disease):专注于由微生物引起的疾病。
- 肿瘤学(Oncology):研究癌症及其治疗。
- 神经内科(Neurology):虽然通常被视为独立于内科的专业,但它涉及到中枢和外周神经系统的疾病。
每个子专业都需要特定的知识和技能集,因为它们涵盖的健康问题、治疗方法和研究领域各不相同。
这种细分有助于医疗专业人员更精确地诊断和治疗各种疾病,同时也支持了医学研究的深入发展。
问题: 医疗健康领域的大型语言模型普遍缺乏针对医学子专业的特化,导致不能满足各子专业的独特需求。
特征: 医学领域的多样性和复杂性,不同子专业之间的独特语言和需求。
这里的目标是深入理解如何通过细化到内科的各个子专业来定制大型语言模型,从而满足医学领域的特定需求。
- 解决方案名称: InMD-X
- 解决方案定义: 一套经过细致调整的大型语言模型,专门针对内科的十一个子专业进行优化,以提高在特定医学领域内的准确性、效率和相关性。
拆解:
- 特征1: 数据策划
- 描述: 精心收集来自各个子专业顶级期刊的研究论文。
- 逻辑链: 由于医学子专业之间的语言和需求差异,需要有针对性地策划数据以确保模型的专业性和准确性。
- 特征2: 模型细化调整
- 描述: 对大型语言模型进行细化和优化,以适应内科的不同子专业。
- 逻辑链: 通过细化调整,模型能更好地理解和处理每个子专业的专业语言和独特需求。
- 特征3: 专业对齐
- 描述: 确保每个模型都与其对应的医学子专业紧密对齐,提供专业相关的信息和建议。
- 逻辑链: 对齐特定专业领域以增强模型的实用性和准确性,从而提升医疗决策的质量。
这些特征构成了一个逻辑链,因为每个步骤都是顺序依赖的,形成了一个线性的进展路径:从数据策划到模型的细化调整,再到专业对齐,每个步骤都为下一步奠定了基础。
假设在内科的一个子专业——心脏病学中,我们首先从顶级心脏病学期刊中收集数据(特征1),然后对模型进行细化调整,使其能够理解心脏病学的特定术语和治疗方法(特征2)。
接着,确保模型输出的建议和信息与心脏病学的实践紧密对齐(特征3)。
这个过程形成了一个从数据策划到模型专业化的逻辑链,最终实现了能够支持心脏病专家的InMD-X模型。
数据
这图展示了内科医学大型语言模型(InMD-X)的数据集构建框架。
-
内科子专业划分:
- 内科被划分为不同的子专业,如过敏学(ALLERGY)、肿瘤学(ONCOLOGY)、血液学(HEMATOLOGY)等。
-
目标期刊的选择:
- 选择每个子专业的顶级期刊,例如,过敏学领域的《Journal of Allergy and Clinical Immunology》,肿瘤学领域的《Journal of Clinical Oncology》和《Cancer Research》,血液学领域的《Journal of Hematology & Oncology》和《Blood》等。
- 使用期刊影响因子排名(JCR)来选择顶级期刊。
-
子专业数据集:
- 从选定的顶级期刊中收集摘要信息,通过PubMed数据库进行。
- 数据被组织成不同子集,对应不同的子专业,如ALL(所有期刊)、ONC(肿瘤学期刊)、HEM(血液学期刊)。
-
问答数据集(QA Dataset):
- 从收集的摘要中制作发现(Findings),例如,提出“干细胞涉及…”的观点。
- 从这些发现中创建问题(Questions),例如,提问“干细胞的作用是什么…”。
整个框架的目的是通过精确和有目的的数据收集,提炼信息,并生成能够支持问答系统的数据集。
这种方法强调了针对特定医学子专业的个性化语言模型的重要性,同时也体现了医学研究数据处理的细致程度。
问题: Pubmed不提供特定部门的信息,难以区分和收集部门数据。
解法: 建立两步法构建清晰区分子专业的数据集。
特征1: 基于顶级期刊 —— 使用JCR排名前10%的期刊名称作为Pubmed API的查询条件。
特征2: 有效分类 —— 根据JCR分类确保每个子专业数据的准确收集。
特征3: 数据时效性 —— 收集2010年以来的论文,保证信息的时效性。
从这些期刊中收集了397,602篇论文作为训练数据,这些数据来源于Pubmed。
训练数据包含了大约150.6百万个token,从中提取了大约170万对QA数据集进行了监督式微调。
训练
这部分文本详细描述了InMD-X模型的训练过程,包含了持续预训练、监督式微调和参数高效微调等阶段。现在我们将根据逻辑关系对这些过程进行中文拆解。
持续预训练
- 问题: 基础的预训练模型需要适应医学领域的特定知识。
- 解法: 对预训练的neural chat-7B语言模型进行持续预训练。
- 特征1: 域适应 —— 通过研究论文摘要进行自回归训练,无需标签。
- 特征2: 高专业性 —— 使模型在每个子领域获得高水平的专业知识。
- 特征3: 训练设置 —— 持续预训练进行了3个时期,批量大小设为1,学习率为1e-4。
监督式微调
- 问题: 模型需要根据人类期望优化问答任务的性能。
- 解法: 使用标记好的QA数据集对模型进行监督式微调。
- 特征1: 精细性能调整 —— 利用问答数据进行训练。
- 特征2: 训练设置 —— 训练进行了1个时期,批量大小设为1,学习率为1e-4。
参数高效微调
- 问题: 同时训练所有子专业的模型资源消耗巨大且效率低下。
- 解法: 采用参数高效微调优化训练过程。
- 特征1: Lora框架 —— 通过调整较少参数的独立模块间接微调模型。
- 特征2: 集成和资源效率 —— 模块权重完成训练后与原始模型权重合并。
- 特征3: 推理优势 —— 模型使用Lora权重与基础模型合并,便于处理多模型场景。
为了解决特定的问题(如域适应和资源效率),采用了特定的解决方法(如持续预训练和参数高效微调)。
以持续预训练为例,阶段包括:
- 选择模型:选定neural chat-7B作为基础模型。
- 域适应性训练:使用无标签的医学文献摘要进行自回归训练。
- 训练配置:设定训练周期(3个epochs)、批量大小(1)和学习率(1e-4)。
接着进行监督式微调,利用QA数据集精细化模型对问答任务的处理能力。
最后,为了提高资源使用效率,采用Lora框架进行参数高效微调,这允许模型在保持性能的同时减少资源消耗。