摘要
在医学领域,突破性大型语言模型(LLMs)与对话系统的应用正日益普及。尽管近期已有数种中医药大型语言模型问世,但其在中医药领域的专业知识储备仍显不足。本文聚焦于TCMChat中药知识聊天机器人(https://xomics.com.cn/tcmchat),这是一款通过预训练(PT)与监督微调(SFT),在大规模精选中医学文本知识及中文问答(QA)数据集上完成训练的生成式大型语言模型。
具体而言,我们首先借助文本挖掘与人工验证的方式,精心汇编了一个涵盖六种中医场景的自定义训练集,内容涉及中医药知识库、选择题、阅读理解、实体提取、医案诊断以及草药或方剂推荐。随后,以百川2-7B-Chat为基础模型,对其展开预训练与监督微调工作。基准数据集测试与案例研究均表明,该中药知识聊天机器人相较现有模型,展现出了更为卓越的性能。
目前,我们的代码、数据及模型已在GitHub(https://github.com/ZJUFanLab/TCMChat)与HuggingFace(https://huggingface.co/ZJUFanLab)平台公开发布,旨在为中医药现代化研究提供高质量数据库与用户友好的对话式网络工具。
引言
在传统中医领域,也涌现出了一批极具创新性和实用价值的大型语言模型。BenTso 深度融合中医知识图谱的结构化信息,通过精心梳理经络穴位、中药性味归经等专业知识,构建起具有中医特色的指令数据集。随后,研究人员以中文 - LLaMA 为基底,在该数据集上进行针对性微调,使模型能够理解并处理基于中医知识体系的各类指令。
BianQue 致力于模拟真实的中医问诊场景,其训练过程极具规模性和系统性。它借助千万级规模的中文医疗问答指令数据,涵盖常见病症、疑难杂症等各类问题,同时结合多轮提问对话数据集,细致模拟医患之间反复沟通、逐步明确病情的过程。通过对这些海量数据的学习,BianQue 能够在对话中模仿中医专家,准确把握患者症状,进而给出合理的诊疗建议。
华佗 GPT 则立足中医临床实践,采用真实的中医门诊咨询数据集进行训练。其训练过程历经四个完整阶段,从基础的预训练阶段夯实语言理解能力,到依据中医诊疗规范设定奖励机制,引导模型生成更符合中医理论的回答,再通过强化学习不断优化,逐步打磨出具备专业中医对话能力的医疗对话模型,为患者提供贴近临床实际的中医咨询服务。
CMLM - 钟京在数据处理和模型优化上另辟蹊径。它聚焦中医临床工作流程,利用专业表单数据,如病历表、处方单等,严格设定涵盖症状描述、舌脉信息、辨证分析等内容的特定提示模板,为 15 个典型中医临床场景生成高质量指令数据。经过微调后的模型,不仅能依据患者症状进行准确的中医药处方推荐,还具备基于中医诊断思维逻辑进行深度推理的能力,为中医临床辅助决策提供有力支持。
TCM-GPT 在开发过程中,针对中医诊断和检查两大核心任务,收集整理了大量与之对应的任务指令数据。在技术实现上,它创新性地采用低秩适应(LoRA)方法,对模型进行预训练和微调。该方法通过减少参数调整数量,在降低计算资源消耗的同时,保证模型能够有效吸收中医专业知识,实现高效训练。
启博模型的构建以中医理论体系为根基,团队通过广泛收集中医古籍、经典医案、现代临床研究成果等资料,构建起庞大且专业的中医领域语料库。在此基础上,该模型实现了从预训练阶段对通用语言能力的培养,到监督微调阶段深度融入中医专业知识的完整训练过程,使模型具备深厚的中医理论功底和实际应用能力。
核心速览
研究背景
-
研究问题
:这篇文章要解决的问题是如何利用大型语言模型(LLMs)在传统中医药(TCM)领域的应用,尽管现有的TCM LLMs存在专业知识有限的问题。
-
研究难点
:该问题的研究难点包括:TCM领域数据相对稀缺,现有模型的准确性和客观性不足,缺乏用户友好的在线工具。
-
相关工作
:该问题的研究相关工作包括BenTso、BianQue、HuatuoGPT、CMLM-ZhongJing、TCM-GPT、Qibo等模型,这些模型在医疗领域取得了一定的进展,但在TCM领域的表现仍有待提高。
研究方法
-
数据收集与处理
:首先,通过文本挖掘和手动验证,编译了一个包含六个场景(中药知识库、选择题、阅读理解、实体提取、医案诊断和中药或方剂推荐)的自定义训练集。数据来源包括书籍、网络爬虫信息、文献和开源数据集。
-
预训练
:使用Baichuan2-7B-Chat作为基础模型,采用因果语言模型(CLM)方法进行预训练。
-
监督微调
:在预训练的基础上,使用监督学习进行微调,损失函数与预训练相同。问答文本被拼接成一个长序列,并添加特殊分隔符以标记问答边界。
-
模型优化
:在预训练和微调阶段,使用Deepspeed进行并行计算,支持数据并行、模型并行和管道并行。优化器采用AdamW,并指定权重衰减1e-4以防止过拟合。
实验设计
-
数据集构建
:从书籍、网络爬虫、文献和开源数据集中提取和整合信息,构建了约1G的无监督数据集和约600000个问答的对监督数据集。
-
模型选择
:在四个候选模型(Llama-2-7B-Chat、Bloom-7B1、Baichuan2-7B-Chat和Qwen1.5-7B-Chat)中进行综合评估,最终选择Baichuan2-7B-Chat作为基础模型。
-
训练过程
:预训练阶段的学习率为2e-4,批量大小为32,最大上下文长度为1024;微调阶段的学习率为2e-5,批量大小为16,最大上下文长度为1024。使用8个NVIDIA A100 GPU进行训练,并采用DeepSpeed ZeRO2方法优化内存使用和加速训练。
结果与分析
-
选择题测试:TCMChat在中药和方剂的选择题测试中分别取得了71.6%和76.8%的准确率,显著优于其他模型。
-
阅读理解测试:TCMChat在阅读理解测试中的BLEU、Meteor、ROUGE-1、ROUGE-2、ROUGE-L和BertScore分别为0.584、0.737、0.771、0.734、0.766和0.886,均优于其他模型。
-
医案诊断测试:TCMChat在医案诊断测试中的准确率为0.847,精确率为0.52,召回率为0.592,F1值为0.578,显著优于其他模型。
-
实体提取测试:TCMChat在实体提取测试中的精确率为0.975,召回率为0.861,F1值为0.907,接近GPT-3.5-turbo和Gemini-pro的表现。
-
中药或方剂推荐测试:TCMChat在中药或方剂推荐测试中的MRR为0.536,precision@1为0.280,precision@3为0.516,nDCG为0.439,显著优于其他模型。
-
ADMET预测测试:TCMChat在回归任务中的MAE为2.73,RMSE为10.26,在分类任务中的准确率为0.818,ROC-AUC为0.830,显著优于其他模型。
总体结论
TCMChat通过预训练和监督微调的方法,显著提高了在传统中医药领域的应用性能。该模型在选择题、阅读理解、医案诊断、实体提取、中药或方剂推荐和ADMET预测等多个场景中均表现出色。TCMChat的开发和应用为传统中医药的现代化提供了高质量的知识和用户友好的对话工具,推动了中医药领域的技术创新和发展。
优点与创新
-
数据集构建
:通过文本挖掘和手动验证,构建了包含六种场景的中文医学知识库、选择题、阅读理解、实体提取、医案诊断和中药或方剂推荐的高质量训练数据集,共计超过60万条数据。
-
模型优化
:在预训练阶段采用了因果语言模型(CLM)方法,并在微调阶段使用了与预训练相同的损失函数,增强了模型的适应性和泛化能力。
-
技术改进
:对基础模型Baichuan2-7B-Chat进行了多项改进,包括替换归一化层、绝对位置编码和激活函数,提升了模型性能。
-
高效训练
:使用Deepspeed进行并行计算,支持数据并行、模型并行和管道并行,显著节省了图形内存使用,提高了训练效率。
-
多场景应用
:TCMChat模型在不同场景下表现出色,包括选择题、阅读理解、实体提取、医案诊断和中药或方剂推荐等。
-
用户友好工具
:开发了TCMChat Web工具,提供了一个用户友好的对话界面,方便非程序员直观地理解和评估模型性能。
-
公开数据与代码
:模型、数据和代码均在GitHub和HuggingFace上公开,为中医药现代化研究提供了高质量的知识库。
不足与反思
-
知识体系复杂性
:中医药领域的知识体系非常复杂,TCMChat模型目前不包含所有中医药知识,如病理、组成等,这可能限制了模型的全球适用性。
-
未来工作
:未来将继续深入研究中医药领域的知识和数据,持续改进和优化TCMChat模型的性能和应用场景。
-
合作伙伴
:期待与更多合作伙伴合作,推动中医药与现代AI的结合,为中医药的传承和发展做出更大贡献。
关键问题及回答
问题1:TCMChat在数据收集和处理方面是如何进行的?
TCMChat的数据收集和处理涉及多个步骤。首先,通过文本挖掘和手动验证,编译了一个包含六个场景(中药知识库、选择题、阅读理解、实体提取、医案诊断和中药或方剂推荐)的自定义训练集。数据来源包括书籍、网络爬虫信息、文献和开源数据集。具体来说,书籍部分来自国家标准、医学教材和医学案例;网络爬虫信息来自中国国家医学信息平台(TCM-DaYi)和百度百科(BaiduBaike);文献部分通过关键词搜索下载了近500000篇文档的摘要数据;开源数据集包括阿里天池平台(Alibaba Tianchi)上的中药阅读理解数据和中药实体识别数据。此外,还使用了ShenNong_TCM_Dataset和Herb2.0等大规模开源数据集来增强模型的推荐能力。
问题2:TCMChat在模型优化方面采取了哪些措施?
TCMChat在模型优化方面采取了多项措施。首先,在预训练和微调阶段,使用Deepspeed进行并行计算,支持数据并行、模型并行和管道并行,以显著提高训练效率。其次,优化器采用AdamW,并指定权重衰减1e-4以防止过拟合。此外,为了确保训练的稳定性,减少了梯度爆炸和衰减学习率的问题,通过将损失减少一半来缓解这些问题。最终,经过27小时的预训练和微调,模型损失函数逐渐稳定并达到收敛。
问题3:TCMChat在不同场景下的性能如何?与其他模型相比有何优势?
TCMChat在不同场景下均表现出色。在选择题测试中,TCMChat在中药和方剂的选择题测试中分别取得了71.6%和76.8%的准确率,显著优于其他模型。在阅读理解测试中,TCMChat的BLEU、Meteor、ROUGE-1、ROUGE-2、ROUGE-L和BertScore分别为0.584、0.737、0.771、0.734、0.766和0.886,均优于其他模型。在医案诊断测试中,TCMChat的准确率为0.847,精确率为0.52,召回率为0.592,F1值为0.578,显著优于其他模型。在实体提取测试中,TCMChat的精确率为0.975,召回率为0.861,F1值为0.907,接近GPT-3.5-turbo和Gemini-pro的表现。在中药或方剂推荐测试中,TCMChat的MRR为0.536,precision@1为0.280,precision@3为0.516,nDCG为0.439,显著优于其他模型。在ADMET预测测试中,TCMChat在回归任务中的MAE为2.73,RMSE为10.26,在分类任务中的准确率为0.818,ROC-AUC为0.830,显著优于其他模型。总体而言,TCMChat在不同场景下均表现出显著的优势,显著提高了在传统中医药领域的应用性能。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。