一个厉害的中医GPT,AI老中医开源了!

[复制链接]
kissinger 发表于 2023-8-13 18:09:36|来自:中国 | 显示全部楼层 |阅读模式
作者Jack Cui,来自一个中医GPT
欢迎关注 @机器学习社区 ,专注学术论文、大模型、人工智能、机器学习
大家好,大模型 fine-tune,在各个领域百花齐放。
今天介绍一个医学领域 fine-tune 得到的大模型,Huatuo-LLaMA。
我们都知道,OpenAI 最新的 GPT 都没有开源,自从 FaceBook(Meta)开源了 LLaMA 的预训练模型之后,基于 LLaMa fine-tune 得到的大模型开始多了起来。
Huatuo-LLaMA 就是其之一,属于医学领域的模型。
--->成立了大模型技术讨论群,学术、前沿资讯、技术讨论,移至文末加入我们


一、Huatuo-LLaMA

我们都知道,LLaMA 有着 7B(70亿) 到 65B(650亿) 量级的参数量。
作者团队出于训练成本的考虑,选择了模型参数量相对较少的 LLaMA-7B 作为 HuaTuo 的基础模型,在此基础上进行 instruct tuning,获得指令微调的大模型。
基础模型,就是 Base LLM(Large Language Model),它有着续写的能力,比如给一个开头,Base LLM 能够根据提供的开头续写内容。
但是 Base LLM 不能理解对话,你问它问题,它不会回答。为了让大模型具有理解问题的能力,就需要在 Base LLM 的基础上,进行 instruct tuning,进而得到 Instruction LLM。
好了,Huatuo-LLaMA 大致的训练原理说明白了,它就是一个基于中文的医学数据在 LLaMA-7B 开源模型基础上,instruct tuning 得到的模型。
作者团队参考 cMeKG,采用公开和自建的中文医学知识库构建训练数据。
医学知识库围绕疾病、药物、检查指标等构建,字段包括并发症,高危因素,组织学检查,临床症状,药物治疗,辅助治疗等。
知识库示例如下:
  1. {"中心词": "偏头痛", "相关疾病": ["妊娠合并偏头痛", "恶寒发热"], "相关症状": ["皮肤变硬", "头部及眼后部疼痛并能听到连续不断的隆隆声", "晨起头痛加重"], "所属科室": ["中西医结合科", "内科"], "发病部位": ["头部"]}
复制代码
然后利用 GPT3.5 接口围绕医学知识库构建问答数据,丰富 Prompt 的提问形式。
指令微调的训练集数据示例如下:
  1. "问题:一位年轻男性长期使用可卡因,突然出现胸痛、呕吐、出汗等症状,经检查发现心电图反映心肌急性损伤,请问可能患的是什么疾病?治疗方式是什么?"
  2. "回答: 可能患的是心肌梗塞,需要进行维拉帕米、依普利酮、硝酸甘油、ß阻滞剂、吗啡等药物治疗,并进行溶栓治疗、低分子量肝素、钙通道阻滞剂等辅助治疗。此外需要及时停用可卡因等药物,以防止病情加重。"
复制代码
这个数据就构建好了。
然后利用 LLaMa 开源的 finetune 代码,就能进行训练了。
  1. #!/bin/bash
  2. exp_tag="e1"
  3. python finetune.py \
  4.     --base_model 'decapoda-research/llama-7b-hf' \
  5.     --data_path './data/llama_data.json' \
  6.     --output_dir './lora-llama-med-'$exp_tag \
  7.     --prompt_template_name 'med_template' \
  8.     --micro_batch_size 128 \
  9.     --batch_size 128 \
  10.     --wandb_run_name $exp_tag
复制代码
具体的训练过程,可以看下代码。
项目地址:
https://github.com/SCIR-HI/Huatuo-Llama-Med-Chinese
作者团队在一张 A100-SXM-80GB 显卡上进行了训练,训练总轮次 10 轮,耗时约 2h17m。
batch_size 为 128 的情况下显存占用在 40G 左右。预计 3090/4090 显卡( 24GB 显存)以上显卡可以较好支持,根据显存大小来调整 batch_size。
二、效果

Example1:
输入:小张最近感觉身体不适,出现心悸、气促等症状。体检发现心脏扩大、搏动减弱。
回答: 小张可能患有心肌炎,建议尽快到医院进行检查和治疗。治疗方案包括药物治疗和手术治疗。
Example2:
输入: 麻风病和儿童哮喘的病因是否一致?
回答: 不一致,麻风病的病因是麻风杆菌感染,而儿童哮喘的病因是喂养不良、吸烟等因素。
Example3:
输入: 一位患者出现了持续性的胀痛和黄疸,经影像学检查后确诊为肝胆管结石病,应该采取哪些治疗方案?
回答: 针对肝胆管结石病,治疗方案包括手术治疗、药物治疗和辅助治疗等。具体治疗方案需要根据患者的具体情况而定。
三、最后

因为训练数据有限,并且生成效果还有一定的随机性,因此无法保证 Huatuo-LLaMA 输出答案的准确性。
不过这个项目用于学术研究,还是够用的,对于大模型 fine-tune 感兴趣的小伙吧,不妨看一看。
技术交流群

建了前沿、实战技术交流群!想要进交流群、获取资料的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+知乎,即可。然后就可以拉你进群了。
强烈推荐大家关注 机器学习社区 知乎账号和 机器学习社区 微信公众号,可以快速了解到最新优质文章。
前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~
推荐文章

学术专用版ChatGPT火了,一键完成论文润色、代码解释、报告生成
五万字综述!Prompt Tuning:深度解读一种新的微调范式
一位哈佛博士分享了他用 GPT-4 搞科研,细到每个工作流程!
深度学习调参(炼丹)指南,一天收获1500星!
谷歌推出多轴注意力方法,既改进ViT又提升MLP
扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了
ECCV22 | CMU提出首个快速知识蒸馏的视觉框架:80.1%精度,训练加速30%
CVPR22 最新132篇论文分方向整理|包含目标检测、图像处理、医学影像等28个方向
李宏毅《机器学习》国语课程(2022)来了!
CVPR 2022 最新 65 篇论文分方向整理,方向包含:目标检测、动作识别、人群计数等方向
CVPR 2022 | CNN自监督预训练新SOTA:上交、Mila、字节联合提出具有层级结构的图像表征自学习新框架
NAM: 一种新的注意力计算方式,无需额外的参数!
关于机器学习模型可解释性算法的汇总
谷歌提出新模型 FLASH,让 Transformer 模型的效率倍增!训练成本暴减!
阿里、SFU提出通用QuadTree Attention,复杂度变线性,性能还更强!ICLR 2022已接收
学习视觉和语言的多粒度对齐?字节提出新多模态预训练方法 X-VLM:代码已开源!
超越ConvNeXt,VAN用普通卷积,登顶Backbone性能巅峰!
北大《深度强化学习中文版》.pdf 开放下载!
吴恩达:告别,大数据
AAAI 2022 | 时间序列相关论文一览(附原文源码)
我删掉了Transformer中的这几层,性能反而变好了
深度学习中的 Attention 机制总结与代码实现(2017-2021年)
一文全览机器学习建模流程(Python代码)
吴恩达:28张图全解深度学习知识
PyTorch优化神经网络的17种方法
深度梳理:机器学习算法模型自动超参数优化方法汇总
赶快收藏,PyTorch 常用代码段合集真香
聊聊恺明大神MAE的成功之处
何凯明团队又出新论文!北大、上交校友教你用ViT做迁移学习
大道至简,何恺明新论文火了:Masked Autoencoders让计算机视觉通向大模型
有了这个机器学习画图神器,论文、博客都可以事半功倍了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
全部回复1 显示全部楼层
qq911 发表于 2023-8-13 18:09:46|来自:中国 | 显示全部楼层
接个外壳可以去镇子上摆摊了[捂脸]

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则