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

    https://huggingface.co/OpenMEDLab/PULSE-7bv5

    数据集构建

    项目仅仅提到使用约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等级分评价方法,与其它通用大模型及中文医疗大模型进行对比实验,并且给出了评价的实现。

    衍生生态应用

    项目组同时也发布了一系列相关的项目,打造自己的生态应用体系。

    一个基于PULSE模型的医疗术语归一化的应用,归一化的任务是将临床上同一种诊断、手术、药品、检查、症状等各种不同的说法对应到标准用词上。

    https://github.com/JOHNNY-fans/NormPULSE