DoctorGLM:微调你的中国医生并不是一项艰巨的任务

Honglin Xiong1*  Sheng Wang1,2,3*   Yitao Zhu1*   Zihao Zhao1*   Yuxiao Liu1
Linlin Huang4   Qian Wang1,3   Dinggang Shen1,3
1ShanghaiTech University   2Shanghai Jiao Tong University
3United Imaging Intelligence   4Huashan Hospital, Fudan University
{xionghl, wangqian2, dgshen}@shanghaitech.edu.cn   wsheng@sjtu.edu.cn
摘要

最近,包括 ChatGPT 和 GPT-4 在内的大型语言模型(大语言模型)在理解和响应人类指令方面取得了显着的进展。 然而,这些模型通常在英语中表现更好,并且没有经过针对医学领域的明确训练,导致诊断、药物推荐和其他医疗建议的精度不佳。 此外,对话模型的训练和部署对于医院来说仍然是不可能的,阻碍了大语言模型的推广。 为了应对这些挑战,我们在 ChatGPT 的帮助下收集了中文医学对话数据库,并采用了多种技术来构建易于部署的大语言训练模型。 Remarkably, we were able to fine-tune the ChatGLM-6B on a single A100 80G in 13 hours, which means having a healthcare-purpose LLM can be very affordable. DoctorGLM目前是一个早期的工程尝试,并且包含各种错误。 我们正在与更广泛的社区分享,以征求反馈和建议,以提高其以医疗保健为中心的能力:https://github.com/xionghonglin/DoctorGLM

1简介

大型语言模型(大语言模型)是高度先进的人工智能系统,经过对大量文本数据的广泛训练。 通过利用深度学习技术,这些模型能够生成类似于人类语音的响应,这使得它们在语言翻译、问答和文本生成等各种任务中非常有用。 OpenAI的GPT系列等大语言模型已经展现出令人瞩目的成果,并有可能给营销、教育、客户服务等多个行业带来革命性的变革。 大语言模型因其处理和理解大量数据的能力而备受追捧,这使得它们非常适合解决复杂的问题。

尽管在自然语言处理方面表现出色,但像 ChatGPT 和 GPT-4 这样的大型语言模型并不是专门为医学领域设计的。 因此,将大语言模型用于医疗目的可能会导致诊断、药物推荐和其他医疗建议的准确性不佳,从而可能对患者造成伤害。 ChatGPT 和 GPT-4 等大型语言模型的另一个限制是它们通常用英语进行训练,这限制了它们理解和响应其他语言的能力。 这可能会给母语不是英语的人造成障碍,并限制更广泛的受众获得医疗建议。 为了克服这些局限性,让大语言模型更好地融入大多数普通人的生活,开发可以用多种语言训练的医学定制大语言模型至关重要。 这不仅可以提高这些模型提供的医疗建议的准确性,还可以让更广泛的受众更容易获得这些建议。

为了提高医学领域语言模型提供医疗建议的精度和准确性,建立了中文医学对话数据库。 该数据库包含大量患者的信息,包括他们的症状、推荐的药物和必要的医学检查。 该数据库的创建是为了提供具有广泛医学知识的语言模型,并使它们能够对医学查询生成更准确和个性化的响应。 通过整合这些知识,希望能够提高语言模型诊断疾病的能力,并为患者提供更好的建议,最终提高医疗保健质量。

Refer to caption
图1 DoctorGLM 微调和推理管道概述。

为了优化中文和英文的医学语言模型,更重要的是,探索定制医学大语言模型的可行管道,我们基于 ChatGLM(一个具有 60 亿个参数的预训练语言模型)对其进行了微调。 该模型的独特之处在于它是双语的,提供英语和中文的熟练程度。 此外,GLM 模型具有独特的缩放属性,允许 INT4 量化,从而能够在单个 RTX 3060 (12G) 上进行有效推理。 这种可扩展性是医疗保健语言建模领域的重大突破,因为它允许在经济实惠的 GPU 上进行更高效、更具成本效益的计算,使医院更容易根据其内部数据部署医疗对话模型。 此外,我们使用低秩自适应来促进 A100 80G GPU 上的微调。 这可以缩短推理时间,使研究人员和开发人员更轻松地将大规模语言模型用于各种应用程序。

目前,由于 ChatGPT 相关的巨大计算成本,公众常常认为大型语言模型(大语言模型)被科技巨头垄断。 然而,在本文中,我们证明了专注于医学领域的专门中文对话语言模型的训练成本可以低于 100 美元。 我们通过利用参数高效的调整和量化技术来实现这一目标,从而能够开发基于 LLM 的系统,该系统可以针对特定任务进行定制。 本文的主要贡献总结如下:

  • 我们首次尝试训练非英语医疗保健大语言模型。

  • 我们开发了一套全面的训练对话模型管道,适用于不同语言并适用于任何特定的临床部门。 源代码可在 GitHub 上获取。

  • 我们证明了训练和部署个性化大语言模型的成本是可以承受的,从而鼓励医院轻松地基于内部数据训练自己的大语言模型。

表1 使用的数据集的统计。 聊天意味着多轮 QA。 同步。 表示数据是否是由其他语言模型生成的。 命令。 意思是中医对话。
Dataset Department Language Q&A Chat Number Syn. Size
CMD. Surgical CN × 116K × 52MB
Obstetrics and Gynecology 229K 78MB
Pediatrics 117K 47MB
Internal Medicine 307K 102MB
Andriatria 113K 44MB
MedDialog Multiple CN&EN 3.4M × 1.5GB
ChatDoctor Multiple EN × 5.4K 2.9MB
HearlthcareMagic Multiple EN × 200K × 216MB

2 医疗保健中的大型语言模型

Refer to caption
图2 实施大规模翻译。 通过 ChatGPT 构建了一个小型且高质量的数据集。 收集的数据集作为预训练语言模型的微调集,使其能够执行专门的机器翻译。

Transformer 架构[12]和计算能力的最新进展使得能够训练具有数十亿参数的大型语言模型,从而显着提高其总结、翻译、预测和生成类人语言的能力文本[2,10,9] 在 ChatGPT 之前的时代,已经基于通用模型权重和训练方案开发了几种医疗保健语言模型。 BioBERT [7] 和 PubMedBERT [5] 是在 PubMed 上针对生物医学数据训练的 BERT [3] 模型的示例,而 ClinicalBERT [1] 在 MIMIC 数据集上进行了进一步训练,并且表现优于其前身。

在 ChatGPT 展示了 100B 规模模型的潜力之后,研究人员将医疗保健语言模型扩展到更大的规模,并给出了非常有希望的结果。 Med-PaLM [10] 于 2022 年末使用精选的生物医学语料库和人类反馈开发,并显示出可喜的结果,包括 MedQA 考试的准确率达到 67.6%。 ChatGPT 没有接受补充医学训练,但通过了 USMLE 的所有三个部分,所有考试的准确率均超过 50%,其中大多数考试的准确率超过 60%[6] ChatCAD [13] 将医学图像分析模型与 ChatGPT 相结合,提供交互式计算机辅助诊断。 ChatDoctor [14] 是使用 ChatGPT 合成的临床 QA 在 LLaMA 模型上进行微调的医疗聊天模型。

3方法

3.1 使用 ChatGPT 帮助的数据集

值得注意的是,存在大量以英文发布的高质量数据集。 为了利用现有资源,我们翻译了 ChatDoctor [14] 数据集,以提高 DoctorGLM 的中文水平。

医学大语言模型需要专业的训练数据,对英汉翻译提出了很高的要求。 ChatGPT 能够进行专业的临床文本翻译,但这对于大规模数据集来说会带来数万美元的开销,这对于大多数研究人员来说是无法接受的。 在这里,我们利用 ChatGPT 的功能,采用简单且低成本的方法进行大规模翻译。

数据集的转换通常分两步,如图2所示。 X={x1,x2,,xN}最初是从ChatDoctor数据集中选择的,其中xn是原始英文文本,通过ChatGPT API获得相应的高质量翻译Y={y1,y2,,yN} 然后,基于 BART 的预训练模型 [11] 仅在配对 XY 上进行微调,无需任何其他数据集。 这样,语言模型就可以从ChatGPT中提炼出专家级的知识,而提炼后的小模型可以作为大语言模型的可接受替代111Available at: https://huggingface.co/zhaozh/medical_chat-en-zh 我们已翻译 ChatDoctor 222ChatDoctor: Google drive 在我们的训练中使用。

为了在有限的学术预算下开发高质量的对话模型,ChatDoctor [14] 采用了一种策略,将疾病数据库中的每条消息作为单独的提示输入 GPT3.5-turbo 模型中,以生成自动指令数据。 提供给 ChatGPT API 的提示包含疾病、症状和药物的黄金标准,从而生成一个数据集,该数据集保留了 ChatGPT 的对话流畅性,同时还实现了比单独使用 ChatGPT 更高的诊断准确性。

3.2提示设计器

大型语言模型在会话任务中取得了显着的性能。 然而,他们的输出可能不可靠且具有欺骗性。 DoctorGLM 中使用的 ChatGLM 也存在此问题。 为了解决这个问题并增强 DoctorGLM 输出的可靠性,我们使用提示设计器模块来预处理用户的输入。

提示设计器模块从用户输入中提取相关关键词,例如疾病名称或症状。 然后,该模块利用最可能的疾病名称作为标签,并根据专业疾病知识库生成简短描述。 该图书馆全面收集了有关各种疾病的详细文档。 特别是,我们有3231个详细的疾病文献,所有这些文献都来源于默克诊断和治疗手册。

提示设计者的输出包括有关疾病症状、诊断、治疗方案和预防措施的信息。 通过提供专业生成的提示,提示设计者扩展了 DoctorGLM 针对特定疾病的专业知识和可靠性。 此外,它还是用户可靠的信息来源。

生成的提示与原始输入一起集成到大型语言模型中,以提高 DoctorGLM 响应的准确性和可靠性。 通过使用这种方法,我们可以增强DoctorGLM的整体性能,并为用户提供可靠且值得信赖的信息。 该系统还可以与其他具有良好上下文学习能力的大型语言模型一起使用,例如 ChatGPT、LLaMA 和 ChatGLM。

3.3 DoctorGLM的培训

我们在开发 DoctorGLM 时使用了 ChatGLM-6B 模型 [4, 15] 这个开放的双语语言模型基于通用语言模型(GLM)框架,拥有 62 亿个参数。 ChatGLM-6B针对中文QA和对话进行了优化,其技术与ChatGPT类似。 该模型在大约 1 万亿个中文和英文语料库上进行了训练,并进行了额外的监督微调、反馈引导和使用人类反馈的强化学习。 尽管只有 62 亿个参数,ChatGLM-6B 却生成了符合人类偏好的答案。 此外,我们使用低秩适应 (LoRA) 来微调 ChatGLM,仅使用 700 万个可训练参数。

使用所有中文医学对话数据集的微调过程是使用A100 GPU进行的,持续时间为8小时。 训练过程中采用的超参数如下:batch size为4,Lion优化器的学习率为2e-5,总共1个epoch,最大序列长度为512个token,最大目标长度为100 Token 。 没有热身和重量衰减。 低秩自适应应用于 q,v,秩设置为 8,alpha 设置为 16。

4 主要结果

4.1 与通用模型比较

在这里,我们在表 234 中演示了使用 DoctorGLM 进行的一些 QA。 我们与我们的基本模型 ChatGLM-6B 和 ChatGPT (gpt-3.5-turbo) 进行了比较。 DoctorGLM 这里没有额外的提示和过滤器。 该模型基于CMD进行训练,数据来自五个部门。 我们还要求医生标记错误并

一般来说,DoctorGLM 往往过于武断,而像 ChatGPT 这样的通用模型则更加保守。 例如,在Q2(见表3),ChatGLM建议使用利巴韦林颗粒,

4.2世代多样性

Top-p 和温度是文本生成模型中使用的技术,用于控制生成输出的多样性和质量。 Top-p(也称为核采样或 softmax 采样)是一种根据模型输出分布中的概率选择最可能的单词的方法。 它的工作原理是选择累积概率超过特定阈值的最小单词集。 与在每一步简单地选择最可能的单词相比,这允许更多样化的输出。 另一方面,温度是一个标量参数,控制生成输出的随机性。 较高的温度值会导致更加多样化和创造性的输出,而较低的值会导致更加保守和可预测的输出。 温度参数控制用于计算生成序列中下一个单词的概率的 softmax 函数。 结果列于表中。 6

4.3 多少次迭代就足够了?

对于LoRA,我们还不知道。 见表。 7 了解更多详细信息。 在训练过程中,我们发现模型在 50K 次迭代后崩溃,并且无法产生任何有意义的输出。

4.4 P-tuning 与 LoRA

我们还测试了 P-tuning [8],这是一种微调大型语言模型的方法,仅涉及优化连续提示,从而显着减少每个任务的存储和内存使用量。 它的性能与仅使用 0.1%-3% 微调参数的微调相当。 我们比较了 LoRA 和 P-Tuning V2 的模型,结果如表所示。 5.

Q1 近一个多月来,本人两肋、前胸包括胸口及两旁、后背两边、脊椎骨上段、包括扇子骨等处,就是上半身,发生不适隐痛,上半身很纠结,好像里面有手揪住一样,不舒展爽朗,十分难受,一会儿前胸和两肋不适难受,一会儿后背两边不适难受,同时发生隐痛。扭动身体,做做伸展活动,或者用拳头抵住揉搓不适隐痛处,身体就会舒展一些好受一些。总的来说就是上半身有肋骨的地方和上半段脊椎骨范围内发生不适和隐痛,一般同时两三个隐痛点,就是肋骨最下段的骨梢也发生不适隐痛。没有肋骨地方不痛,如肚子处就不隐痛。 本人于2011年11月做了胆囊摘除和胆总管结石手术。不是腹腔镜,是开了一条约18公分的大口子和两个导流小洞。此种不适难受隐痛情况2012年春天发生过一次,时间不长自动好了。但这次严重时间又长,不适和隐痛感觉有时呈块状,有时呈条状,一般同时有两三处不适隐痛,让人很难受,还有越来越重的感觉。
A1 (DoctorGLM) 病情分析:您好,这种情况考虑是肋间神经炎引起的疼痛 (还需与心绞痛、心脏神经官能症、胸膜炎、肋软骨炎等鉴别,可以根据鉴别诊断补充问诊,明确诊断) 指导意见:建议口服消炎药,止痛药,维生素B族,按疗程治疗,疼痛缓解后,练习抬胸运动,可缓解疼痛,除了正规治疗胆石症外,患者需要多咨询专家建议,和医生保持沟通,患者还需要重视护理方面,例如合理饮食,保持心情愉快与此同时患者还要注意选择一家专业医院诊治,这样才能得到良好的治疗效果
A1 (ChatGPT) 很抱歉听到您最近出现了这些不适和隐痛的症状。根据您的描述,您的症状似乎涉及到上半身多个部位的肋骨和脊椎骨等骨骼结构,以及随之产生的不适和隐痛感觉。由于您之前做过胆囊摘除和胆总管结石手术,这些症状可能与手术本身有关,(距离手术时间很久了,后来自动缓解,中间未再发作,不太考虑与手术直接相关。)但也有可能是其他原因引起的。因此,建议您及时就医,进行详细的身体检查和相关检查,以确定症状的具体原因和处理方法。 您可以咨询家庭医生或内科医生,他们可以进行初步的检查和评估,并根据需要进行相应的检查,如X光、CT、MRI或血液检查等。在等待就医的过程中,您可以注意休息、保持良好的姿势、避免过度运动或重物提起,同时可以使用热敷或冷敷等方法缓解疼痛和不适感。 最后,建议您保持乐观心态,积极配合医生治疗和康复。祝您早日康复!
A1 (ChatGLM) 所述症状可能是由多种原因引起的,包括身体、心理和情绪等方面。根据所述症状,建议进行以下检查和测试: 1. 医生体检:进行全面的身体检查,包括心肺听诊、血压测试、视力、听力、皮肤测试等,以确定任何潜在的健康问题。 2. 心电图(EKG):测试心脏健康,评估是否有潜在的心脏问题。 3. 核磁共振(MRI):测试骨骼和肌肉系统的健康,以及评估是否有潜在的神经问题。 4. 血液检查:测试贫血、感染、肿瘤等问题。 5. 心理健康测试:测试情绪和心理健康,例如压力测试、焦虑测试等。 如果症状持续存在或变得更加严重,请尽快咨询医生以获取专业建议和治疗。(过于笼统,没有针对性)
表2 医生的评论用蓝色标记。 事实错误标记为红色 不正确的诊断标记为绿色
Q2 医生我家宝宝4岁7个月.这几天连续五天发烧白天晚上都是.基本上都39度大约.消炎药也换过了.查血也查了.炎症又不太高结果医生说是急性扁桃体炎.很忧心求方法谢谢!
A2 (DoctorGLM) 孩子发热,一般考虑炎症的问题,建议给孩子多喝水,多喝水有助于降低体温,建议给孩子口服利巴韦林颗粒治疗,也可以口服小儿氨酚黄那敏颗粒治疗,可以口服消炎药,如阿莫西林克拉维酸钾等,建议平时注意孩子卫生,不要接触刺激物,多给孩子喝水,注意孩子体温变化,不要让孩子发烧,以上是对“宝宝得了急性扁桃体炎该怎么办?”这个问题的建议,期望对您有帮助,祝您健康!(不这样建议的,先明确致病病原体。病毒:自限性,无需使用抗病毒药抗菌药,可以应用缓解症状的药物,利巴韦林一般用于呼吸道合胞病毒相关的肺炎,该药可能对儿童生长有影响。 细菌性则根据病原菌类型对应使用抗菌药,如A群β溶血性链球菌 选择阿莫西林、阿莫西林克拉维酸钾,支原体则选择阿奇霉素。还应特别关注相应的并发症。)
A2 (ChatGPT) 很遗憾听到您家宝宝一直发烧,但是如果医生已经诊断出是急性扁桃体炎,那么您需要给宝宝提供适当的治疗和护理。 以下是一些建议: 1. 给宝宝多喝水,保持充足的水分摄入,可以帮助降低体温,并保持身体水分平衡。 2. 让宝宝多休息,避免过度活动。可以适当减少学习和玩耍时间,帮助宝宝恢复体力。 3. 您可以使用退烧药,如布洛芬或对乙酰氨基酚,以帮助控制宝宝的发烧症状。但一定要按照医生的建议使用。 4. 给宝宝提供温暖和舒适的环境。确保房间内的温度适宜,并保持空气流通,以帮助宝宝呼吸更轻松。 5. 给宝宝提供温和的饮食,以保持身体营养平衡。可以选择易于消化的食物,如米粥、面条和蒸蛋等。 6. 如果宝宝的症状持续或加重,请及时与医生联系。可能需要进一步的检查或治疗。 最后,希望您家宝宝早日康复,注意预防感染和保持健康的生活习惯。 (过于笼统,没有帮助)
A2 (ChatGLM) 急性扁桃体炎是儿童常见疾病之一,可能导致发热和喉咙疼痛等症状。根据你提供的信息,宝宝连续发烧五天,炎症不高,可能是急性扁桃体炎。 以下是一些建议: 1. 休息:宝宝在发烧时需要休息,避免过度活动和消耗体力。 2. 饮食:给宝宝提供足够的水分和营养物质,以保证身体的恢复和修复。可以喂宝宝一些退烧汤或粥,如鸡汤或蔬菜粥。 3. 药物治疗:根据医生的建议使用消炎药,但是需要注意剂量和频率,以免产生不良反应。可以使用退烧药来降低宝宝的体温。 4. 降温:可以使用冰袋或湿毛巾等方法来降温,但是需要注意不要将冰袋或湿毛巾放在宝宝的大脑或眼睛上,这可能会对造成伤害。 5. 检查:最后,为了确定病因和诊断,需要再次给宝宝进行血液检查,以便确定是否感染病毒或其他病原体。 要带宝宝去看医生,遵循医生的建议,进行必要的治疗和监测。同时,要积极配合医生的治疗,监测宝宝的病情变化,以便及时进行调整和治疗。
Reference 儿童急性扁桃体炎诊疗—临床实践指南(2016) 1 一般治疗 卧床休息、清淡饮食、多饮水、加强营养及保持排便通畅;咽痛剧烈或高热时,可口服退热药及镇痛药。 2 抗菌药物的使用 病毒性急性扁桃体炎常为自限性,无需使用抗菌药物治疗,可以考虑使用中药等治疗。 A群β溶血性链球菌为本病的主要致病细菌,对于有细菌感染证据的急性扁桃体炎患儿, β内酰胺类为抗菌药物治疗的一线首选药物, 抗菌治疗应以清除病灶致病菌为目的, 疗程至少10 d, 根据病情轻重, 决定给药途径。青霉素类, 如: 阿莫西林、 阿莫西林+克拉维酸制剂等口服为推荐药物 。头孢类抗菌药物由于抗菌谱更广, 也可以作为一线药物治疗。对青霉素过敏的患儿或考虑为肺炎支原体感染者, 建议使用阿奇霉素等大环内酯类抗菌药物治疗, 阿奇霉素剂量为每日1次给药, 推荐使用剂量是10 mg/(kg·d), 连续使用 3 d为1个疗程; 也有使用 5 d疗程的用法: 首剂10 mg/(kg·d), 第2~5天5 mg/(kg·d)。或者12 mg/(kg·d),连续使用5 d为1个疗程。
表3 医生的评论用蓝色标记。 事实错误标记为红色 不正确的诊断标记为绿色
Q3 每天清晨第一次尿完之后就一直感觉到尿频。。去尿就一点点。。到中午就回好了。但是尿尿的时候感觉到尿急。。憋不住的那种。这是怎么回事?
A3 (DoctorGLM) 您好,考虑是前列腺炎(不这么直接考虑,可以提供多种考虑,建议进一步排查),前列腺炎多表现为排尿不适,尿频、排尿时尿道灼热、疼痛并伴随排尿困难,大便时尿道口有白色分泌物,甚至射精痛,阴茎痛,性欲减退,性交不适,便秘或排便痛,和他性勃起和射精时疼痛加重,建议最好去医院详细检查一下,明确确诊后再对症治疗,祝您健康
A3 (ChatGPT) 这种情况可能是尿路感染的症状之一,也可能是其他泌尿系统疾病引起的。建议您去看医生进行检查。 尿路感染是由细菌感染尿道、膀胱或肾脏等泌尿系统器官引起的感染。尿频、尿急、尿痛是尿路感染的常见症状之一,其他还可能包括尿色深、尿中带血、腰痛等。 除了尿路感染外,其他可能引起类似症状的疾病还包括前列腺炎、膀胱炎、尿道狭窄、尿道结石等。这些疾病也需要进行相应的治疗,因此建议及时就医,以确定病因并得到正确的治疗。
A3 (ChatGLM) 引起尿频和尿急的原因有很多,包括: 1. 膀胱感染或细菌感染:膀胱感染或细菌感染可能会导致尿频、尿急和尿痛等症状。建议进行尿液检查以确定感染的类型。 2. 膀胱过度活动(膀胱过度活动症):膀胱过度活动是一种常见的症状,会导致尿频和尿急。如果膀胱过度活动受到关注,医生可能会建议使用一些药物来减轻症状。 3. 前列腺问题:前列腺问题也可能导致尿频、尿急和尿痛等症状。如前列腺增生或前列腺癌,它们可能会影响尿道和膀胱。建议进行超声波检查或医生进行详细的诊断。 4. 饮食和饮水:饮食和饮水量也可能对尿频和尿急产生影响。过量饮酒或咖啡因摄入、高糖饮食、饮食不当等都可能导致尿频。建议减少这些食品的摄入。 如果症状持续或加重,建议咨询医生进行详细检查以确定病因。
Q4 我有蚕豆病溶血的,现在我有一些症状会表现出出的的.您好蚕豆病溶血有什么症状?
A4 (DoctorGLM) 你好,蚕豆病是溶血性贫血的简称(该描述有误,蚕豆病是葡萄糖-6-磷酸脱氢酶(G6PD)缺乏症的一个类型。溶血性贫血有很多种),是由溶血性贫血、溶血和蚕豆病等疾病组成的一组疾病,蚕豆病的症状有:发热、腹痛、腹泻、恶心、呕吐、头痛、恶心、干呕、发热、发热、呕吐、腹泻、恶心、干呕等,此外,蚕豆病患者在救治期间,患者的饮食状况和护理也是很重要的,患者一定要留意歇息,可以适当活动,以免引发不必要的伤害,期望上述的答案可以帮助到你,谢谢
A4 (ChatGPT) 蚕豆病溶血是一种罕见的遗传性疾病,主要由于摄入蚕豆或类似食物导致红细胞溶解而引起。以下是一些可能表现出的症状: 1. 贫血:由于红细胞溶解,可能会导致贫血,这可能会导致疲劳、头晕、心悸等症状。 2. 黄疸:红细胞溶解后,可能会释放出大量的胆红素,导致皮肤、黏膜变黄,眼睛也会发黄。 3.腹痛、腹泻:在严重的情况下,溶血可能会导致胆汁淤积,引起腹痛和腹泻。 4.尿中出现血液:红细胞溶解后,血红蛋白可能会在肾脏中过滤,导致尿液呈现出棕红色。 5. 肝脾肿大:长期患病可能会导致肝脾肿大,引起腹胀、腹部不适等症状。 如果您怀疑自己有蚕豆病溶血,请立即咨询医生。治疗通常包括避免摄入引起疾病的食物,输注红细胞等支持治疗。
A4 (ChatGLM) 蚕豆病是一种由溶血性贫血引起的疾病,其病因是由于体内缺乏一种叫做“抗-G5520”抗体的物质(有误,G6PD缺乏。G6PD缺乏症发病原因是由于G6PD基因突变,导致该酶活性降低,红细胞不能抵抗氧化损伤而遭受破坏,引起溶血性贫血。)。这种物质是蚕豆(一种豆类)引起的,如果身体无法正常产生这种抗体,就会导致溶血性贫血。 蚕豆病的症状包括: 1. 溶血性贫血:由于体内的红细胞被破坏,导致贫血,症状包括疲劳、虚弱、头晕、头痛、血红蛋白尿等。 2. 皮肤反应:许多人会出现皮肤的变化,例如皮肤变黑或变红,眼睛周围的皮肤也可能变成紫色或黑色。 3. 胃肠道反应:许多人会出现恶心、呕吐、腹泻等胃肠道症状。 4. 心脏问题:有时溶血性贫血会导致心脏问题,例如心脏肌肉受损或心脏血管问题。 如果觉得自己出现了与溶血性贫血相关的症状,建议立即咨询医生,因为溶血性贫血可以非常危险,可能导致死亡。
表4 医生的评论用蓝色标记。 事实错误标记为红色 不正确的诊断标记为绿色
Q1 近一个多月来,本人两肋、前胸包括胸口及两旁、后背两边、脊椎骨上段、包括扇子骨等处,就是上半身,发 生不适隐痛,上半身很纠结,好像里面有手揪住一样,不舒展爽朗,十分难受,一会儿前胸和两肋不适难受,一 会儿后背两边不适难受,同时发生隐痛。扭动身体,做做伸展活动,或者用拳头抵住揉搓不适隐痛处,身体就会 舒展一些好受一些。总的来说就是上半身有肋骨的地方和上半段脊椎骨范围内发生不适和隐痛,一般同时两三个 隐痛点,就是肋骨最下段的骨梢也发生不适隐痛。没有肋骨地方不痛,如肚子处就不隐痛。本人于2011年11月做 了胆囊摘除和胆总管结石手术。不是腹腔镜,是开了一条约18公分的大口子和两个导流小洞。此种不适难受隐痛 情况2012年春天发生过一次,时间不长自动好了。但这次严重时间又长,不适和隐痛感觉有时呈块状,有时呈条 状,一般同时有两三处不适隐痛,让人很难受,还有越来越重的感觉。
A1 (lora) 您好,这种情况考虑是肋间神经炎引起的疼痛 (还需与心绞痛、心脏神经官能症、胸 膜炎、肋软骨炎等鉴别,可以根据鉴别诊断补充问诊,明确诊断) 指导意见:建议口服消炎药,止痛药,维生素B族,按疗程治疗,疼痛缓解后,练习抬胸运动,可缓解疼痛,除了 正规治疗胆石症外,患者需要多咨询专家建议,和医生保持沟通,患者还需要重视护理方面,例如合理饮食,保 持心情愉快与此同时患者还要注意选择一家专业医院诊治,这样才能得到良好的治疗效果
A1 (ptuning) 你好,你的情况考虑是肋间神经痛或肋软骨发炎。肋间神经痛是指由于长期的精神、体力活动等因素,引起肋间神经的经常性疼痛,并呈持续性或阵发性发作。肋软骨发炎是指由于局部感染,引起肋软骨发炎,表现为局部疼痛,伴有红肿热痛,疼痛明显,有脓性分泌物。
Q2 医生我家宝宝4岁7个月.这几天连续五天发烧白天晚上都是.基本上都39度大约.消炎药也换过了.查血也查了.炎 症又不太高结果医生说是急性扁桃体炎.很忧心求方法谢谢!
A2 (lora) 孩子发热,一般考虑炎症的问题,建议给孩子多喝水,多喝水有助于降低体温,建议给孩子口 服利巴韦林颗粒治疗,也可以口服小儿氨酚黄那敏颗粒治疗,可以口服消炎药,如阿莫西林克拉维酸钾等,建议 平时注意孩子卫生,不要接触刺激物,多给孩子喝水,注意孩子体温变化,不要让孩子发烧,以上是对“宝宝得了 急性扁桃体炎该怎么办?”这个问题的建议,期望对您有帮助,祝您健康!
A2 (ptuning) 急性扁桃体炎的主要症状是咽痛.发热.全身不适.咽喉部有弥漫性红肿.扁桃体实质呈充血.水肿.发炎.可伴发淋巴结肿大.扁桃体有脓性分泌物.症状在清晨起床前最明显.如果的药物效果不理想的话.建议可以手术治疗的.平时注意饮食清淡,多吃水果蔬菜。
Q3 每天清晨第一次尿完之后就一直感觉到尿频。。去尿就一点点。。到中午就回好了。但是尿尿的时候感觉到尿 急。。憋不住的那种。这是怎么回事?
A3 (lora) 您好,考虑是前列腺炎,前列腺炎多表 现为排尿不适,尿频、排尿时尿道灼热、疼痛并伴随排尿困难,大便时尿道口有白色分泌物,甚至射精痛,阴茎 痛,性欲减退,性交不适,便秘或排便痛,和他性勃起和射精时疼痛加重,建议最好去医院详细检查一下,明确 确诊后再对症治疗,祝您健康
A3 (ptuning) 您好,这种情况主要考虑是泌尿系感染、前列腺炎、前列腺增生、前列腺炎等,建议到医院泌尿科做相关检查,根据检查结果采取相应的治疗。平时注意多喝水,不要吃辛辣食物。
Q4 我有蚕豆病溶血的,现在我有一些症状会表现出出的的.您好蚕豆病溶血有什么症状?
A4 (lora) 你好,蚕豆病是溶血性贫血的简称,是由溶血性贫血、溶血和蚕豆病等疾病组成的一组疾病,蚕豆病的症状有: 发热、腹痛、腹泻、恶心、呕吐、头痛、恶心、干呕、发热、发热、呕吐、腹泻、恶心、干呕等,此外,蚕豆病 患者在救治期间,患者的饮食状况和护理也是很重要的,患者一定要留意歇息,可以适当活动,以免引发不必要 的伤害,期望上述的答案可以帮助到你,谢谢
A4 (ptuning) 蚕豆病溶血,是体内抗溶血抗体的自动免疫反应,在蚕豆病溶血患者体内可再次出现溶血反应,导致红细胞破坏,从而再次出现贫血和出血等症状,严重的可再次出现休克和心力衰竭,患者应当立即就诊,必要时采用抗溶血药物,必要时可行红细胞再生计数,血液净化,血液抗凝等救治
表5 两种微调方法的比较:lora 和 ptuningv2。
Top-p = 0.6 Top-p = 0.7 Top-p = 0.8
T = 0.90 孩子发烧的情况可能是感冒,细菌感染,病毒感染,气候变化等原因引起的可以给孩子吃点温白开水,多喝点温水,可以吃点抗病毒口服液,四季抗病毒口服液,阿奇霉素分散片等,如果体温超过38.5°C,可以吃布洛芬退热,要是体温低于38.5°C的话,可以吃退热药如布洛芬退热,多喝水,吃点温热的食物,忌辛辣刺激食物,注意休息,注意卫生,祝孩子早日康复 (F) 你好,你的情况是急性扁桃体炎,建议应用消炎药物治疗,如阿莫西林等,同时注意多喝水,饮食清淡,避免辛辣刺激食物另外可以应用退热药物如布洛芬等,同时可以应用清热解毒的中药治疗,如清热解毒口服液,清开灵等,如果发烧超过38.5度,可以应用退烧药如布洛芬等,超过39度,可以使用退烧药,如布洛芬等,超过40度,需要手术治疗 (C) 孩子急性扁桃体炎是儿童最常见的传染病之一其病因可能是细菌或病毒感染多由扁桃体炎病毒或细菌感染,或细菌感染后病毒复制通常有发热,头痛,不适,咳嗽,喉咙疼痛,喉咙有脓样或粘稠的分泌物可以口服阿莫西林克拉维酸钾,多饮温水,多休息必要时输液治疗 (B)
T = 0.95 急性扁桃体炎是儿童常见疾病,由细菌感染引起,临床诊断上多表现为发烫,头痛,全身不适,咳嗽,咳嗽后咳加重,发烧后发烫,发烧后咳嗽,咳嗽后咳加重,有痰,嗓子红,喉咙痛,有咽痛,头痛,全身不适,发烧,咳嗽,咳嗽后咳加重,有痰,嗓子红,喉咙痛,有咽痛,发烧,发烧后发烫,发烧后咳嗽,咳嗽后咳加重,有痰,嗓子红,喉咙痛,有咽痛,发烧,发烧后发烫,发烧后咳嗽,咳嗽后咳嗽加重,有痰,嗓子红,喉咙痛,有咽痛,发烧,发烧后发烫,发烧后咳嗽,咳嗽后咳嗽加重,有痰,嗓子红,喉咙痛,有咽痛,发烧,发烧后发烫,发烧后咳嗽,咳嗽后咳嗽加重 (F) 急性扁桃体炎是小儿最常见的传染病之一,儿童及青少年的多发期,常伴发其他传染病,也可单发,由细菌或病毒感染引来,以发热及咽痛为主要症状,可伴发全身不适,咳嗽,头痛,乏力等治疗建议:1、病因治疗:根据病因不同,选择不同的治疗方案,如急性扁桃腺感染需给予抗生素治疗2、对症治疗:发热及咽痛者,可给与退热药如布洛芬等3、局部治疗:急性扁桃腺感染可给与局部治疗,如局部清洗,涂药等4、全身治疗:如急性扁桃腺感染严重,可用抗生素治疗,如阿莫西林克拉维酸钾,如青霉素类,红霉素等5、护理:适当休息,多饮水,避免刺激性饮食如扁桃体局部疼痛明显,可给与局部冷敷,如咽痛严重,可给与局部麻醉药,如利咽灵,速迪平等 (A) 你好,孩子发烧的原因有许多,比如肺炎、细菌或病毒感染,孩子由于免疫系统尚未完全发育,所以容易再次发生感冒,除了一些特殊疾病,比如急性肾炎、急性肺炎、急性支气管炎等,都有可能引发孩子发烧所以,最好到正规大医院儿科进行详细检查,诊断明确后,再实施治疗,以免延误病情注意给孩子防寒保暖,多让孩子喝水 (A)
T = 0.99 你好,根据你的叙述,考虑是扁桃体炎,可以吃点阿莫西林,小儿氨酚黄那敏颗粒,多喝点水,注意卫生,慢慢会好的指导意见:建议你平时注意宝宝卫生,勤换内衣,多喝水,注意体温变化,必要时输液治疗 (A) 您好,您孩子的情况是急性扁桃体炎,急性扁桃体炎是儿童急性感染性疾病中最常见的病原体感染,主要是细菌感染如果症状不缓解,应尽早去医院就诊一般抗生素治疗1周左右,如病情不缓解,应改用抗病毒药物如孩子有高热,可先用退热药如果高热持续,可加用退热药此外,儿童扁桃体炎的确诊需要检查血液,检查孩子是否感染了病毒,细菌等病原体孩子高热时,家长应给孩子采取降温措施,避免孩子高热引发其他并发症 (B) 您好,急性扁桃体炎,一般建议先对症治疗,然后根据情况决定抗炎药物治疗,如果发烧超过38度,则可以使用退烧药,发烧后可以考虑用冰袋冷敷,防止发烧再次上升,注意多喝白开水,必要时可以喝一些抗病毒的口服液如果炎症不消除,就需要输液治疗,药物建议看医生祝你健康 (C)
表6 不同超参数设置对生成结果的影响,其中T指温度。 Temperature和top-p用于控制生成文本的多样性和流畅性。 我们要求医生给出评分(ABCF,从好到坏)
Q2 & Qgeneral:中国的首都是哪座城市
iter .5K A2: 您好,扁桃体反复发炎的情况建议可以去医院行扁桃体切除手术,一般术后一周左右就可以恢复,术后可以口服抗生素一周左右,也可以去医院行口服抗生素一周的复查,如果恢复良好,可以慢慢减量口服抗生素,也可以行口服抗生素一个月左右的复查,如果恢复良好,可以逐渐停药。 Ageneral: 中国的首都是北京。
iter 5K A2: 你好,根据你的描述,宝宝这是急性炎症引起的症状,需要积极的进行治疗的,可以口服消炎药物和外用消炎的药物来进行治疗,平时需要多喝水,多吃蔬菜水果,加强营养,注意保暖,避免寒冷,必要时可以服用抗生素来进行治疗。,对于宝宝发烧的问题,建议家长朋友们可以及时对症治疗,不要让宝宝长时间发烧,否则的话会给宝宝带来不必要的伤害,必要的时候是需要及时就诊,希望家长们可以根据宝宝的情况选择对症治疗,这样有利于宝宝康复。 Ageneral: 在北京、上海、南京、深圳、成都、重庆、广州、深圳、厦门、杭州、成都、青岛、济南、8、8、8、8、8、8、8、8、8、8、8、8、8、8、8
iter 10K A2:病情分析:根据你描述的症状,考虑是急性扁桃体炎引起的发热,建议积极消炎治疗,多喝水,多休息,注意个人卫生,饮食清淡,避免辛辣刺激食物,多喝水,注意保暖,避免生冷油腻的食物,祝早日康复。指导意见:考虑是急性扁桃体引起的发热,建议尽早就医,在医生指导下治疗,平时注意饮食,不要吃辛辣刺激性食物,多喝水,多吃蔬菜水果,多喝水,避免劳累,避免感冒,多吃高蛋白,高热量的食物,补充能量,增强抵抗力,避免传染,祝你早日康复,身体健康。 Ageneral: 中国的首都是北京市。
iter 20K A2: 你好,根据你叙述的情况,你的情况是扁桃体炎引起的,你的情况是急性的,可以应用一些消炎药的,另外也可以应用一些清热解毒的药物治疗,注意保持好个人的卫生,多饮水,多吃水果和蔬菜,祝早日康复 Ageneral: 中国的首都是北京市,北京市的简称是北京市,简称北京,是中国的首都。
iter 30K A2: 你好,根据你的症状,考虑是扁桃体炎。扁桃体炎是细菌感染引起的常见疾病,是细菌感染引起的,主要是用抗生素治疗的,效果比较理想的,可以服用阿莫西林胶囊、利咽颗粒剂、咽红冲剂等治疗,同时配合扁桃体抽液、扁桃体内脓肿、淋巴结肿大等治疗。 Ageneral: 中国的首都是北京市。
iter 40K A2: 你好,根据你描述的情况可能是患有扁桃体炎的。扁桃体炎是细菌感染引起的,可以服用阿莫西林胶囊、阿奇霉素、红霉素等药物进行治疗。 Ageneral: 你好,北京是首都。
iter 50K A2:治疗。 Ageneral: 。。、
表7 LoRA,使用不同的训练迭代次数生成响应。

5成本

使用网络规模的数据从头开始训练大语言模型可能是一项成本高昂的工作,但微调可能是一种更经济的方法。 DoctorGLM 的训练过程每个 GPU 每小时可处理大约 80,000 个单一问题和答案对。 假设需要 3 个 epoch,并且 A100 GPU 的云计算服务器每小时约为 5 美元,则所需的总训练时间为 3.75 小时,这意味着在 100,000 次 QA 上微调 DoctorGLM 的成本约为 18.75 美元对。

另一方面,DoctorGLM 的推理过程仅需要约 13 GB 的 GPU 内存,并且可以在 RTX 3090 等消费级 GPU 上执行。 这导致总成本(推理 PC)约为 1500 美元。

值得注意的是,这些成本可能会根据 GPU 的当前价格和您所在的位置而有所不同,但对于许多研究机构和医院来说仍然相对可以承受。

6 技术限制

这项工作还处于非常早期的阶段,并且包含许多错误,使其不适合任何商业或临床用途。 我们发表工作的原因之一是邀请更广泛的社区帮助改进这种以医疗保健为中心的语言模型,目的是使其对更多受众来说更容易获得、负担得起和方便。 以下是我们在这个项目中遇到的一些关键技术问题:

  1. 1.

    DoctorGLM 在后勤训练期间经历了能力损失,并且偶尔会重演(参见表2 A4(DoctorGLM))。 我们怀疑,与人类反馈强化学习(RLHF)相比,微调通常会产生更高的对齐成本。

  2. 2.

    生成响应大约需要 15 到 50 秒,具体取决于词符长度,这比通过 Web API 与 ChatGPT 交互要慢得多。 这种延迟部分是由于聊天机器人的打字指示器造成的。

  3. 3.

    我们目前在量化这个模型方面面临困难。 虽然 ChatGLM 在 INT-4(使用大约 6G)上运行得令人满意,但 DoctorGLM 训练有素的 LoRA 似乎存在一些问题。 因此,我们目前无法将我们的模型部署在更实惠的 GPU 上,例如 RTX 3060 和 RTX 2080。

  4. 4.

    我们注意到模型的性能随着训练时间的延长而下降,但我们目前缺乏确定何时停止的策略。 看来交叉熵在微调大语言模型时是一个过于严格的约束。

参考

  • [1] Emily Alsentzer, John R Murphy, Willie Boag, Wei-Hung Weng, Di Jin, Tristan Naumann, and Matthew McDermott. Publicly available clinical bert embeddings. arXiv preprint arXiv:1904.03323, 2019.
  • [2] Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. Advances in neural information processing systems, 33:1877–1901, 2020.
  • [3] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.
  • [4] Zhengxiao Du, Yujie Qian, Xiao Liu, Ming Ding, Jiezhong Qiu, Zhilin Yang, and Jie Tang. Glm: General language model pretraining with autoregressive blank infilling. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 320–335, 2022.
  • [5] Yu Gu, Robert Tinn, Hao Cheng, Michael Lucas, Naoto Usuyama, Xiaodong Liu, Tristan Naumann, Jianfeng Gao, and Hoifung Poon. Domain-specific language model pretraining for biomedical natural language processing. ACM Transactions on Computing for Healthcare (HEALTH), 3(1):1–23, 2021.
  • [6] Tiffany H Kung, Morgan Cheatham, Arielle Medinilla, ChatGPT, Czarina Sillos, Lorie De Leon, Camille Elepano, Marie Madriaga, Rimel Aggabao, Giezel Diaz-Candido, et al. Performance of chatgpt on usmle: Potential for ai-assisted medical education using large language models. medRxiv, pages 2022–12, 2022.
  • [7] Jinhyuk Lee, Wonjin Yoon, Sungdong Kim, Donghyeon Kim, Sunkyu Kim, Chan Ho So, and Jaewoo Kang. Biobert: a pre-trained biomedical language representation model for biomedical text mining. Bioinformatics, 36(4):1234–1240, 2020.
  • [8] Xiao Liu, Kaixuan Ji, Yicheng Fu, Zhengxiao Du, Zhilin Yang, and Jie Tang. P-tuning v2: Prompt tuning can be comparable to fine-tuning universally across scales and tasks. arXiv preprint arXiv:2110.07602, 2021.
  • [9] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. The Journal of Machine Learning Research, 21(1):5485–5551, 2020.
  • [10] Karan Singhal, Shekoofeh Azizi, Tao Tu, S Sara Mahdavi, Jason Wei, Hyung Won Chung, Nathan Scales, Ajay Tanwani, Heather Cole-Lewis, Stephen Pfohl, et al. Large language models encode clinical knowledge. arXiv preprint arXiv:2212.13138, 2022.
  • [11] Jörg Tiedemann. The Tatoeba Translation Challenge – Realistic data sets for low resource and multilingual MT. In Proceedings of the Fifth Conference on Machine Translation, pages 1174–1182, Online, Nov. 2020. Association for Computational Linguistics.
  • [12] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in neural information processing systems, pages 5998–6008, 2017.
  • [13] Sheng Wang, Zihao Zhao, Xi Ouyang, Qian Wang, and Dinggang Shen. Chatcad: Interactive computer-aided diagnosis on medical image using large language models. arXiv preprint arXiv:2302.07257, 2023.
  • [14] Li Yunxiang, Li Zihan, Zhang Kai, Dan Ruilong, and Zhang You. Chatdoctor: A medical chat model fine-tuned on llama model using medical domain knowledge. arXiv preprint arXiv:2303.14070, 2023.
  • [15] Aohan Zeng, Xiao Liu, Zhengxiao Du, Zihan Wang, Hanyu Lai, Ming Ding, Zhuoyi Yang, Yifan Xu, Wendi Zheng, Xiao Xia, Weng Lam Tam, Zixuan Ma, Yufei Xue, Jidong Zhai, Wenguang Chen, Zhiyuan Liu, Peng Zhang, Yuxiao Dong, and Jie Tang. GLM-130b: An open bilingual pre-trained model. In The Eleventh International Conference on Learning Representations (ICLR), 2023.