BianQue:通过ChatGPT打磨的多轮对话,平衡问题提出和建议能力

智能科技扫地僧 2024-07-04 02:49:34

链接:https://arxiv.org/abs/2310.15896

原标题:BianQue: Balancing the Questioning and Suggestion Ability of Health LLMs with Multi-turn Health Conversations Polished by ChatGPT

日期:Submitted on 24 Oct 2023

摘要

大型语言模型(LLMs)在单轮对话中提供一般性和广泛性的健康建议方面表现良好,例如ChatGPT、ChatGLM、ChatDoctor、DoctorGLM等系统。然而,用户在单轮对话中提供的信息有限,导致生成的建议在个性化和针对性方面不足,需要用户独立选择有用的部分。这主要是由于缺少进行多轮提问的能力。在现实世界的医疗咨询中,医生通常使用一系列迭代的询问来全面理解患者的状况,从而使他们能够随后提供有效和个性化的建议,这可以定义为LLMs的提问链(CoQ)。为了提高LLMs的CoQ,我们提出了BianQue,这是一个基于ChatGLM的LLM,使用由ChatGPT打磨的多轮提问和健康建议组成的自建健康对话数据集BianQueCorpus进行微调。实验结果表明,所提出的BianQue能够同时平衡提问能力和健康建议能力,这将有助于推动LLMs在主动健康领域的研究和应用。1

1 引言

近期,大型语言模型(LLMs),例如ChatGPT(OpenAI,2022)、LLaMA(Touvron等,2023)、ChatGLM(Zeng等,2023)已被广泛应用于各个领域。通过基于人类反馈的强化学习(RLHF)(Ouyang等,2022)的高质量指令微调和强化学习,LLMs已经具备了惊人的语言理解、生成和知识推理能力。总的来说,用户对LLMs的优秀建议能力感到惊叹。

然而,LLMs在“提问”方面存在不足,这在医疗、心理、教育等应用场景中是主动理解用户需求的重要方式。当我们使用这些LLMs(ChatGPT2,ChatGLM3,SparkDesk4)进行医疗对话时,它们还未能具备进行多轮提问的能力,如附录B所示。上述LLMs通常基于用户提供的单轮指令提供合理和普遍的建议。然而,在现实世界中,医生通常需要与患者进行多轮提问,以便提供针对性的建议,如图1所示。在用户咨询过程中,医生在前9轮对话中提出了不同的问题,以了解婴儿的具体情况。上述多轮提问过程可以定义为提问链(CoQ)。我们发现当前的LLMs缺乏CoQ能力,因为在指令微调和RLHF阶段缺乏多轮提问的训练数据。当研究人员构建指令和答案时,一方面忽视了多轮对话历史,另一方面,答案通常是建议而非问题。

图1:提问链(CoQ)的示例。红色字体的句子展示了医生的CoQ:一系列关于咳嗽时间、咳嗽声音、痰液状况、发热状况、检查、药物和治疗的问题。

目前,健康领域LLMs的研究主要集中于评估现有模型的性能、构建合适的数据库以及微调指令。Singhal等人(2022)提出了一个医疗问答基准MultiMedQA,用于评估LLMs的临床知识问答能力。Li等人(2023)构建了一个真实的医患对话数据集HealthCareMagic-100k,并使用它来微调基于LLaMA的ChatDoctor。类似的健康LLMs相继发布,例如BenTsao(本草)(Wang等人,2023b)、ChatGLM-6B-Med(Wang等人,2023b)、DoctorGLM(Xiong等人,2023)、MedAlpaca(Han等人,2023)、ClinicalGPT(Wang等人,2023a)等。这些模型基本上基于“用户可以清楚地描述他们的问题或情况”的假设。因此,在模型构建阶段,并没有考虑到模型的提问能力。尽管这些模型在医疗问答领域取得了良好的性能,但它们并没有向用户提问的能力。

为了增强LLMs的提问能力,我们构建了一个名为BianQueCorpus的多轮健康对话数据集,其中的目标由平衡比例的问题(46.2%)和建议(53.8%)组成,如图2所示。同时,我们提出了BianQue,这是一个专门设计用于平衡提问和建议能力的健康LLM。在多轮健康对话数据集上的结果显示,BianQue在执行提问链(CoQ)能力方面优于现有模型和ChatGPT。

图2:BianQueCorpus答案中问题和建议的比例。

2 方法2.1 BianQueCorpus:平衡提问和建议

在中国健康对话AI领域,已经存在一些多轮对话数据集,例如MedDialog-CN(He等,2020)、IMCS-V2(Chen等,2022)、CHIPMDCFNPC(Zhang等,2022)、MedDG(Zhang等,2022)。然而,这些对话通常是从互联网咨询平台爬取的,例如好大夫5。这些数据集常常混合了大量噪声,如内容缺失、图片缺失、奖励信息、隐私内容、不完整的JSON内容、网站链接、网站提示、语音录音、系统自动回复的文本等。我们首先通过数据外包服务收集真实的-world多轮健康对话。然后,我们进行了两阶段数据优化过程:(i)我们基于正则化表达式构建了一个数据自动清洗过程,以提高现有对话数据集的质量。(ii)我们设计了一个打磨提示(见图4),并使用ChatGPT来打磨多轮对话中医生的 suggestion,因为医生通常通过互联网平台回应非常简短,缺乏详细的分析和建议。BianQueCorpus的整个构建过程如图3所示。我们最终获得了一个包含2,437,190个样本的多轮健康对话数据集,其中问题占医生答案的46.2%。

2.2 BianQue模型

我们选择了ChatGLM-6B(Du等,2022;Zeng等,2023)作为构建BianQue的基础LLM架构,因为它开源且具有出色的中文理解和生成性能。模型的输入定义为:

其中

,N是对话轮数。

3 实验3.1 基线和基准

我们选择了ChatGLM-6B(Zeng等,2023)、ChatGPT(gpt-3.5-turbo)(OpenAI,2022)和DoctorGLM(Xiong等,2023)作为基线模型。由于MedDialog-CN、IMCS-V2、CHIPMDCFNPC和MedDG都是既有建议又有问题的多轮对话数据集,我们分别在它们的测试集上进行了比较实验。

3.2 实现细节

BianQue在提出的BianQueCorpus上进行微调,使用WarmupDecayLR学习率调度器,其中warmup_steps = 1000和warmup_max_lr = 5e − 5。在训练阶段,最大输入长度设置为1,536,而最大目标长度设置为512。应用了批量大小为80和全局训练步骤为25,000。在推理阶段应用了Top-p采样,其中p = 0.75和温度τ = 0.95。

3.3 结果和分析

遵循ClinicalGPT(Wang等,2023a)的方法,我们使用BLEU-1/2/3/4(Papineni等,2002)和ROUGE-1/2/L(Lin,2004)这些指标来评估BianQue和其他模型。此外,我们定义了一个新的指标来衡量模型的主动提问能力(PQA):

图3:BianQueCorpus数据集和BianQue模型的构建过程。

图4:用于基于真实世界多轮对话上下文打磨医生建议的提示。

其中

是目标和预测都是问题的样本数量,

是目标为问题而预测为建议的样本数量,

是目标和预测都是建议的样本数量。

如表1所示,BianQue在MedDialog-CN、IMCS-V2、CHIP-MDCFNPC和MedDG上的表现相当不错,在所有指标上都取得了比其他模型更好的分数。

4 结论与未来工作

在本研究中,我们介绍了BianQue,这是一个具有平衡提问和建议能力的健康LLM,它是基于提出的大规模多轮健康对话数据集BianQueCorpus进行微调的,其中目标由平衡比例的问题(46.2%)和建议(53.8%)组成。实证结果突出了其卓越的多轮提问能力。未来的工作需要进一步关注提问和建议之间的转换机制。

限制

必须强调的是,在使用生成式语言模型进行健康对话时存在潜在风险。现实世界中的医生在诊断疾病和提供用药指导方面是非常严谨的。然而,当前最先进的LLMs(例如ChatGPT)仍然不能保证其生成文本的准确性。因此,有必要对LLMs生成的健康建议建立审查和纠错机制。同时,当LLMs学习主动提问的能力时,他们的使用风险也随之增加,因为模型可能会询问用户一些涉及隐私的问题。例如,当用户向AI咨询与感冒相关的问题时,AI可能会主动询问他们的年龄、性别等隐私信息。在LLMs的研究和应用中需要考虑进一步的隐私保护机制。总的来说,本文提出的方法仍处于早期研究阶段,提问和建议机制尚不够明确。所提出的模型仅限于学术研究,不能用于现实世界的部署。

伦理声明

Bianque模型致力于提高LLMs的主动提问能力,而不是提供非常专业的医疗诊断或建议。本研究中使用多轮对话数据集主要是基于真实世界的医患对话,已经经过了严格的数据清洗过程,以消除私人信息和脏文本内容。为此,我们构建了50个正则表达式,并使用re包进行过滤。我们比较了数据清洗前后的数据质量,优秀率从82%提高到了93%。由于模型微调阶段缺乏人类反馈,当前版本的模型在提问时可能涉及用户隐私,这是特别需要注意的。另一方面,模型生成的健康建议尚未经过严格的审查和校对,因此不能用作现实世界医生的替代品。我们强调这是一个以早期研究为导向的模型,而不是一个成熟且可直接应用的模型。因此,未来的工作需要结合RLHF来提高模型生成问题或建议的安全水平。此外,当Bianque应用于下游场景时,有必要提前告知用户他们看到的答案是健康AI生成的,仅供参考。

表1:评价结果

致谢

本研究得到了广州市科技项目(202103010002)、广东省自然科学基金(2022A1515011588)、国家重点研发计划(2022YFB4500600)、广东省科技项目(2022B0101010003)、国家自然科学基金(批准号U1801262)和广东省人数字孪生重点实验室(2022B1212010004)的支持。

A 可复现性清单

• 模型和数据:BianQue模型和BianQueCorpus将在论文决定发布后公开。

• 系统硬件:BianQue在具有2个名为"Intel(R) Xeon(R) Platinum 8358P CPU @ 2.60GHz"的CPU、8个NVIDIA A800-SXM4-80GB GPU和1,024GB内存的Ubuntu 20.04.6 LTS服务器上训练。

• 驱动程序版本:Nvidia驱动程序的版本为"525.105.17"。CUDA=11.6,Cudnn=8.4.0.27。

• 包版本:推荐使用python=3.8.16, torch7=1.13.1+cu116, transformers8=4.28.0, deepspeed9=0.9.3, datasets=2.11.0和jieba=0.42.1。其他依赖包和版本将在我们的开源仓库中发布。

• 模型参数:BianQue有6.2B参数,28层,max_sequence_length为2,048。在推理阶段,模型至少需要14GB的GPU内存。

• 训练时间:BianQue在8个NVIDIA A800-SXM4-80GB GPU上以全局步骤25,000和torch_dtype "float16"进行训练。训练时间大约为66小时。

B LLMs的样本对话

以下是ChatGPT(图5)、ChatGLM(图6)和SparkDesk(图7)在健康对话测试中的示例。这些都是常见的中文LLMs,但它们都没有CoQ能力。上述LLMs通常根据用户提供的单轮指令提供合理和普遍的建议。然而,在现实世界中,医生通常需要与患者进行多轮提问,以便提供针对性的建议。

C BianQue的样本对话

图8展示了BianQue模型主动提问的一个示例。

图5:用户向ChatGPT倾诉的一个案例。

图6:用户向ChatGLM倾诉的一个案例。

图7:用户向SparkDesk倾诉的一个案例。

图8:用户向BianQue倾诉的一个案例。

0 阅读:0

智能科技扫地僧

简介:感谢大家的关注