2023年开源中文医疗大模型概览
时间:2024-04-30 15:25:48 来源:网络cs 作者:往北 栏目:卖家故事 阅读:
序言
自基于GPT-3.5的ChatGPT版本2022年年底震撼问世以来,如何利用通用大模型的优势,结合各垂直行业与领域专业知识积累及业务流程规范,打造领域大模型,从而有效支撑各领域日常问答、专业咨询乃至解决方案建议,无疑成为大模型应用落地探索的一大方向和趋势。
在医疗领域,国外以Google为代表持续在医疗大模型方面探索发力,由谷歌Research和DeepMind共同打造的多模态生成模型Med-PaLM M于2023年月发布,该模型懂临床语言、懂影像,也懂基因组学,在美国执业医师资格考试(USMLE)中通过率高达85.4%,从技能上已经达到专业医生的水平,令人振奋。
而国内各研发机构、医疗机构及LLM Geeker也不甘落后,以极大的精力与热情,从2023年起,结合中文环境下的、医疗问诊、中药特色以及日趋更为关键的心理学领域进行了大量的尝试,并且总体体现了开放共享,共襄盛世的百花齐放的格局,无论从大模型基座的选择、大模型微调技术、专业领域数据集构建方法、开放专业训练数据集、微调训练推理经济成本考量、中文医疗大模型评价标准和医疗健康在心理健康领域的衍生,都呈现了各自的特色,可谓精彩纷呈。
值得高兴的是,部分开源医疗大模型项目团队作者,不局限于初步成果,持续探索更新,无论在基座灵活支持、中文医疗数据集、微调训练方法及效果评价不断开放提升方面,都继续发力,如DoctorGLM, MedicalGPT、ChatMed及MedQA等项目,尤其是MedQA项目,在复现过程及后续不断推出的更具开放性先进性的IvyGPT-CareLlma等,无疑都展现了该领域研发探索先锋的Geek/Guru风范。
本文根据现有近20个中文医疗领域开源大模型网络众神们的总结分析,结合作者探索行业发展浅见,编制形成本文,意图对发展中的中文医疗大模型提供多方面概览,呈现采撷各自精彩与独特之处,共同推进LLM应用探索与实践,在组织结构及内上也引用了不少附录中(中文综述)专家的成果,在此一并致谢,其中有不尽之处,也敬请海涵指正。
如同各开源模型指出的,这些大模型都是在研发探索阶段,包括AI Ethics的隐忧等,尚不足以成熟到作实际医用诊疗; 但如果这些开放性研发探索,能够从某种程度上,通过中文医疗卫生大模型及其生态应用,加强中文-中药医卫乃至心理咨询方面的大众的专业认知与素养,让具有庞大人口基数的中华14亿大众,身边多个垂手可得的专家,让华佗扁鹊医者仁心的AI Ethics与技艺能够继续洋溢人间,都不啻为一种有益的尝试。
突然脑路清奇想到,按照开源精神及一带一路倡议精神,发端于英文体系,推陈出新意有所为的中文医卫大模型,后续也可能为人口众多但不发达且语种独特的异域特色医卫AI辅助 :-)
开源中文医疗大模型信息一览表
模型名称 | 模型基座 | 论文-源码链接 | 开放情况 | 贡献单位 | 初始发布日期 | Github Stars (20230822-20230830统计) |
MING (原MedicalGPT-zh) | bloomz-7B 指令微调 | 无公开论文/技术报告 源码地址: https://github.com/MediaBrain-SJTU/MedicalGPT-zh https://github.com/MediaBrain-SJTU/MING | 未开放训练数据集提供模型下载提供推理验证示例脚本 | 上海交通大学未来媒体网络协同创新中心和上海人工智能实验室智慧医疗中心 | 2023/07 | 392 |
DoctorGLM | ChatGLM-6B Lora微调 | 论文及源码 https://github.com/xionghonglin/DoctorGLM https://arxiv.org/abs/2304.01097
| 提供模型训练的技术细节公开训练数据集提供模型权重下载提供推理验证脚本建立了开发者微信群提供了演示地址:https://doctorglm.idealab-llms.com(有时不可用) | 上海交大 | 2023/06 | 574 |
本草BenTaso(原名HuaTuo华驼) | Lalalma Alpaca Bloom 活字
LoRA微调 | 论文及源码: https://github.com/SCIR-HI/Huatuo-Llama-Med-Chinese https://arxiv.org/pdf/2304.06975.pdf
相关解读: 哈工大团队开源医学智能问诊大模型 | 华佗: 基于中文医学知识的LLaMa指令微调模型 - 知乎 [实战LLM]本草-华驼-用中文医学知识来微调LLaMa模型 - 知乎 | 给出数据集的构建方法介绍,未公开训练数据集给出多种基座模型后微调后的模型权重提供推理验证脚本及示例数据集给出了模型对比评价标准及试验情况 | 哈尔滨工业大学社会计算与信息检索研究中心健康智能组 | 2023年3月创建,5月份更名为本草 | 3.6K |
Med-ChatGLM (与BenTsao同源) | ChatGLM-6B 指令微调 | 源码地址: https://github.com/SCIR-HI/Med-ChatGLM | 与本草类似 但公开了训练微调脚本 | 同上 | 2023年3月发布 | 749 |
HuaTuoGPT(华佗GPT) | 百川7B Ziya-LaMA-13B-Pretrain-v1
SFT微调
| 论文及源码: https://arxiv.org/pdf/2305.15075.pdf https://github.com/FreedomIntelligence/HuatuoGPT
| 项目开放了训练用的医患数据集,也给出了SFT的示例调整脚本, 以及评估示例脚本。 项目技术报告是基于BLOOM大模型进行的训练,但项目git库中发布的模型权重或者权重Delta却是基于百川和Ziya-Lalama项目技术报告对数据集构建、训练及评估都做了相对清楚的描述。 试用地址: 华佗GPT | 深圳大数据研究院 香港中文大学 | 2023年4月发布 持续更新中 | 605 |
MedicalGPT | bloom llama/llama2 chatglm/chatglm2-6B baichuan 7B, 13B
按照ChatGPT training pipeline训练微调(二次预训练、有监督微调、奖励建模、强化学习训练。) | 无技术报告,但github说明较详细 https://github.com/shibing624/MedicalGPT
| 开放程度相对较高的医疗大模型构建训练数据集及训练过程参数通过Wiki全部开放整个过程也按照ChatGPT training pipeline创建的,包括训练脚本、推理(inference)验证脚本及交互演示脚本等开放,整体链条完整清楚建立了微信探讨群,并持续更新 | 个人 | 2023年6月发布 持续更新中 | 1.3k |
ChatMed
| LlaMA-7b
Lora微调 | https://github.com/michael-wzhu/ChatMed 项目公开了训练数据及训练过程,并没有其它相关的技术报告 | 项目开源了基于LlaMA-7b的ChatMed-Consult模型,以及全部训练代码,也给出了测试代码。项目将关联的其它项目、数据集等都进行了公开与链接 | 华东师范大学计算机科学与技术学院智能知识管理与服务团队 | 2023/5/05 开源ChatMed-Consult模型 | 198 |
ShenNong-TCM-LLM - 神农中医药大模型
| LlaMA-7b
LoRA微调 | https://github.com/michael-wzhu/ShenNong-TCM-LLM
| 与ChatMed类似
该团队联合阿里、复旦大学附属华山医院、东北大学、哈工大及同济大学另外推出了两个大模型评价标准: PromptCBLUE 中文医疗大模型评测标准(首个中文医疗场景的LLM评测基准。https://github.com/michael-wzhu/PromptCBLUE ShenNong-TCM-Evaluation-BenchMark意图建立一个标准化、综合性的中医评测框架 https://github.com/ywjawmw/ShenNong-TCM-Evaluation-BenchMark
| 与ChatMed同源
| 2023年6月发布 | 57 |
MedQA-ChatGLM | ChatGLM
LoRA、P-Tuning V2、Freeze、RLHF等微调 | 技术报告: https://www.wangrs.co/MedQA-ChatGLM/# 源码: https://github.com/WangRongsheng/MedQA-ChatGLM
| 项目给出了开放数据集、构建方法、微调模型训练方法及推理演示脚本,以及试验环境参数,相对比较全面项目同时也罗列了当时搜集的开源医疗大模型、基座模型及数据集,体现了作者开放博取交流共进的专业素养。2023年8月底,作者又推出了更为全面开放的CareLlama(2023年8月28日宣告闭源1个月,但公开测试页面仍支持访问): https://github.com/WangRongsheng/CareLlama | 澳门理工大学 | 2023年5月发布 | 232 |
XrayGLM -首个会看胸部X光片的中文多模态医学大模型 | 借助ChatGPT以及公开的数据集,构造了一个X光影像-诊断报告对的医学多模态数据集
VisualGLM-6B 微调 | 无技术报告,github库中有关键步骤解释描述。
源码: https://github.com/WangRongsheng/XrayGLM | 与MedQA-ChatGLM同源,而且开放程度类似,github库中包含了项目重现的全部内容,同时对相关的工作,都给予了致谢说明, 体现了真正的开源精神。 项目同时列出了所有相关的项目及数据集URL
| 同上 | 2023年5月发布 | 558 |
BianQue扁鹊 - 中文医疗对话大模型 | 扁鹊1.0采用的模型基座: ClueAI/ChatYuan-large-v2
扁鹊2.0采用的模型基座: ChatGLM-6B 全量参数的指令微调
| 无相关论文发布 源码地址: https://github.com/scutcyr/BianQue scutcyr/BianQue-2 · Hugging Face scutcyr/BianQue-1.0 · Hugging Face
| 项目仅给出了已微调的扁鹊模型及如何使用的代码对于所使用的BianQueCorpus数据集的构建脚本、如何进行模型微调训练,并没有给出具体的代码,是一种模型应用层面的开放。是项目团队ProactiveHealthGPT大模型基座的一部分(同见SoulChat) | 华南理工大学未来技术学院
广东省数字孪生人重点实验室
合作单位包括广东省妇幼保健院、广州市妇女儿童医疗中心和中山大学附属第三医院等。 | 2023年4月发布 | 240 |
SoulChat灵心健康大模型 | ChatGLM-6B
全量参数的指令微调 | 无相关技术报告,虽然作者预期会后续发布 项目源码https://github.com/scutcyr/SoulChatscutcyr/SoulChat · Hugging Face 项目同时给出了内测网址灵心
| 项目并没有给出模型训练的全过程、训练所用数据集及脚本,仅给出了微调训练后的模型,以及如何使用模型进行推理测试的脚本。与BianQue一样, 是项目团队ProactiveHealthGPT大模型基座的一部分参与了PULSE团队的Elo评测(https://github.com/openmedlab/PULSE#elo%E8%AF%84%E6%B5%8B) | 同上 | 2023年4月发布 | 139 |
孙思邈中文医疗大模型(Sunsimiao) | baichuan-7B ChatGLM-7B 微调(参照LLaMA-Efficient-Tuning:) | 尚无论文发布 公开源码见: 孙思邈中文医疗大模型 https://github.com/thomas-yanxin/Sunsimiao https://github.com/X-D-Lab/Sunsimiao | 该模型所开源的信息较为有限, github中的模型权重链接甚至存在无效的现象,看起来显得比较仓促。 | 华东理工大学信息科学与工程学院 | 2023年6月发布
| 32
|
Mindchat漫谈中文心理大模型 | baichuan-13B Qwen-7B InternLM-7B 微调
| 项目尚未发布相关论文。 公开源码部分见:https://github.com/X-D-Lab/MindChat MindChat体验地址: MindChat-创空间 | 项目除了公开微调模型权重、简要测试用脚本和心理学多方面(学习、家庭、工作、朋友、安全)的测试样例效果外,其它已公开资料较少,虽然项目提供了在线试用网址。持续更新中 | 同上 | 2023年6月发布 | 82 |
QiZhenGPT启真医学大模型 | Chinese-LLaMA-Plus-7BCaMA-13BChatGLM-6B
指令微调 | 项目尚未发布论文 公开源码地址: https://github.com/CMKRG/QiZhenGPT | 项目以开放微调后模型及验证脚本为主虽然也设计了对比实验并给出了统计结果,但所涉及的数据集及构建方法等都没具体开放 | 浙江大学、网新数字健康联合研究中心 | 2023年5月 | 424 |
PULSE中文医疗大模型 | bloomz-7b1-mt
QLoRa微调 | 无相关论文
相关代码及模型:https://github.com/openmedlab/PULSEOpenMEDLab/PULSE-7bv5 · Hugging Face
关联开源生态应用: https://github.com/openmedlab/XrayPULSE https://github.com/JuneYaooo/medical_kb_chatbot | 项目在模型调优训练及所用数据集信息比较有限,提供了微调后的模型下载,对于有进一步使用及定制化的需要,项目组持开放态度。项目在效果评价时,采用了Elo等级分评价方法,与其它通用大模型及中文医疗大模型进行对比实验,并且给出了评价的实现。项目也开源了相关生态应用XRayPULSE等
| 上海人工智能实验室、上海交通大学-清源研究院、华东理工大学-自然语言处理与大数据挖掘实验室 | 2023年6月 | 313 |
CareLlama关怀羊驼中文医疗大模型 (TBD) | TBD | CareLlama在线体验版:https://huggingface.co/spaces/wangrongsheng/CareLlama
其它待作者再次开放后补充 | 与 MedQA-ChatGLM 为同一个团队开发,值得期待 | 澳门理工大学 | 2023年8月 (后又宣布闭源1个月,估计9月份再次开放) | TBD |
1)MedicalGPT-zh - 一个基于ChatGLM的在高质量指令数据集微调的中文医疗对话语言模型 (2023年7月更名为MING)
项目简介
项目最初开源了基于ChatGLM-6B LoRA 16-bit指令微调的中文医疗通用模型。基于共计28科室的中文医疗共识与临床指南文本,从而生成医疗知识覆盖面更全,回答内容更加精准的高质量指令数据集。以此提高模型在医疗领域的知识与对话能力。
项目由上海交通大学未来媒体网络协同创新中心和上海人工智能实验室智慧医疗中心合作研发。
2023年7月MedicalGPT-zh更名为MING,相关基础模型及微调训练数据等等做了全新的更新。
论文及开源地址
开源地址原为:
https://github.com/MediaBrain-SJTU/MedicalGPT-zh
会自动重定位到
https://github.com/MediaBrain-SJTU/MING
数据集构建
本项目数据主要分为两个部分:情景对话与知识问答
数据类型 | 描述 | 数量 | 占比(%) |
情景对话 | 在具体场景下的医患诊疗对话 | 52k | 28.57 |
知识问答 | 医学知识问题的解释性回答 | 130k | 71.43 |
总计 | - | 182k | 100 |
情景对话:主要参考BELLE的指令数据集生成方式,将医学指令按照诊疗情景的不同主要分为16种大类,通过100条情景对话种子任务生成的52k条情景对话数据。 提供了情景对话种子任务及生成情景对话数据的程序,最终生成的52k情景对话数据医学指令类型及其分布如图所示。
其中提到的BELLE, Be Everyone's Large Language model Engine(开源中文对话大模型),地址为:
https://github.com/LianjiaTech/BELLE
https://github.com/LianjiaTech/BELLE/blob/main/docs/Towards%20Better%20Instruction%20Following%20Language%20Models%20for%20Chinese.pdf、https://github.com/LianjiaTech/BELLE/blob/main/docs/A%20Comparative%20Study%20between%20Full-Parameter%20and%20LoRA-based.pdf
知识问答:医学知识来源于自建的医学数据库。通过提供具体的医疗共识与临床指南文本,先让ChatGPT生成与该段医学知识内容与逻辑关系相关的若干问题,再通过“文本段-问题”对的方式让ChatGPT回答问题,从而使ChatGPT能够生成含有医学指南信息的回答,保证回答的准确性。知识问答与医疗指南、依据医疗指南生成的知识问答样例都有提供, 并提供了知识问答数据生成的程序。其中,医疗共识与临床指南中文本段涵盖28个科室共计32k个文本段。 各科室及其分布如图所示。
模型输出样例
模型训练
项目训练代码采用模型并行算法,可以在最少4张3090显卡上完成对ChatGLM LoRA 16-bit的指令微调。
开放程度
项目初始发布时,github上给出了数据集的构建程序、模型训练程序及运行命令行代码,可直接运行。 2023年7月份,相关的程序库都已消失,变成了如下的更为概略的MING模型。
保留该模型的目的,仅仅是从其原有开放资料中,了解借鉴相关的技巧方法,。
2)明医 (MING)——中文医疗问诊大模型
项目简介
这是MediaCPT-zh的最新替代版(2023年7月25日)。 该问诊大模型提供了两种功能:
医疗问答:对医疗问题进行解答,对案例进行分析。智能问诊:多轮问诊后给出诊断结果和建议。论文及源码
项目仅给出了部分代码库,如下:
https://github.com/MediaBrain-SJTU/MING
并没有论文或者技术报告支撑。
数据集构建
数据集主要由四个部分构成:
数据类型 | 数据构成 | 数量 | 占比(%) |
医疗知识问答 | 基于临床指南和医疗共识的知识问答 | 168k | 48.88 |
基于医师资格考试题的知识问答 | 77k | ||
真实医患问答 | 140k | ||
基于结构化医疗图谱的知识问答 | 160k | ||
多轮情景诊断与案例分析 | 基于HealthCareMagic构造的多轮情景问答与诊断 | 200k | 21.52 |
基于USMLE案例分析题的格式化多轮问诊 | 20k | ||
多轮病人信息推理与诊断 | 20k | ||
任务指令 | 医疗指令 | 150k | 26.91 |
通用指令 | 150k | ||
安全性数据 | 敏感性问题 | 15k | 2.69 |
医疗反事实 | 15k | ||
总计 | - | 1.12M | 100.00 |
git库中并没有相关的数据源说明。
样本生成方式
与MedicalGPT相比,MING的说明中并没有详细的微调训练样本的说明, 给出的代码是采用FastChat平台进行的。
模型训练
该模型采用的是基于bloomz-7B的指令微调,最后生成MING-7B。
模型 | 基座 | HuggingFace |
MING-7B | bloomz-7b1-mt | 🤗MING-7B |
并没有给出训练的具体方法。
问答整体实施采用了FastChat微调模型平台框架。
开放程度
仅开放有对话运行示例,项目说明较简单,似乎很仓促替代的MedicalGPT-zh,仅提供了可测试的模型及infer推理测试脚本。
3)DoctorGLM
项目简介
项目是基于ChatGLM-6B的中文问诊模型,发布于2023年6月份。
论文及源码
项目共公开了微调的源码,包括利用Lora及P-Tuning2的微调方法。
https://github.com/xionghonglin/DoctorGLM
论文地址为:
https://arxiv.org/abs/2304.01097
DoctorGLM: Fine-tuning your Chinese Doctor is not a Herculean Task
相关的两个技术分享:
100块训练自己的私人家庭医生(LLM) - 知乎 100块训练自己的私人家庭医生(LLM)
低成本训练医疗ChatGPT踩坑记 - 知乎 低成本训练医疗ChatGPT踩坑记
数据来源
采用了以下的数据分类
Dataset | Department | Language | Q&A | Chat | Number | Syn. | Size | Weight |
CMD. | Surgical | CN | ✔ | × | 116K | × | 52MB |
|
| Obstetrics and Gynecology | CN | ✔ | × | 229K | × | 78MB |
|
| Pediatrics | CN | ✔ | × | 117K | × | 47MB |
|
| Internal Medicine | CN | ✔ | × | 307K | × | 102MB |
|
| Andriatria | CN | ✔ | × | 113K | × | 44MB |
|
| Merged | CN | ✔ | × | 1.9M | × |
| Doctor_GLM/ckpt |
MedDialog | Multiple | CN&EN | ✔ | ✔ | 3.4M | × | 1.5GB | ptuning_weight |
ChatDoctor | Multiple | EN | ✔ | × | 5.4K | ✔ | 2.9MB | Coming soon |
HearlthcareMagic | Multiple | EN | ✔ | × | 200K | × | 216MB | Coming soon |
公开了采用的数据集
https://github.com/Toyhom/Chinese-medical-dialogue-data
如上表所述,总计6个文件夹,792099个问答对:
<Andriatria_男科> 94596个问答对
<IM_内科> 220606个问答对
<OAGD_妇产科> 183751个问答对
<Oncology_肿瘤科> 75553个问答对
<Pediatric_儿科> 101602个问答对
<Surgical_外科> 115991个问答对
样本生成方式
样本采用了已有数据集,也包括爬取的默沙东诊疗手册的程序等。
模型训练
项目给出了基于Lora及P-Tuning2进行微调的较为明确的说明,包括量化调整方式等。 作者论文中谈到可以用A100 80G单卡13小时,即可以得到具备医疗领域知识的一个模型。
项目同时给出了基于Gradio的模型部署测试程序。 作者指出基于P-Tunning2的微调才能较好地支持多轮对话。
开放程度
项目给出了微调训练相关的代码及数据(包括数据抓取程序、英文问答中文转换程序等),是相对完整的开源体系,并建立了开发者群,总体而言开放程度较高。
没有明确说明授权模式。
4)本草[原名:华驼(HuaTuo)]-基于中文医学知识的LLaMA微调模型
项目简介
项目开源了经过中文医学指令精调/指令微调Instruction-tuning Large Language Models With Chinese Medical Knowledge) 的LLaMA-7B模型。通过医学知识图谱和GPT3.5 API构建了中文医学指令数据集,并在此基础上对LLaMA进行了指令微调,提高了LLaMA在医疗领域的问答效果。
此外,项目还尝试利用GPT3.5 API将医学文献中的【结论】作为外部信息融入多轮对话中,在此基础上对LLaMA进行了指令微调。
同时,也提供了基于中文Alpaca大模型(https://github.com/ymcui/Chinese-LLaMA-Alpaca)进行指令微调的模型。
目前项目只开放针对"肝癌"单个疾病训练的模型参数。在未来,还计划发布融入文献结论的医学对话数据集,并且会针对“肝胆胰”相关16种疾病训练模型。
项目一直处于不断更新中, 2023年8月初,项目开源的经过中文医学指令精调/指令微调(Instruct-tuning) 的大语言模型集,包括LLaMA、Alpaca-Chinese、Bloom、活字模型(哈工大自然语言处理研究所发布的活字通用大模型 https://github.com/HIT-SCIR/huozi)等。 项目由哈尔滨工业大学社会计算与信息检索研究中心健康智能组创建, 于2023年3月发布,原名华驼,2023年5月更名为本草。
基于相同的数据,团队还训练了医疗版本的ChatGLM模型: ChatGLM-6B-Med
论文及开源地址
项目github地址:
https://github.com/SCIR-HI/Huatuo-Llama-Med-Chinese
论文地址:
HuaTuo (华驼): Tuning LLaMA Model with Chinese Medical Knowledge
https://larxiv.org/pdf/2304.06975.pdf
数据集构建
采用了公开和自建的中文医学知识库,主要参考了cMeKG( https://github.com/king-yyf/CMeKG_tools )。 医学知识库围绕疾病、药物、检查指标等构建,字段包括并发症,高危因素,组织学检查,临床症状,药物治疗,辅助治疗等。
知识库示例如下:
{"中心词": "偏头痛", "相关疾病": ["妊娠合并偏头痛", "恶寒发热"], "相关症状": ["皮肤变硬", "头部及眼后部疼痛并能听到连续不断的隆隆声", "晨起头痛加重"], "所属科室": ["中西医结合科", "内科"], "发病部位": ["头部"]}
项目利用GPT3.5接口围绕医学知识库构建问答数据,设置了多种Prompt形式来充分利用知识。
指令微调的训练集数据示例如下:
"问题:一位年轻男性长期使用可卡因,突然出现胸痛、呕吐、出汗等症状,经检查发现心电图反映心肌急性损伤,请问可能患的是什么疾病?治疗方式是什么?"回答: 可能患的是心肌梗塞,需要进行维拉帕米、依普利酮、硝酸甘油、ß阻滞剂、吗啡等药物治疗,并进行溶栓治疗、低分子量肝素、钙通道阻滞剂等辅助治疗。此外需要及时停用可卡因等药物,以防止病情加重。"
项目提供了模型的训练数据集,共计八千余条; 同时收集了2023年关于肝癌疾病的中文医学文献,利用GPT3.5接口围绕医学文献多轮问答数据, 在·./data_literature/liver_cancer.json中提供了其中的1k条训练样例。
一个样本示例如下:
如果要采用自己的数据集微调Lalama,需要按照./data/llama_data.json的格式构建自己的数据集,并运行微调脚本 ./scripts/finetune.sh
模型训练
项目在一张A100-SXM-80GB显卡上进行了训练,训练总轮次10轮,耗时约2h17m。batch_size=128的情况下显存占用在40G左右。预计3090/4090显卡(24GB显存)以上显卡可以较好支持,根据显存大小来调整batch_size。
模型训练超参设置和实验过程可以参考wandb的链接:
https://wandb.ai/thinksoso/llama_med/runs/a5wgcnzt/overview?workspace=user-thinksoso
模型效果一览:
模型效果
作者将融入医学领域知识的模型与其它几个模型进行了对比分析。 在医疗问答任务中引入了新评估指标SUS,分别代表:安全性、可用性和流畅性。其中,安全性维度评估生成的响应是否存在误导用户、对用户健康构成危险的潜在因素,例如错误的药物建议;可用性维度评估生成的响应是否反映了医疗专业知识;流畅性维度则评估生成模型作为语言模型的能力。
项目构建了一个中文对话场景的医疗问诊测试集,并将HuaTuo与其他三个基准模型进行了比较。为了评估模型性能,项目招募了五名具有医学背景的专业医师,在SUS三个维度上评估模型的安全性、可用性和流畅性。SUS刻度从1(不可接受)到3(好),其中2表示可接受的响应。平均SUS得分如下表4所示。尽管LLaMA获得了最高的安全得分,但其响应常常缺乏信息且重述问题,导致可用性得分低。另一方面,HuaTuo模型显着提高了知识可用性,同时没有太多地牺牲安全性。
开放程度
目前是给出了数据集的构建方法介绍,以及微调后的模型权重:
提供了对LLaMA进行指令微调的LoRA权重文件 基于医学知识库 基于医学文献 提供了对Alpaca进行指令微调的LoRA权重文件 基于医学知识库 基于医学文献后来也陆续也给出了对Bloom、活字模型微调的LoRA权重文件
给出了如何微调训练模型的代码及参考数据集,数据集构建程序等并没有开放。
项目的介绍也可以参考论文介绍及代码解读:
哈工大团队开源医学智能问诊大模型 | 华佗: 基于中文医学知识的LLaMa指令微调模型 - 知乎
[实战LLM]本草-华驼-用中文医学知识来微调LLaMa模型 - 知乎
5)ChatGLM-Med(Med-ChatGLM): 基于中文医学知识的ChatGLM模型微调
项目简介
是上述BenTsao的衍生项目, 开源了经过中文医学指令精调/指令微调(Instruct-tuning) 的ChatGLM-6B模型。 与本草相类, 通过医学知识图谱和GPT3.5 API构建了中文医学指令数据集,并在此基础上对ChatGLM-6B进行了指令微调,提高了ChatGLM在医疗领域的问答效果。
论文及开源地址:
相关微调及测试代码:
https://github.com/SCIR-HI/Med-ChatGLM
数据集构建
与本草类同。
模型训练
推荐使用chatglm官方的微调方案:https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md
项目提供了Instruct-tuning 指令微调的方法,提供了scripts/sft_medchat.sh运行脚本。
如果想用自己的数据集继续指令微调/指令精调(Instruct-tuning)ChatGLM,可以构建与data目录中训练集类似的文件格式进行。或参照ChatGLM-Instruct-Tuning仓库。
模型效果
项目并没有提供如Lalama模型类似的评测结果,仅给了示例
开放程度
与本草类似。 作者采用的是ChatGLM v1, 并没有适配新发布的V2版本,存在相应的局限性。
6)HuatuoGPT (华佗GPT) - Towards Taming Language Models To Be a Doctor.
项目介绍
项目旨在利用大量中文语料库构建一种更为专业的医疗问诊大模型。
项目着眼满足日益增长的在线和医院快速医疗咨询需求(这些咨询通常并不一定需要深厚的医学知识),从而解放专业医生的时间和精力,来处理更复杂的病例。
项目也提供训练医学领域大模型的开放数据,因为医用 大模型 建立高质量的指令与训练数据非常必要,但也很有挑战性。项目采用多种方法构建了医学训练数据,并将其公开。该数据集可与其他数据集相结合,训练自己的医学 "ChatGPT"。
项目重视医疗 LLM 能力仔细评估的重要性,虽然 LLM 在医疗领域潜力巨大,但有必要进行全面的评估和测试,以确保患者的安全和诊断的准确性。
项目的主要成果包括:
HuatuoGPT SFT数据:打造出了通过监督微调(Supervised FineTuning)能够赋予模型医患友好特点的混合数据集HuatuoGPT大模型:基于两种大模型基座,得到两种医用大模型权重,并可在线试用 HuatuoGPT-7B以百川-7B为基础进行训练HuatuoGPT-13B以Ziya-LaMA-13B-Pretrain-v1为基础进行训练。医学评估基准(benchmark): 给出了评估医疗场景中LLMs的一种方法。项目方法思路如下图:
项目由深圳大数据研究院、香港中文大学(深圳)共同研发。 与2023年4月发布,并且持续更新中。
论文及开源地址
技术报告地址:
https://arxiv.org/pdf/2305.15075.pdf
开源地址:
https://github.com/FreedomIntelligence/HuatuoGPT
使用地址:
华佗GPT
作者研发过程中的一些体会:
100块训练自己的私人家庭医生(LLM) - 知乎
数据集构建
如简介所述,设计构建数据集并开放是项目的一个目标,数据包含了两部分, 通过ChatGPT问答提炼后的数据和从实际医患记录中得到的数据。
数据集类型 | 大小 | 简介 | Examples |
基于ChatGPT问答的精炼指令(Distrilled Instruction) | 61,400 | 通过self-instruct生成的医疗指令集, 其中的Seed基础指令是人工产生的。 | 💬:现在该做什么准备手术前的身体检查? 👨⚕️:在准备手术前的身体检查中,需要进行以下几个步骤: 1. 了解病人的病史:了解病人的病史,包括既往病史、手术史、药物过敏史、家族病史等,以便评估手术风险和制定手术方案。 2. 进行体格检查:进行全面的体格检查,包括测量身高、体重、血压、心率、呼吸… |
来源于现实的医患问答( Real-world Instructions from Doctors) | 69,768 | 现实场景中医患的一轮咨询问答,医生的回复更加具体,可以解决用户的医疗问题。 | 💬:我有糖尿病血压160-90.该吃什么降压药?空腹血糖8左右。餐后11左右。我有糖尿病血压160-90.该吃什么降压药? 👨⚕️:阅读你的提问描述,综合分析症状,体征,糖尿病,血压160-90.血压略高,空腹血糖8左右。餐后11左右。血糖略高。口服依那普利,二甲双胍片治疗,新近研究,二甲双胍片,可以抑制食欲,促进肠道蠕动,预防癌症,预防心脑血管病,延长寿命作用。 |
基于ChatGPT的精炼医患对话(Distilled Conversations from ChatGPT) | 68,888 | 通过两个GPT(作为患者和医生)实现进行多轮对话得。对话是基于现实患者病历及相应的诊疗方案。 | 💬:User: 我想问一下大夫,我发烧三天后,第四天全身起了疹子,是怎么回事呢? 👨⚕️:~您好!感谢您的提问。您的症状可能与幼儿急疹相关。幼儿急疹是一种常见的儿童病,病因为人类疱疹病毒6型或7型感染引起。它的症状包括: 1. 发热 n2. 全身起红色疹子 3. 口腔内及咽喉部有小水泡 4. 病程一般为3-5天左右... 💬:谢谢大夫!除了幼儿急疹还有其他可能吗?我之前有感冒,这和疹子有关系吗? 👨⚕️:除了幼儿急疹,病毒性感冒和其他病毒感染也有可能引起疹子,但这种情况相对较少见。在您的情况下,感冒可能是一种诱发因素,但主要还是由病毒感染引起的疹子... |
现实中的医患对话( Real-world Conversations with Doctors) | 25,986 | 对应于现实中的多轮医患持续问答对话场景。 | 💬:额头下巴下长满痘痘。就是不知道. 👨⚕️:你好,有什么困扰吗?我可以为你提供帮助。请问您平时的饮食习惯、睡眠和护肤习惯怎样?化妆品和防晒霜的使用频率如何?还有洁面的频次是怎样的呢? 💬:平时我基本上只是用水乳霜,然后洗面奶只用一种。日常防晒只有在夏天时会使用,我一般用悦诗风吟的洗面奶以及AHC的护肤产品,这些都比较温和。 👨⚕️:谢谢您的描述。首先,建议您停用化妆品和普通护肤品,使用特定的药妆品牌,如雅漾和理肤泉的洁面泡沫或洁面乳,并避免使用热水或肥皂清洗面部。建议您外用阿达帕林凝胶涂于面部痤疮,一般夜间使用,涂抹十五分钟之后外用医学护肤品比如雅漾、薇资、理肤泉清爽型的舒缓面霜,或者是维生素e乳膏… |
数据集已开放
FreedomIntelligence/HuatuoGPT-sft-data-v1 · Datasets at Hugging Face
模型训练及使用
HuatuoGPT医疗模型的构建采用了两步:
首先是采用上述构建的医用数据集以监督微调SFT方式对基础大模型底座进行预训练,因为每类中,都包含了指令数据和会话数据,可以使得基础模型具有医疗指令跟踪和交互式诊断的能力,训练采用了Accelerate框架; 通过AI反馈进行强化学习(RL with AI Feedback), 项目设计训练了一种Reward Model,以便使得AI反馈能够对齐医患场景及大模型的要求。 项目使用真实的指令和对话作为训练数据,从微调模型反馈中进行多个采样。对于多回合对话,我们提供对话历史,以调整模型的响应生成, 然后由LLM(如ChatGPT)对这些回答进行评分(考虑信息性、连贯性、对人类偏好的遵守以及基于给定的事实准确性真正的医生诊断)。LLM会评估每个响应, 并分配一个分数, 然后使用这个配对响应数据来训练Reward Model,然后通过强化学习策略设计,使得问答能够更好地对齐简要问答及多轮对话的场景。项目给出了简要的训练脚本及效果评估脚本。
开放程度
项目开放了构建的医患数据集,也给出了SFT的示例调整脚本, 以及评估示例脚本。
项目技术报告是基于BLOOM大模型进行的训练,但项目git库中发布的模型权重或者权重Delta却是基于百川和Ziya-Lalama的,表明整体在持续优化中。
项目技术报告对数据集构建、训练及评估都做了相对清楚的描述。
7)MedicalGPT - Training Your Own Medical GPT Model with ChatGPT Training Pipeline.
项目简介
MedicalGPT 训练医疗大模型,基于ChatGPT训练模式(ChatGPT training pipeline,),实现包括二次预训练、有监督微调、奖励建模、强化学习训练。
基于ChatGPT Training Pipeline,本项目实现了领域模型--医疗模型的四阶段训练:
第一阶段:PT(Continue PreTraining)增量预训练,在海量领域文档数据上二次预训练GPT模型,以注入领域知识第二阶段:SFT(Supervised Fine-tuning)有监督微调,构造指令微调数据集,在预训练模型基础上做指令精调,以对齐指令意图第三阶段:RM(Reward Model)奖励模型建模,构造人类偏好排序数据集,训练奖励模型,用来对齐人类偏好,主要是"HHH"原则,具体是"helpful, honest, harmless"第四阶段:RL(Reinforcement Learning)基于人类反馈的强化学习(RLHF),用奖励模型来训练SFT模型,生成模型使用奖励或惩罚来更新其策略,以便生成更高质量、更符合人类偏好的文本发布了如下的已训练模型
Model | Base Model | Introduction |
shibing624/ziya-llama-13b-medical-lora | IDEA-CCNL/Ziya-LLaMA-13B-v1 | 在240万条中英文医疗数据集shibing624/medical上SFT微调了一版Ziya-LLaMA-13B模型,医疗问答效果有提升,发布微调后的LoRA权重 |
shibing624/ziya-llama-13b-medical-merged | IDEA-CCNL/Ziya-LLaMA-13B-v1 | 在240万条中英文医疗数据集shibing624/medical上SFT微调了一版Ziya-LLaMA-13B模型,医疗问答效果有提升,发布微调后的完整模型权重
|
shibing624/vicuna-baichuan-13b-chat-lora | baichuan-inc/Baichuan-13B-Chat | 在10万条多语言ShareGPT GPT4多轮对话数据集shibing624/sharegpt_gpt4上SFT微调了一版baichuan-13b-chat多轮问答模型,日常问答和医疗问答效果有提升,发布微调后的LoRA权重 |
shibing624/vicuna-baichuan-13b-chat | baichuan-inc/Baichuan-13B-Chat | 在10万条多语言ShareGPT GPT4多轮对话数据集shibing624/sharegpt_gpt4上SFT微调了一版baichuan-13b-chat多轮问答模型,日常问答和医疗问答效果有提升,发布微调后的完整模型权重 |
同时也发布了LLaMA, LLaMA2, Bloom, ChatGLM, ChatGLM2, Baichuan模型的多轮对话微调训练,使得大模型底座有更广泛的支持。
项目发布于2023年6月,并且持续更新中。
论文及源码
项目相关源码
https://github.com/shibing624/MedicalGPT
无其它技术报告,但训练调优过程、数据集等都在git repo中很详尽。
数据集构建
该项目的突出特点是,所有各阶段的数据集集合了自己和其它医疗领域类似项目的开放数据集,并给出了详尽的说明, 具体如下:
医疗数据集
240万条中文医疗数据集(包括预训练、指令微调和奖励数据集):shibing624/medical22万条中文医疗对话数据集(华佗项目):FreedomIntelligence/HuatuoGPT-sft-data-v1通用数据集
Pretraining datasets
16GB中英文无监督、平行语料Linly-AI/Chinese-pretraining-dataset524MB中文维基百科语料wikipedia-cn-20230720-filteredSFT datasets
6千条多语言ShareGPT GPT4多轮对话数据集:shibing624/sharegpt_gpt4 [本项目支持格式]9万条英文ShareGPT多轮对话数集:anon8231489123/ShareGPT_Vicuna_unfiltered [本项目支持格式]50万条中文ChatGPT指令Belle数据集:BelleGroup/train_0.5M_CN100万条中文ChatGPT指令Belle数据集:BelleGroup/train_1M_CN5万条英文ChatGPT指令Alpaca数据集:50k English Stanford Alpaca dataset2万条中文ChatGPT指令Alpaca数据集:shibing624/alpaca-zh69万条中文指令Guanaco数据集(Belle50万条+Guanaco19万条):Chinese-Vicuna/guanaco_belle_merge_v1.05万条英文ChatGPT多轮对话数据集:RyokoAI/ShareGPT52K80万条中文ChatGPT多轮对话数据集:BelleGroup/multiturn_chat_0.8M116万条中文ChatGPT多轮对话数据集:fnlp/moss-002-sft-data3.8万条中文ShareGPT多轮对话数据集:FreedomIntelligence/ShareGPT-CNReward Model datasets
原版的oasst1数据集:OpenAssistant/oasst12万条多语言oasst1的reward数据集:tasksource/oasst1_pairwise_rlhf_reward11万条英文hh-rlhf的reward数据集:Dahoas/full-hh-rlhf9万条英文reward数据集(来自Anthropic's Helpful Harmless dataset):Dahoas/static-hh7万条英文reward数据集(来源同上):Dahoas/rm-static7万条繁体中文的reward数据集(翻译自rm-static)liswei/rm-static-m2m100-zh7万条英文Reward数据集:yitingxie/rlhf-reward-datasets3千条中文知乎问答偏好数据集:liyucheng/zhihu_rlhf_3k
模型训练
根据4步骤微调,给出了每一步的训练脚本及详细的说明,通过wiki也公开了训练参数说明、数据集说明、扩充此表说明等。
而且,模型训练已扩展支持主流的通用大模型:
bloomllama/llama2 chatglm/chatglm2 -6Bbaichuan 7B, 13B模型效果
项目虽然在领域模型训练调优验证方面相对完整,给出了inference和demo的脚本,问答示例如下:
项目没有给出更大范围或者定量的通用模型与微调模型的对比。
开放程度
本项目是开放程度相对较高的医疗大模型构建,而且整个过程也按照ChatGPT training pipeline创建的,包括训练脚本、推理(inference)验证脚本及交互演示脚本等,整体链条完整清楚,并建立了微信探讨群。
项目代码的授权协议为 The Apache License 2.0,代码可免费用做商业用途,模型权重和数据只能用于研究目的。需在产品说明中附加MedicalGPT的链接和授权协议。
8)ChatMed: 中文医疗大模型,善于在线回答患者/用户的日常医疗相关问题
项目简介
以ChatGPT、GPT-4等为代表的大语言模型(Large Language Model, LLM)掀起了新一轮自然语言处理领域的研究浪潮,展现出了类通用人工智能(AGI)的能力,受到业界广泛关注。
为推动LLM在中文医疗领域的发展和落地,提升LLM的医疗知识与回答医学咨询的能力,项目推出ChatMed系列中文医疗大规模语言模型:
🚀 ChatMed-Consult : 基于中文医疗在线问诊数据集ChatMed_Consult_Dataset的50w+在线问诊+ChatGPT回复作为训练集。模型主干为LlaMA-7b,融合了Chinese-LlaMA-Alpaca的LoRA权重与中文扩展词表,然后再进行基于LoRA的参数高效微调。该子项目全部数据和代码都进行了公开,未来也将部署一个在线Gradio demo。同时,项目也建立了中医药大模型(另文陈述):
🚀 ShenNong-TCM-LLM : 大模型赋能中医药传承。这一模型的训练数据为中医药指令数据集ChatMed_TCM_Dataset。项目以开源的中医药知识图谱为基础,采用以实体为中心的自指令方法(entity-centric self-instruct),调用ChatGPT得到11w+的围绕中医药的指令数据。ShenNong-TCM-LLM模型也是以LlaMA为底座,采用LoRA微调得到。项目由华东师范大学计算机科学与技术学院智能知识管理与服务团队完成。
项目初始发布于2023年4月份(5月份发布了ChatMed-Consult模型, 并且也在持续更新中。
论文及开源地址
https://github.com/michael-wzhu/ChatMed
项目公开了训练数据及训练过程,并没有其它相关的技术报告。
数据集构建
项目的模型基座是LlaMA-7b, 中 采用文医疗在线问诊数据集ChatMed_Consult_Dataset的50w+在线问诊+ChatGPT回复作为训练集。
根据作者经验,在线爬取的问诊数据,虽然可以反映真实世界的用户/患者的问诊需求,但是一般网上的回答良莠不齐。所以项目调用ChatGPT (gpt-3.5-turbo)得到问诊的回复(后续作者拟实现一个评估模型,给人工回复进行评分,降低API调用的成本)。
模型训练
项目公开了模型训练所需要的全部代码(https://github.com/michael-wzhu/ChatMed/blob/main/src/chatmed_llama_peft)。训练中我们借助DeepSpeed(ZeRO stage 3)实现分布式训练。项目训练采用了4张3090的显卡。
模型效果
项目给出了项目进行评测的脚本, 下面是对比示例:
项目对比了经过权重转化与合并的中文LlaMA-7b,以及经过了ChatMed_Consult_Dataset 和LoRA微调的ChatMed-Consult模型。下面是几个示例对比。
项目也给出了更多的测试样例:
https://github.com/michael-wzhu/ChatMed/blob/main/src/web_services/test_examples/ChatMed-Consult_test.json
作者的结论是:
在线问诊,由于用户输入错字或者语音转文字带来噪音,问诊问题可能不会很规整。在这种情况下,中文LlaMA-7b模型可能会产生没有意义的回答。而ChatMed-Consult可以有效的从干扰中理解用户问题,做出相应的回答;ChatMed-Consult的回答会更加具有人性关怀一些,而中文LlaMA-7b模型的回复可能会比较生硬;ChatMed-Consult相较于中文LlaMA-7b模型的回答会更加丰富,具有更多可行的建议。大模型作为医生的辅助,其可以多列举可能性和建议,但是不能太过武断的下结论。中文LlaMA-7b模型面对问诊问题会比较容易下直接下结论,似乎是有一些过度自信。ChatMed-Consult一般会说"以下是一些可能...",相对更加谨慎。
开放程度
项目开源了基于LlaMA-7b的ChatMed-Consult模型,以及全部训练代码,也给出了测试代码。
另外,项目将关联的其它项目、数据集等都进行了公开与链接,包括:
Text2DThttps://github.com/michael-wzhu/Text2DT_Baseline
中文医疗大模型评测基准PromptCBLUEhttps://github.com/michael-wzhu/PromptCBLUE
中文医疗在线问诊数据集ChatMed_Consult_Datasetmichaelwzhu/ChatMed_Consult_Dataset · Datasets at Hugging Face
中医药指令数据集ChatMed_TCM_Datasetmichaelwzhu/ShenNong_TCM_Dataset · Datasets at Hugging Face
中医药知识图谱
项目申明仅供学术研究,严禁用于商业用途、
9)ShenNong-TCM-LLM - 神农中医药大模型
项目简介
项目是与ChatMed相伴而生的,号称首个中医药大模型。
项目旨在推动LLM在中医药领域的发展和落地,提升LLM的在中医药方面的知识与回答医学咨询的能力,同时推动大模型赋能中医药传承。
项目具有以下特点
模型的训练数据为中医药指令数据集ShenNong_TCM_Dataset。ChatMed_TCM_Dataset以我们开源的中医药知识图谱为基础;采用以实体为中心的自指令方法entity-centric self-instruct(https://github.com/michael-wzhu/ShenNong-TCM-LLM/blob/main/src/entity_centric_self_instruct.py), 调用ChatGPT得到11w+的围绕中医药的指令数据;ShenNong-TCM模型也是以LlaMA为底座,采用LoRA (rank=16)微调得到。微调代码与ChatMed代码库相同.项目2023年6月底开源了中医药指令数据集ShenNong_TCM_Dataset的v0.2版本,数据量达到11w+; 同时上传ShenNong-TCM模型checkpoint至model.
论文及源码
源码地址
https://github.com/michael-wzhu/ShenNong-TCM-LLM
数据集构建
数据集构建已在项目简介中做了介绍,不再重述。
模型训练
采用中医药指令数据集ShenNong_TCM_Dataset进行大模型微调,可完全参考ChatMed代码库的代码和训练脚本;
垂直领域相较于通用领域的不同之处在于其一般是知识密集性的,而这些知识一般是围绕一些实体的, 因此项目提出了实体为中心的自指令方法entity-centric self-instruct
https://github.com/michael-wzhu/ShenNong-TCM-LLM/blob/main/src/entity_centric_self_instruct.py
即围绕垂直领域中的核心实体,以及各种不同的意图场景,进行指令的生成。项目提供了如何基于自己本地的知识库/知识图谱,进行entity-centric self-instruct的具体运行脚本及输入说明 。
其中提到了中医TCM-neo4j 知识图谱开源库:
https://github.com/ywjawmw/TCM_KG
模型效果
项目通过使用中医药指令数据集ShenNong_TCM_Dataset对中文LlaMA-7b模型进行LoRA微调,可使得该模型在回复中医药相关问题方面获得明显的提升。下面展示了几个典型中医药问题下不同模型的回复。更多测试样例见(./src/ShenNong-TCM-LLM - test examples.xls)
从上可以看到:
ShenNong-TCM的回答会更加具有人性关怀一些,而中文LlaMA-7b模型的回复可能会比较生硬;ShenNong-TCM相较于中文LlaMA-7b模型的回答会更加丰富,具有更多可行的建议,特别是可以有效根据症状推荐方剂/中草药。开放程度
与ChatMed类似,不再赘述。
值得注意的是,项目团队在模型评价方面也在持续努力,如ChatMed中提到的,有两个相关的开源项目:
PromptCBLUE 中文医疗大模型评测标准该项目由华东师范大学王晓玲教授团队联合阿里巴巴天池平台,复旦大学附属华山医院,东北大学,哈尔滨工业大学(深圳),鹏城实验室与同济大学共同完成, 对CBLUE基准进行二次开发,将16种不同的医疗场景NLP任务全部转化为基于提示的语言生成任务,形成首个中文医疗场景的LLM评测基准。
https://github.com/michael-wzhu/PromptCBLUE
ShenNong-TCM-Evaluation-BenchMark为了进一步有效、准确的评估大模型在中医药领域的表现,项目建立了一个标准化、综合性的中医评测框架ShenNong-TCM-Evaluation,该评测框架将充分考虑中医药领域的复杂性和专业性,涵盖多个方面,以确保大语言模型在真实场景下的实用性和适用性。具体内容及细节可以参见以下链接
https://github.com/ywjawmw/ShenNong-TCM-Evaluation-BenchMark
10)MedQA-ChatGLM - A Medical QA Model Fine-tuned on ChatGLM Using Multiple fine-tuning Method and Real Medical QA Data
项目简介
基于真实医疗对话数据在ChatGLM上进行LoRA、P-Tuning V2、Freeze、RLHF等微调,形成中文医疗问答对话大模型。
项目的调校过程如下图所示:
项目发端于澳门理工大学,2023年5月份发布于github上。
论文及开源地址
项目没有正式的论文或者技术报告,但在提供的demo网址中,给出了简要的项目说明,包括概要、模型训练和数据集等。
MedQA-ChatGLM: A Medical QA Model Fine-tuned on ChatGLM Using Multiple fine-tuning Method and Real Medical QA Data
项目开源地址:
https://github.com/WangRongsheng/MedQA-ChatGLM
作者同时给出了其它关联及参考的项目及数据集地址:
https://github.com/zhangsheng93/cMedQA2https://github.com/zhangsheng93/cMedQAhttps://medical.chat-data.com/shibing624/medical · Datasets at Hugging Facehttps://github.com/hiyouga/ChatGLM-Efficient-Tuninghttps://github.com/jackaduma/ChatGLM-LoRA-RLHF-PyTorchhttps://github.com/THUDM/ChatGLM-6B
数据集构建
本项目采用的数据集是cMedQA2 (https://github.com/zhangsheng93/cMedQA2)以及前身cMedQA1。 该数据集构建于2018年,数据集是基于中文医疗社区的问答采集的(参见论文: Multi-Scale Attentive Interaction Networks for Chinese Medical Question Answer Selection Multi-Scale Attentive Interaction Networks for Chinese Medical Question Answer Selection | IEEE Journals & Magazine | IEEE Xplore)。 cMedQA2数据集分布情况如下:
DataSet | #Ques | #Ans | Ave. #words per Question | Ave. #words per Answer | Ave. #characters per Question | Ave. #characters per Answer |
Train | 100,000 | 188,490 | - | - | 48 | 101 |
Dev | 4,000 | 7,527 | - | - | 49 | 101 |
Test | 4,000 | 7,552 | - | - | 49 | 100 |
Total | 108,000 | 203,569 | - | - | 49 | 101 |
项目源码库给出了所使用的微调训练数据集的构建脚本。
模型训练及效果
项目给出了进行以下微调方法的训练脚本:
LoRA FreeezeP-Tuning V2并给出了进行多GPU分布式训练的脚本及说明。
同时,也给出了项目进行推理(infer)、基于Gradio的Web Demo验证版本。
项目的试验环境是Linux系统,A100 (1X, 80GB)上进行的,给出了三种微调后的模型权重及训练时长,从而为后续实验研究提供了借鉴。
微调方式 | 模型权重 | 训练时长 | 训练轮次 |
LoRA | MedQA-ChatGLM-LoRA | 28h | 10 |
P-Tuning V2 | MedQA-ChatGLM-PTuningV2 | 27h | 10 |
Freeze | MedQA-ChatGLM-Freeze | 28h | 10 |
项目在线环境的演示效果:
MedQA-ChatGLM: A Medical QA Model Fine-tuned on ChatGLM Using Multiple fine-tuning Method and Real Medical QA Data
开放程度
项目给出了开放数据集、构建方法、微调模型训练方法及推理演示脚本,以及试验环境参数,相对比较全面,同时也罗列了当时搜集的开源医疗大模型、基座模型及数据集,体现了作者开放博取交流共进的专业素养。
项目给出了在线的问答演示:
www.wangrs.co/MedQA-ChatGLM/
项目也指出相关资源仅供学术研究之用,严禁用于商业用途。使用涉及第三方代码的部分时,请严格遵循相应的开源协议。
项目罗列的其它参考项目列表如下:
项目 | 数据集 | 底座模型 |
ChatMed | Consult 包含50w+在线问诊+ChatGPT回复,TCM中医药诊疗数据集未公开 | LLaMA-7B |
ChatDoctor | HealthCareMagic-100k 包含100k+真实患者与医生对话数据集,icliniq-10k 包含10k+患者与医生对话数据集,GenMedGPT-5k 包含5k+由GPT生成的医患对话数据集 | LLaMA-7B |
Med-ChatGLM | Huatuo-data 、Huatuo-liver-cancer | ChatGLM-6B |
Huatuo-Llama-Med-Chinese | Huatuo-data 、Huatuo-liver-cancer | LLaMA-7B |
DoctorGLM | CMD. 、MedDialog 、ChatDoctor项目数据集 | ChatGLM-6B |
MedicalGPT-zh | 数据未开源 | ChatGLM-6B |
Dr.LLaMA |
| LLaMA |
Medical_NLP 2 | - | - |
CMCQA 3 | - | - |
QiZhenGPT | - | - |
LLM-Pretrain-FineTune | - | - |
PMC-LLaMA | - | LLaMA-7B |
BianQue | - | - |
medAlpaca | - | LLaMA-7B |
MedicalGPT | - | - |
LLM-Pretrain-FineTune | - | - |
ShenNong-TCM-LLM | - | - |
Sunsimiao | - | - |
11)XrayGLM —— 首个会看胸部X光片的中文多模态医学大模型
项目简介
通用领域的大语言模型 (LLM),例如 ChatGPT,在遵循指令和产生类似人类响应方面取得了显著的成功,这种成功间接促进了多模态大模型的研究和发展,如通用领域的多模态大模型MiniGPT-4、mPLUG-Owl、Multimodal-GPT和LLaVA ,然而,此类多模态大模型却很少出现在医学领域的研究中,阻碍了相关研究发展。visual-med-alpaca虽然在医学多模态大模型方面做出了一些很有成效的工作,然而其数据为英文诊断报告,不利于促进中文领域医学多模态大模型的研究发展。XrayGLM力图解决上述问题。XrayGLM在医学影像诊断和多轮交互对话上显示出了非凡的潜力。
项目主要包括以下两项工作:
借助ChatGPT以及公开的数据集,我们构造了一个X光影像-诊断报告对的医学多模态数据集;我们将构建的中文胸部X光片诊断数据集在VisualGLM-6B进行微调训练,并开放了部分训练权重用于学术研究项目工作由澳门理工大学应用科学学院硕士生王荣胜 、段耀菲 、李俊蓉完成,指导老师为檀韬副教授、彭祥佑老师,于2023年5月发布于github上。
论文及开源地址
代码地址
https://github.com/WangRongsheng/XrayGLM
数据集构建
数据集主要采用了以下两个:
MIMIC-CXR是一个公开可用的胸部X光片数据集,包括377,110张图像和227,827个相关报告。OpenI是一个来自印第安纳大学医院的胸部X光片数据集,包括6,459张图像和3,955个报告。在上述工作中的报告信息都为非结构化的,不利于科学研究。为了生成合理的医学报告,项目组对两个数据集进行了预处理,并最终得到了可以用于训练的英文报告。除此之外,为了更好的支持中文社区发展,借助ChatGPT的能力,项目组将英文报告进行了中文翻译,并最终形成了可用于训练的数据集。
数据集 | 数量 | 下载链接 | 质量 |
MIMIC-CXR-zh | - | - | - |
OpenI-zh | 6,423 | 诊疗报告(英文)、诊疗报告(中文) 、X光影像 | 低 |
OpenI-zh-plus | 6,423 | - | 高 |
项目库中包含了数据集及数据集构建脚本。
模型训练
项目给出了模型训练的脚本以及需要准备的数据集,以保证过程复现。
项目组训练采用的A100(4X, 80G)的硬件配置。
项目同时给出了模型训练微调的视频参考及书籍参考。
【官方视频教程】XrayGLM微调实践复旦大学《大语言模型理论与实践》项目也给出了基于微调训练的模型权重进行验证推理试验的脚本及其依赖环境包。
模型权重 | 下载链接 | 质量 | 微调方法 |
checkpoints-XrayGLM-300 | wangrongsheng/XrayGLM-300 · Hugging Face | 低 | LoRA |
checkpoints-XrayGLM-3000 | wangrongsheng/XrayGLM-3000 · Hugging Face | 低 | LoRA |
checkpoints-XrayGLM-xxx-plus | - | 高 | - |
python cli_demo.py --from_pretrained checkpoints/checkpoints-XrayGLM-3000 --prompt_zh '详细描述这张胸部X光片的诊断结果'
也开发了简单的WebUI demo
python web_demo.py --from_pretrained checkpoints/checkpoints-XrayGLM-3000
模型效果
以下两种场景示例
影像诊断 多轮对话开放程度
与MedQA-ChatGLM类似,github库中包含了项目重现的全部内容,同时对相关的工作,都给予了致谢说明, 体现了真正的开源精神。
项目说明相关资源仅供学术研究之用,严禁用于商业用途。使用涉及第三方代码的部分时,请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响,无法对其准确性作出保证。
作者也提到, 即使项目模型输出符合医学事实,也不能被用作实际医学诊断的依据。对于模型输出的任何内容,项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。
项目列出了相关的重要参考:
VisualGLM-6B为项目提供了基础的代码参考和实现;MiniGPT-4为项目提供了研发思路;ChatGPT生成了高质量的中文版X光检查报告以支持XrayGLM训练;gpt_academic为文档翻译提供了多线程加速;MedCLIP 、BLIP2 、XrayGPT 等工作也有重大的参考意义;项目存储库遵循CC BY-NC-SA。
最新进展
作者提及未来的一些预期与展望:
模型的能力更多来源于数据的支持,OpenI-zh作为微调数据集,其数据量足以支持研究,在更广泛的任务和性能表现上,我们认为在大规模数据集上预训练并在高质量少量数据集上微调是一种可行的方案;普遍意义的理解上,视觉多模态模型=视觉模型+语言模型。除了需要关注视觉模型信息与语言模型输出的搭配外,还需要额外关注到语言模型的加强,在人机的对话中,尤其是医疗语言模型的问答上,除了专业的医疗问题回答,带有人文情怀的有温度的回答更应该是我们追寻的目标。高精度的模型永远打不过大参数的模型,如果在6B模型和13B模型上选择微调,请在资源充足情况下选择13B的大参数模型;作者目前正在构建一种能够产生最贴近真实医生问诊效果的医疗大语言模型IvyGPT,相关链接如下:
https://github.com/WangRongsheng/IvyGPT
https://lvygpt.com
IvyGPT,这是一个医疗大语言模型,它在高质量的医学问答数据上进行了监督微调,并使用人类反馈的强化学习进行了训练。该项目的特性包括:
🍦支持在医疗问答LLM上全流程训练:监督训练、奖励模型、强化学习 (RLHF);🏵️多微调方法支持:LoRA、QLoRA等;🥄高效智能的数据集制作工具:奖励模型训练数据集生成工具-Rank Dataset Generator、监督训练数据集生成工具-Instruction Dataset Generator;🧽超30万高质量医患对话数据集用于支持训练;目前作者仅仅发布了一些效果展示图,并未发布更多的源码、数据及相关使用操作信息。
12)BianQue —— 中文医疗对话模型扁鹊(BianQue)
项目简介
基于主动健康的主动性、预防性、精确性、个性化、共建共享、自律性六大特征,华南理工大学未来技术学院-广东省数字孪生人重点实验室开源了中文领域生活空间主动健康大模型基座ProactiveHealthGPT,包括:
经过千万规模中文健康对话数据指令微调的生活空间健康大模型扁鹊(BianQue)经过百万规模心理咨询领域中文长文本指令与多轮共情对话数据联合指令微调的心理健康大模型灵心(SoulChat)项目的目标是,生活空间主动健康大模型基座ProactiveHealthGPT 可以帮助学术界加速大模型在慢性病、心理咨询等主动健康领域的研究与应用。
项目 生活空间健康大模型扁鹊(BianQue) 是其中专注于中文医疗健康对话的大模型。
项目于2023年4月发布,发布了1.0版本及2.0版本。
论文及源码
尚未看到相关论文。
源码:
https://github.com/scutcyr/BianQue
scutcyr/BianQue-2 · Hugging Face
scutcyr/BianQue-1.0 · Hugging Face
数据集构建
项目组研究发现,在健康领域,用户通常不会在一轮交互当中清晰地描述自己的问题,而当前常见的开源医疗问答模型(例如:ChatDoctor、本草(HuaTuo,原名华驼 )、DoctorGLM、MedicalGPT-zh)侧重于解决单轮用户描述的问题,而忽略了“用户描述可能存在不足”的情况。哪怕是当前大火的ChatGPT也会存在类似的问题:如果用户不强制通过文本描述让ChatGPT采用一问一答的形式,ChatGPT也偏向于针对用户的描述,迅速给出它认为合适的建议和方案。
然而,实际的医生与用户交谈往往会存在“医生根据用户当前的描述进行持续多轮的询问”。并且医生在最后根据用户提供的信息综合给出建议,如下图所示。可以把医生不断问询的过程定义为 询问链(CoQ, Chain of Questioning) ,当模型处于询问链阶段,其下一个问题通常由对话上下文历史决定。
项目组结合当前开源的中文医疗问答数据集(MedDialog-CN、IMCS-V2、CHIP-MDCFNPC、MedDG、cMedQA2、Chinese-medical-dialogue-data),分析其中的单轮/多轮特性以及医生问询特性,结合实验室长期自建的生活空间健康对话大数据,构建了千万级别规模的扁鹊健康大数据BianQueCorpus。对话数据通过“病人:xxx\n医生:xxx\n病人:xxx\n医生:”的形式统一为一种指令格式,如下图所示。
input: "病人:六岁宝宝拉大便都是一个礼拜或者10天才一次正常吗,要去医院检查什么项目\n医生:您好\n病人:六岁宝宝拉大便都是一个礼拜或者10天才一次正常吗,要去医院检查什么项目\n医生:宝宝之前大便什么样呢?多久一次呢\n病人:一般都是一个礼拜,最近这几个月都是10多天\n医生:大便干吗?\n病人:每次10多天拉的很多\n医生:"target: "成形还是不成形呢?孩子吃饭怎么样呢?"
训练数据当中混合了大量target文本为医生问询的内容而非直接的建议,这将有助于提升AI模型的问询能力。
模型训练
扁鹊2.0是基于扁鹊健康大数据BianQueCorpus, 在ChatGLM-6B基础上,经过全量参数的指令微调训练得到了新一代BianQue【BianQue-2.0】( 扁鹊1.0采用了ClueAI/ChatYuan-large-v2作为基准模型)。扁鹊-2.0扩充了药品说明书指令、医学百科知识指令以及ChatGPT蒸馏指令等数据,强化了模型的建议与知识查询能力。以下为两个测试样例。
项目中并没有给出模型训练的训练脚本,但给出了已训练好的模型,并且给出了如何运用已训练好的模型进行推理infer测试的程序及依赖环境。
与其它项目相比,项目给出了如何在Windows环境下,进行模型推理应用的配置说明。
开放程度
项目仅给出了已微调的扁鹊模型及如何使用的代码,对于所使用的BianQueCorpus数据集及如何进行模型微调训练,并没有给出具体的代码,是一种应用层面的开放。
与其它医疗大模型一样,相关资料仅用于非商业研究使用。
13)SoulChat 灵心健康大模型—— 通过长文本咨询指令与多轮共情对话数据集的混合微调,提升大模型的“共情”能力
项目简介
如BianQue项目所介绍,该项目是生活空间主动健康大模型基座ProactiveHealthGPT 的一部分,是经过百万规模心理咨询领域中文长文本指令与多轮共情对话数据联合指令微调后,得到的心理健康大模型灵心(SoulChat)。
项目于2023年6月初初次发布。
论文及源码
项目尚未公开发布技术报告或者论文,虽然项目作者提到会后续发布。
项目源码
https://github.com/scutcyr/SoulChat
scutcyr/SoulChat · Hugging Face
项目同时给出了内测网址
灵心
数据构建
项目组调研了当前常见的心理咨询平台,发现,用户寻求在线心理帮助时,通常需要进行较长篇幅地进行自我描述,然后提供帮助的心理咨询师同样地提供长篇幅的回复(见https://github.com/scutcyr/SoulChat/blob/main/figure/single_turn.png),缺失了一个渐进式的倾诉过程。但是,在实际的心理咨询过程当中,用户和心理咨询师之间会存在多轮次的沟通过程,在该过程当中,心理咨询师会引导用户进行倾诉,并且提供共情,例如:“非常棒”、“我理解你的感受”、“当然可以”等等。
考虑到当前十分欠缺多轮共情对话数据集,项目组一方面构建了超过15万规模的 单轮长文本心理咨询指令与答案(SoulChatCorpus-single_turn) ,回答数量超过50万(指令数是当前的常见的心理咨询数据集 PsyQA 的6.7倍),并利用ChatGPT与GPT4,生成总共约100万轮次的 多轮回答数据(SoulChatCorpus-multi_turn) 。
特别地,项目组在预实验中发现,纯单轮长本文驱动的心理咨询模型会产生让用户感到厌烦的文本长度,而且不具备引导用户倾诉的能力,纯多轮心理咨询对话数据驱动的心理咨询模型则弱化了模型的建议能力,因此,项目组混合SoulChatCorpus-single_turn和SoulChatCorpus-multi_turn构造成超过120万个样本的 单轮与多轮混合的共情对话数据集SoulChatCorpus 。所有数据采用“用户:xxx\n心理咨询师:xxx\n用户:xxx\n心理咨询师:”的形式统一为一种指令格式。
模型训练及效果
项目选择了 ChatGLM-6B 作为初始化模型,进行了全量参数的指令微调,旨在提升模型的共情能力、引导用户倾诉能力以及提供合理建议的能力。
项目开源库中并没有相关的模型微调训练脚本或者具体操作方法,仅给出了微调后的模型,以及如何进行推理测试的脚本。
项目给出了可进行内测的网址:
灵心
开放程度
项目并没有给出模型训练的全过程、所用的数据集及脚本,仅给出了微调训练后的模型,以及如何使用模型进行推理测试的脚本。Demo脚本采用的Streamlit快速web框架。
项目参与了PULSE团队的Elo评测(https://github.com/openmedlab/PULSE#elo%E8%AF%84%E6%B5%8B)
14)孙思邈中文医疗大模型(Sunsimiao) - 提供安全、可靠、普惠的中文医疗大模型
项目简介
孙思邈, 唐代医药学家、道士, 被后人尊称为"药王". 其十分重视民间的医疗经验, 不断积累走访, 及时记录下来, 写下著作《千金要方》. 唐朝建立后, 孙思邈接受朝廷的邀请, 与政府合作开展医学活动, 完成了世界上第一部国家药典《唐新本草》.
孙思邈中文医疗大模型(简称: Sunsimiao)希望能够遵循孙思邈的生平轨迹, 重视民间医疗经验, 不断累积中文医疗数据, 并将数据附加给模型, 致力于提供安全、可靠、普惠的中文医疗大模型.
目前, Sunsimiao是由baichuan-7B及书生浦语InternLM在十万级高质量的中文医疗数据中基于LoRa微调而得, 后续将收集更多数据, 扩充模型能力, 不断迭代更新. 相关细节工作正在整理中。
项目组同时也发布了MindChat(漫谈)心理健康大模型。
项目由华东理工大学 信息科学与工程学院 薛栋副教授发起,, 于2023年6月发布于github上。
论文及源码
项目没有发布相关的技术报告或论文。
项目模型成果及测试脚本源码:
孙思邈中文医疗大模型
https://github.com/thomas-yanxin/Sunsimiao
https://github.com/X-D-Lab/Sunsimiao
(后两个页面的模型链接有问题)
数据构建及模型训练
项目没有给出模型微调训练所采用的数据集,仅给出了训练后的部分模型参数情况,模型存储在modescope社区(Baichuan模型为基座);项目也给出了使用模型进行测试验证的部分脚本。
开放程度
如前所述,该模型所开源的信息较为有限, github中的模型权重链接甚至存在无效的现象,看起来显得比较仓促。
15)MindChat(漫谈) —— 心理大模型
项目简介
心理大模型——漫谈(MindChat)期望从心理咨询、心理评估、心理诊断、心理治疗四个维度帮助人们纾解心理压力与解决心理困惑, 提高心理健康水平. 作为一个心理大模型, MindChat通过营造轻松、开放的交谈环境, 以放松身心、交流感受或分享经验的方式, 与用户建立信任和理解的关系. MindChat希望为用户提供隐私、温暖、安全、及时、方便的对话环境, 从而帮助用户克服各种困难和挑战, 实现自我成长和发展.
无论是在工作场景还是在个人生活中, MindChat期望通过心理学专业知识和人工智能大模型技术, 在严格保护用户隐私的前提下, 全时段全天候为用户提供全面的心理支持和诊疗帮助, 同时实现自我成长和发展, 以期为建设一个更加健康、包容和平等的社会贡献力量.。
项目组自2023年6月起,陆续发布了基于Baichuan-13B、InternLM-7B和通义千问Qwen-7B在内的微调模型。
项目提供MindChat体验地址: MindChat-创空间。
项目由华东理工大学 薛栋副教授课题组发起,得到了合肥综合性国家科学中心人工智能研究院普适心理计算团队等的支持。
论文及源码
项目尚未发布相关的详细技术报告或者论文。
公开源码部分见:
https://github.com/X-D-Lab/MindChat
数据集构建
MindChat的开源模型采用了经过人工清洗的约20万条的高质量多轮心理对话数据进行训练, 涵盖工作、家庭、学习、生活、社交、安全等多个方面,总体情况如下:
因数据权限限制, 项目目前仅开源了极少量的数据案例(https://github.com/X-D-Lab/MindChat/blob/main/data/dataset_example.json). 项目组期望不断完善数据积累, 争取为开源社区贡献一份高质量的多轮心理对话数据, 共同推动开源心理大模型的建设。
模型训练及效果
项目是基于目前3个中文大模型基座,通过LoRA微调得到的,并没有给出模型微调的细节及训练脚本。
项目发布了各模型微调合并权重:
模型名称 | 合并后的权重 |
MindChat-InternLM-7B | ModelScope / HuggingFace / OpenXLab |
MindChat-Qwen-7B | ModelScope / HuggingFace / OpenXLab |
MindChat-Baichuan-13B | ModelScope / HuggingFace / OpenXLab |
项目源码库中也给出了简要的测试用脚本,也没有给出训练试验用的GPU等环境资源情况。
项目对模型进行了学习、家庭、工作、朋友、安全这五个方面进行了测试, 具体见https://github.com/X-D-Lab/MindChat/blob/main/assets/Dialogue_cases。
实例如下:
开放程度
项目除了公开微调模型权重、简要测试用脚本和心理学多方面(学习、家庭、工作、朋友、安全)的测试样例效果外,其它已公开资料较少,虽然项目提供了一个在线使用网址。
16)QiZhenGPT启真医学大模型 ——一个开源的中文医疗大语言模型
项目简介
QiZhenGPT: An Open Source Chinese Medical Large Language Model
项目利用启真医学知识库构建的中文医学指令数据集,并基于此在Chinese-LLaMA-Plus-7B、CaMA-13B、ChatGLM-6B模型上进行指令精调,大幅提高了模型在中文医疗场景下效果,首先针对药品知识问答发布了评测数据集,后续计划优化疾病、手术、检验等方面的问答效果,并针对医患问答、病历自动生成等应用展开拓展。
项目于2023年5月发布,与浙江大学-网新数字健康联合研究中心相关。
论文及源码
项目尚未发布论文或技术报告,预期后续整理发布。
相关源码地址:
https://github.com/CMKRG/QiZhenGPT
指令数据集构建
目前大多数开源的ChatLLM项目使用的是其他模型(如:ChatGPT)生成的指令数据,其不可避免的存在数据幻想的问题,数据幻想问题将严重影响LLM在实际场景中的应用和拓展。因此,本项目为了提高医疗领域的知识问答的准确性,使用如下方式构造指令数据集:
启真医学知识库收录的真实医患知识问答数据(疾病、药品、检查检验、手术、预后、食物等),共计560K条指令数据;药品知识数据:在启真医学知识库的药品文本知识基础上,通过对半结构化数据设置特定的问题模板(如:“{药品}的适应病症是什么?”)构造指令数据集,共计180K条指令数据;疾病知识数据:在启真医学知识库的疾病文本知识基础上,通过对半结构化数据设置特定的问题模板(如:“{疾病}的典型症状是什么?”)构造指令数据集,共计298K条指令数据;启真医学大模型坚持“数据+知识双轮驱动”的技术路线,通过大模型技术和医学知识库的紧密结合,融合医疗应用场景中的实际需求,从医学数据治理、医学推理、医患问答、病历自动生成、临床决策辅助支持系统等方面开展迭代研发,助力大模型技术在医疗行业的落地和应用实践。
项目并没有公开可用的具体数据集或者构建脚本。
模型训练
项目发布了基于多个基座大模型所进行的微调状况及微调后的可用模型:
模型 | 指令数据集 | Base Model | LoRA下载 |
QiZhen-Chinese-LLaMA-7B- Checkpoint-3500 | 740K | Chinese-LLaMA-Plus-7B | 百度网盘 |
QiZhen-Chinese-LLaMA-7B- Checkpoint-6000 | 740K | Chinese-LLaMA-Plus-7B | 百度网盘 |
QiZhen-ChatGLM-6B- Checkpoint-2500 | 740K | ChatGLM-6B | 百度网盘 |
QiZhen-CaMA-13B-Checkpoint-3600 | 740K | CaMA | 百度网盘 |
QiZhen-CaMA-13B-Checkpoint-6000 | 740K | CaMA | 百度网盘 |
QiZhen-CaMA-13B-Checkpoint-12400 | 1038K | CaMA | 百度网盘 |
QiZhen-Chinese-LLaMA-7B- Checkpoint-3500
本项目基于Chinese-LLaMA-Plus-7B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第3500 steps(训练23h50min) ;
QiZhen-Chinese-LLaMA-7B- Checkpoint-6000本项目基于Chinese-LLaMA-Plus-7B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第6000 steps(训练40h56min);
QiZhen-ChatGLM-6B- Checkpoint-2500本项目基于ChatGLM-6B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第2500 steps(训练16h20min);
QiZhen-CaMA-13B-Checkpoint-3600本项目基于CaMA-13B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第3600 steps(训练37h37min)。
QiZhen-CaMA-13B-Checkpoint-6000本项目基于CaMA-13B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第6000 steps(训练54h30min)。
QiZhen-CaMA-13B-Checkpoint-12400本项目基于CaMA-13B进行指令微调,该项目在6张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第12400 steps(训练114h46min)。
模型效果
项目提供了用各微调模型效果进行验证的脚本,并给出了部分对比示例:
也提供了对比实验测评,包括药品适应症评测、疾病评测,并给出了对比评测结果。
项目组承诺后期陆续将相关评测进行开源。
开放程度
项目以开放微调后模型及验证脚本为主,虽然也设计了对比实验并给出了统计结果,但所涉及的数据集及构建方法等都没具体开放。
17)PULSE中文医疗大模型 —— Pretrained and Unified Language Service Engine
项目简介
大规模训练:PULSE模型在OpenChineseLLaMA 13B模型的基础上, 使用约4,000,000个医学领域和通用领域的SFT数据进行进一步微调。全面的医学自然语言处理任务:PULSE支持医学领域的各种自然语 言处理任务,包括健康教育、医师考试问题、报告解读、医疗记录结构化 以及模拟诊断和治疗。已发布模型基于bloomz-7b1-mt进行微调。
模型于2023年6月发布,项目关联方包括上海人工智能实验室、上海交通大学-清源研究院及华东理工大学-自然语言处理与大数据挖掘实验室。
论文与源码
无相关论文。
相关代码及模型:
https://github.com/openmedlab/PULSE
OpenMEDLab/PULSE-7bv5 · Hugging Face
数据集构建
项目仅仅提到使用约4,000,000个中文医学领域和通用领域的指令微调数据,并没有给出进一步的信息。
模型训练与评估
项目并没有提供模型训练细节,仅仅提及基于QLora进行微调。
项目在模型的效果评估方面,项目采用了QLoRA (https://arxiv.org/abs/2305.14314)推荐的比较普遍采用的Elo Rating tournament评测方法,基于ChatGPT4完成。
评估数据集包括(项目以json文件格式给出):
MMedQA_Mainland: 从MedQA的Mainland/test子集中抽150条PromptCBLUE: 从PromptCBLUE的test子集中抽150条webMedQA: 从webMedQA的test子集中抽150条在评估超参选择上,出于成本考虑,项目选择每个数据集进行360轮随机评估,随机选择模型PK的先后顺序以抵消先后顺序的影响,随机种子为:42。Elo rating的实现代码和其他超参参照Vicuna的Elo代码: K=8, init rating=1000。
项目给出了进行模型推理验证的脚本。
以下是项目模型的部分用例效果:
开放程度
项目在模型调优训练及所用数据集信息比较有限,提供了微调后的模型下载,对于有进一步使用及定制化的需要,项目组持开放态度。
与其它医疗大模型类似,强调了项目仅用于医疗领域研究目的。
项目在效果评价时,采用了Elo等级分评价方法,与其它通用大模型及中文医疗大模型进行对比实验,并且给出了评价的实现。
衍生生态应用
项目组同时也发布了一系列相关的项目,打造自己的生态应用体系。
XrayPULSE
一款将医疗大语言模型PULSE与X-ray图像模型结合的应用,实现了多模态会话功能(在XRayGLM基础上)。
https://github.com/openmedlab/XrayPULSE
知识库问答Medical_kb_Chatbot一款基于PULSE开发的聊天机器人,用户可以自己添加相关知识库,以开发更丰富的应用场景。
https://github.com/JuneYaooo/medical_kb_chatbot
PULSE-COVID-19
一个基于PULSE微调且结合了广州实验室内部COVID-19知识数据库语料库的模型
https://github.com/openmedlab/PULSE-COVID-19
病历结构化llm_structure_tool一个基于PULSE模型的结构化工具,旨在帮助用户处理和分析文本数据。它提供了单选、多选、信息提取等功能
https://github.com/JuneYaooo/llm_structure_tool
术语归一化NormPULSE一个基于PULSE模型的医疗术语归一化的应用,归一化的任务是将临床上同一种诊断、手术、药品、检查、症状等各种不同的说法对应到标准用词上。
https://github.com/JOHNNY-fans/NormPULSE
18)CareLlama (关怀羊驼) —— 医疗LLM,开源驱动,共创健康未来(Medical LLM, Open Source Driven for a Healthy Future.)
项目简介
项目是一个开放医疗大语言模型,集合数十个公开可用的医疗微调数据集及开放可用的医疗大语言模型,意图促进医疗LLM快速发展。
2023年08月25日正式开源CareLlama。
2023年8月28日,作者宣布暂时闭源1个月。
CareLlama在线体验版:Med InternLM 7B - a Hugging Face Space by wangrongsheng
论文及源码
源码:
https://github.com/WangRongsheng/CareLlama
Med InternLM 7B - a Hugging Face Space by wangrongsheng
数据集构建及其它 (TBD -- 待作者再开源后补充)
参考资料
下面列出了相关参考的文献,一并致谢!
中文医疗大模型综述
AI医学] 几篇关于医学领域大模型的论文或项目
[AI医学] 几篇关于医学领域大模型的论文或项目 - 知乎
[AI医学] 用于大模型微调训练的医疗数据集
[AI医学] 用于大模型微调训练的医疗数据集 - 知乎
llm-medical-data: 用于大模型微调训练的医疗数据集
https://github.com/donote/llm-medical-data
垂直领域大模型的一些思考及开源模型汇总
垂直领域大模型的一些思考及开源模型汇总 - 知乎
中国国内医学相关的类GPT语言模型(2023.8个人搜集更新)
中国国内医学相关的类GPT语言模型(2023.8个人搜集更新) - 知乎
也看垂直领域大模型微调落地-以医疗领域为例
也看垂直领域大模型微调落地-以医疗领域为例:从PMC-LLaMA增量预训到MedicalGPT-zh指令微调项目概述
医疗行业的8个大模型,你了解吗?
医疗行业的8个大模型,你了解吗?
中文通用及领域大模型
https://github.com/HqWu-HITCS/Awesome-Chinese-LLM
Medical NLP Competition, dataset, large models, paper 医疗NLP领域 比赛,数据集,大模型,论文,工具包
https://github.com/FreedomIntelligence/Medical_NLP
其它相关论文及英文模型
Large language models encode clinical knowledge (Nature 202307)
Large language models encode clinical knowledge | Nature
Large language models in medicine (Nature 202307)
Large language models in medicine | Nature Medicine
Google’s Med-PaLM 2
https://sites.research.google/med-palm/
(When tested on the United States Medical Licensing Examination (USMLE), the model scored 85.4 per cent, in line with the knowledge of a medical expert, it's the first model to pass at the level of an expert..)
Promoting large-scale pre-trained foundation models and adaptation in healthcare
https://github.com/openmedlab
MedCLIP: Contrastive Learning from Unpaired Medical Images and Texts.
https://github.com/RyanWangZf/MedCLIP
https://arxiv.org/pdf/2210.10163.pdf
BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
BLIP-2
https://arxiv.org/abs/2301.12597
OpenGPT:A framework for creating grounded instruction based datasets and training conversational domain expert Large Language Models (LLMs)
https://github.com/CogStack/opengpt
https://aiforhealthcare.substack.com/p/a-large-language-model-for-healthcare
ChatDoctor: A Medical Chat Model Fine-tuned on LLaMA Model using Medical Domain Knowledge
https://github.com/Kent0n-Li/ChatDoctor
https://arxiv.org/pdf/2303.14070.pdf
AD-AutoGPT: An Autonomous GPT for Alzheimer's Disease Infodemiology
https://arxiv.org/abs/2306.10095
本文链接:https://www.kjpai.cn/gushi/2024-04-30/163767.html,文章来源:网络cs,作者:往北,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
下一篇:返回列表