共计 5873 个字符,预计需要花费 15 分钟才能阅读完成。
逾越千年医学对话:用 AI 技术解锁西医古籍常识,构建可能精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA)
介绍:首先在 Ziya-LLaMA-13B-V1 基线模型的根底上退出西医教材、西医各类网站数据等语料库,训练出一个具备西医常识理解力的预训练语言模型(pre-trained model),之后在此基础上通过海量的西医古籍指令对话数据及通用指令数据进行有监督微调(SFT),使得模型具备西医古籍常识问答能力。
0. 模型信息 Model Information
需要 Demand | 工作 Task | 系列 Series | 模型 Model | 参数 Parameter | 额定 Extra |
---|---|---|---|---|---|
通用 General | AGI 模型 | 姜子牙 Ziya | LLaMA | 13B | English&Chinese |
- Brief Introduction
姜子牙通用大模型 V1 是基于 LLaMa 的 130 亿参数的大规模预训练模型,具备翻译,编程,文本分类,信息抽取,摘要,文案生成,常识问答和数学计算等能力。目前姜子牙通用大模型已实现大规模预训练、多任务有监督微调和人类反馈学习三阶段的训练过程。
pip install torch==1.12.1 tokenizers==0.13.3 git+https://github.com/huggingface/transformers
0.1 持续预训练 Continual pretraining
原始数据蕴含英文和中文,其中英文数据来自 openwebtext、Books、Wikipedia 和 Code,中文数据来自荡涤后的悟道数据集、自建的中文数据集。在对原始数据进行去重、模型打分、数据分桶、规定过滤、敏感主题过滤和数据评估后,最终失去 125B tokens 的无效数据。
为了解决 LLaMA 原生分词对中文编解码效率低下的问题,咱们在 LLaMA 词表的根底上减少了 7k + 个常见中文字,通过和 LLaMA 原生的词表去重,最终失去一个 39410 大小的词表,并通过复用 Transformers 里 LlamaTokenizer 来实现了这一成果。
在增量训练过程中,咱们应用了 160 张 40GB 的 A100,采纳 2.6M tokens 的训练集样本数量和 FP 16 的混合精度,吞吐量达到 118 TFLOP per GPU per second。因而咱们可能在 8 天的工夫里在原生的 LLaMA-13B 模型根底上,增量训练 110B tokens 的数据。
训练期间,尽管遇到了机器宕机、底层框架 bug、loss spike 等各种问题,但咱们通过疾速调整,保障了增量训练的稳定性。咱们也放出训练过程的 loss 曲线,让大家理解可能呈现的问题。
0.2 多任务有监督微调 Supervised finetuning
在多任务有监督微调阶段,采纳了课程学习(curiculum learning)和增量训练(continual learning)的策略,用大模型辅助划分已有的数据难度,而后通过“Easy To Hard”的形式,分多个阶段进行 SFT 训练。
SFT 训练数据蕴含多个高质量的数据集,均通过人工筛选和校验:
- Self-Instruct 结构的数据(约 2M):BELLE、Alpaca、Alpaca-GPT4 等多个数据集
- 外部收集 Code 数据(300K):蕴含 leetcode、多种 Code 工作模式
- 外部收集推理 / 逻辑相干数据(500K):推理、申论、数学应用题、数值计算等
- 中英平行语料(2M):中英互译语料、COT 类型翻译语料、古文翻译语料等
- 多轮对话语料(500K):Self-Instruct 生成、工作型多轮对话、Role-Playing 型多轮对话等
0.3 人类反馈学习 Human-Feedback training
为了进一步晋升模型的综合体现,使其可能充沛了解人类用意、缩小“幻觉”和不平安的输入,基于指令微调后的模型,进行了人类反馈训练(Human-Feedback Training,HFT)。在训练中,咱们采纳了以人类反馈强化学习(RM、PPO)为主,联合多种其余伎俩联结训练的办法,伎俩包含人类反馈微调(Human-Feedback Fine-tuning,HFFT)、后见链微调(Chain-of-Hindsight Fine-tuning,COHFT)、AI 反馈(AI Feedback)和基于规定的处分零碎(Rule-based Reward System,RBRS)等,用来补救 PPO 办法的短板,减速训练。
咱们在外部自研的框架上实现了 HFT 的训练流程,该框架能够利用起码 8 张 40G 的 A100 显卡实现 Ziya-LLaMA-13B-v1 的全参数训练。在 PPO 训练中,咱们没有限度生成样本的长度,以确保长文本工作的处分准确性。每次训练的总教训池尺寸超过 100k 样本,确保了训练的充分性。
1. 训练数据
1.1 持续预训练数据(纯文本语料)约 0.5G
蕴含两局部:①西医教材数据:收集“十三五”布局所有西医教材共 22 本。②在线西医网站数据:爬取西医世家、民间医学网等在线西医网站及知识库。
- 通用指令微调数据
Alpaca-GPT4 52k 中文
-
alpaca_gpt4_data.json
蕴含由 GPT-4 生成的 52K 指令追随数据,并带有 Alpaca 提醒。该 JSON 文件与 Alpaca 数据具备雷同的格局,只是输入由 GPT-4 生成的:instruction
:str
,形容模型应执行的工作。每条 52K 指令都是惟一的。input
:str
,工作的任选上下文或输出。output
:str
,指令的答案由生成GPT-4
。
alpaca_gpt4_data_zh.json
蕴含由 GPT-4 生成的 52K 指令跟踪数据,并由 ChatGPT 翻译成中文的 Alpaca 提醒。此 JSON 文件具备雷同的格局。-
comparison_data.json
通过要求 GPT- 4 评估品质,对 GPT-4、GPT-3.5 和 OPT-IML 等通明模型的响应进行排名。user_input
:str
,用于查问 LLM 的提醒。completion_a
:str
,一个模型实现,其排名实现_b。completion_b
:str
,不同的模型实现,其品质得分较低。
unnatural_instruction_gpt4_data.json
蕴含由 GPT-4 生成的 9K 指令追随数据,并带有非天然指令中的提醒。此 JSON 文件与 Alpaca 数据具备雷同的格局。
- 比拟了两种指令调整的 LLaMA 模型,别离依据 GPT-4 和 GPT-3 生成的数据进行微调。
- 在“有用性”规范中,LLaMA-GPT-4 的体现显著优于 LLaMA-GPT-3。
- LLaMA-GPT-4 在所有三个规范中的体现与原始 GPT-4 类似,这为开发最先进的遵循指令的 LLM 提供了一个有心愿的方向。
1.2 西医古籍指令对话数据
- 语料库起源
以《中华医典》数据库为语料起源,约 338MB,由两局部组成:①非结构化的“古籍文本”:涵盖了 886 本标点符号及内容残缺的西医古籍。②结构化的“古籍辞典”:蕴含“名医”、“名言”、“名词”、“名著”等六大类,由中医学界诸多出名学者对西医古籍内容常识进一步零碎提炼整顿,是西医古籍内容精髓最为间接的集中体现。
构建指令微调对话数据集
通过常识疏导的指令数据生成和指令数据品质优化两个阶段,最终取得 504372 个对话数据。
- 常识疏导的指令数据生成
让 ChatGPT 基于对该段西医古籍的常识内容了解,模仿用户与 AI,通过自问自答的形式,生成逻辑关系相干的若干问题和答案,从而保障对话数据的准确性和可靠性。 -
指令数据品质优化
只管基于常识疏导使得生成的指令数据基于特定畛域,并且与所提供的无监督文本内容相干,防止了模型外部“已有常识”的烦扰。然而这种办法难以对数据品质进行监督和管制,也难以保障指令数据的多样性和难度,这可能导致大模型对指令数据集的适度拟合。为了解决这个问题,咱们在现有指令数据集的根底上,通过指令数据过滤 - 指令数据整合两个阶段对数据进行二次优化。
西医古籍指令数据品种概览(共 504372 条对话数据)
对话类型 | 数量 | 对话类型 | 数量 |
---|---|---|---|
医经实践 | 40410 | 温病类 | 10288 |
诊法治法 | 14184 | 综合医书 | 86413 |
本草方书 | 144993 | 临证各科 | 56872 |
针灸推拿灸 | 31009 | 西医问诊 | 76765 |
伤寒金匮 | 29602 | 预防养生 | 13836 |
2. 模型训练
2.1 试验参数
超参数 | 持续预训练 | 有监督微调 | DPO 优化 |
---|---|---|---|
learning_rate | 6e-5 | 3e-4 | 3e-4 |
lora_rank | 16 | 16 | 16 |
num_train_epochs | 5 | 6 | 6 |
per_device_train_batch_size | 8 | 16 | 8 |
per_device_eval_batch_size | – | 16 | – |
gradient_accumulation_steps | 4 | 4 | 4 |
lr_scheduler_type | cosine | cosine | cosine |
logging_steps | 1000 | 100 | 100 |
save_steps | 2000 | 5000 | 2000 |
train_loss | 1.456 | 1.245 | 0.00276 |
eval_loss | – | 1.258 | – |
2.2 模型下载 -LoRA 权重
模型名称 | 大小 | 下载地址 |
---|---|---|
pretrain | 25.05MB | 下载地址 |
sft | 25.05MB | 下载地址 |
dpo | 50.16MB | 下载地址 |
3. 模型成果
利用示例 | Input | 通义千问 | Huang-Di |
---|---|---|---|
医经实践 | 西医古籍中的“阴虚之热”和“阴盛格阳之火”别离应该如何进行医治? | 很道歉呀,目前我还没有把握答复这个问题的技巧,我会一直学习,您也能够问我一些其余问题,我会致力给您解答。 | 在西医中,“阴虚之热”是因为人体内阴气有余、水液不行、真阴耗伤等起因所致的虚火症状。对于阴虚之热的医治,倡议采纳滋补阴液的办法,如六味地黄丸等中药进行医治,可能缓解症状,达到滋阴降火的成果。而“阴盛格阳之火”则是指人体内阳气有余、阴气过盛、炽热亢盛等导致的虚火症状。对于阴盛格阳之火的医治,倡议采纳温补阳气的办法进行医治,如附子干姜肉桂等中药可能温补阳气,从而产生脾胃运化之功,打消虚火症状。总的来说,西医认为实火宜泻、虚火宜补,从病因和症状剖析,采纳不同的医治办法,有利于复原人体内阴阳均衡,达到疾病的医治和痊愈成果。 |
诊法治法 | 如何判断一个人阴阳失调? | 西医认为,阴阳失调是指人体内阴阳两种力量的失衡,通常体现为身材的不适和疾病。能够通过观察一个人的症状来判断其是否阴阳失调,例如:体温过高或过低、头痛、口干、口臭、腹泻、便秘、失眠、多梦、焦虑、抑郁等。另外,能够通过查看一个人的脉搏和舌苔来进一步判断其阴阳失调的状况。 | 阴阳失调是中医理论中的重要概念,它指的是身材外部阴阳两种力量之间的不均衡。通常来说,判断一个人是否存在阴阳失调须要从以下几方面动手:1. 察看外貌特色:阴虚、阳盛型的患者通常容易呈现脸色苍白、肥壮等症状;而阳虚、阴盛型的患者则可能体现为面色红润、瘦削等状况。2. 查看舌苔:西医认为舌质和舌苔能够反映脏腑性能的变动。例如,阴虚型患者的舌质可能较薄,舌苔可能较厚;而阳虚型患者的舌质可能较厚,舌苔可能较薄。3. 询问病史:理解患者过来是否有过相似疾病或者长期服用某些药物也能够帮忙诊断阴阳失调。4. 检测体温:阴虚型患者往往会呈现低热、寒战等症状,而阳虚型患者则可能呈现高热、汗多等状况。 |
针灸推拿灸 | 古籍中九刺是什么? | 九刺是西医针灸学中的一种医治办法,也称为“九针”。九刺是指应用九根针具,通过不同的刺激形式和手法,对特定的穴位进行刺激,以达到医治疾病的目标。九刺的利用范畴十分宽泛,能够用于医治各种疾病,如肩周炎、腰痛、坐骨神经痛、痛风等。 | 九刺指的是西医中现代的九种刺法,别离是输刺、远道刺、经刺、络刺、分刺、大泻刺、毛刺、巨刺、淬刺。在《灵枢经》的《官针》条中就提到:“凡刺有九,以应九变”,也就是说,九种不同的刺法实用于不同的病变。其中,输刺是通过针刺使病邪随汗液排出;远道刺是在病变部位远处刺激;经刺是通过刺激经脉穴位将病邪排出;络刺是刺激络脉,达到相似经刺的成果;分刺是将病变部位分成若干小局部进行刺激;大泻刺是疾速放血,将有毒血液排出体外;毛刺是将针头刺入皮肤表层,产生微刺激;巨刺则是在病变部位间接刺出大量污血;淬刺是将针先烤热后再刺激穴位。九刺的使用须要依据不同的疾病状况灵便抉择,是西医医治的重要伎俩之一。 |
西医问诊 | 最近我怀孕了,然而感到神疲有力、面色黯淡、腰酸腹痛并且呈现阴道流血的症状,这是否属于血虚滑胎的状况?请问怎么医治? | 首先,我要强调的是,我不是医生,我只能提供一些倡议。如果你怀孕期间呈现这些症状,请务必征询业余的医生。血虚滑胎是西医中的一个概念,通常是指孕妇血液有余,导致胎儿不稳固,容易流产。然而,呈现这些症状并不一定就是血虚滑胎,可能是其余起因引起的。因而,倡议你及时就诊,让医生进行具体查看,确诊起因。在确诊后,医生会依据具体情况给出相应的医治计划。对于血虚滑胎的医治,西医可能会采纳补血、安胎的办法,比方服用一些补血的药物,如当归、红枣、枸杞等。此外,还须要留神劳动,保持良好的生活习惯,防止适度操劳,放弃情绪稳定等。总之,如果你怀孕期间呈现这些症状,请务必及时就诊,让业余的医生进行诊断和医治。心愿你和宝宝都衰弱安全! | 是的,你的症状很可能是血虚滑胎引起的。血虚滑胎是指因为孕妇平时血虚及有滑胎病史,怀孕后阴血益虚导致胎儿失去滋润而引起的状况。其中症状包含神疲有力、面色淡黄、浮肿、腰酸腹痛,而且重大的话还会呈现阴道流血和胎动欲坠等症状。对于血虚滑胎的医治,应该以补血益气为主,以此来预防滑胎的产生。罕用的中药方剂包含胎元饮,该方剂的组成包含人参、当归、杜仲、芍药、熟地、白术、陈皮、炙甘草等,可起到补气补血的作用。如果呈现下血症状,还能够退出阿胶和艾炭等药物。须要强调的是,血虚滑胎的医治应该遵循个性化的准则,应依据孕妇的具体情况而定。另外,饮食调节、心理调节等方面的医治也十分重要,这些措施能够无效地进步孕妇血液的营养含量,进步孕妇免疫力,从而预防或缓解血虚滑胎产生的症状。如果呈现滑胎症状,倡议及时就医,并且采取综合医治。” 心愿我的答复可能对你有所帮忙。如果你还有其余问题,请随时向我发问。祝你衰弱高兴! |
更多优质内容请关注公号:汀丶人工智能;会提供一些相干的资源和优质文章,收费获取浏览。
- 参考链接
1.https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-13B-v1
2.https://github.com/ymcui/Chinese-LLaMA-Alpaca
3.https://github.com/huggingface/peft