AI开源程序

中文医疗大模型ChatMed

开源中文医疗大模型

标签:
1AiBox AI社群

以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微调得到。

主要原理其实还是gpt-3.5/4+Prompting Engineering。先构建一个庞大且准确的疾病资料库(目前构建了一个将近6.5k种疾病的资料库),然后再结合知识库向量相似度的查询与提示工程使用gpt-3.5进行多轮的查询,不断缩小搜索的空间!

效果:

在目前的测试当中,对于大部分的疾病诊断还是相当到位的(当然我也并未做大量测试),诊疗的正确率能够超过7成!这是基于目前开放的站点,平衡成本、算力、时长以及目前拥有的信息库等多方面测试考虑的结果!由于为了减少部署成本所以并未部署Bert作为向量搜索引擎,而是采用了 openai text-embedding的方案(感觉对中文的效果打了层折扣);另外,gpt-3.5 单次最大token数目限制为4096,这也限制了相关提示资料的信息!相信结合gpt-4以及更简约的资料库会有更加惊艳的效果,达到9成以上的准确率并不是不可能!

局限性:

1.生成回答的稳定性问题。在测试的过程中,发现gpt有对同一疾病相同文本询问的时候,会有不同的诊断结果。

2.资料库的专业性以及简洁性仍然有待提高:由于目前资料库来自较权威网站的爬虫,但许多信息仍过于冗杂。另外gpt-3.5的max token 为4096的限制,使得在现有的条件下,仍然需要对资料库做不同程度的内容压缩,但如何压缩,怎么提取是个不小的挑战。

3.向量搜索引擎是构建:尤其是针对中文任务实用优秀的Bert模型仍然少之又少;在实际中可以专门训练一个med bert但部署它对于小编这种穷人玩家仍然是有些吃力!所以只能使用openai embedding api,但感觉其性能确实还有待提高!

后续工作计划:

1.多模态ChatGPT诊疗:结合图像的多模态GPT对于疾病的诊断至关重要;有关多模态GPT的内容前面已经发过视频且开源了一部分CLIP+GPT实现多模态问答对话,后续结合huggingface -GPT的思路,通过更多医学promting以及训练一个疾病图像模型做交叉验证,相信会进一步提高诊断准确率

2.微调训练一个med_Bert,专门用于疾病文本的相似度匹配

3.对知识库进行进一步提纯,继续对纸质专业书籍的OCR收录工作;并用摘要Bert对资料进行压缩(由于gpt-3.5最大token仍然不算很长只有4096)!ChatGPT的效果可以说是集合了近30年整个人类开放互联网信息的精华,但人类有更大量、几千年的信息资料目前仍藏在纸质书本上,如果将这些知识也利用,相信模型会有更大的空间,这也是我做开源医学的原因!

相关导航