基本信息
这是22年底发表在arxiv,23年7月发表在nature上的一篇文章
博客创建者
武松
作者
Karan Singhal(Google Research), Nenad Tomasev(DeepMind)
标签
LLM,NLP
1. 摘要
大型语言模型在自然语言理解和生成方面表现出色,但医学和临床应用的质量标准很高。目前还没有一个统一而全面的自动评估模型在医疗知识应用上的基准数据集,为此作者提出MultiMedQA,包含了多个现有的开源数据集以及作者新提出的HealthSearchQA数据集,并针对各个数据集设计了针对性的多样的prompt,使用了包含standard few-shot、CoT、self-consistency的prompt策略。为了全面地对模型生成答案的质量进行人类对齐,提出Human Evaluation Framework。文章主要对经过instruct tuning的PaLM模型Flan-PaLM与各个其他的大模型在所提出的MultiMedQA数据集上进行对比。由于发现Flan-PaLM在生成长回答(Long-Form response)任务上,在Human Evaluation Framework下评估结果中表现差,因此提出instruction prompt tuning来使其进一步地适应长回答任务,从而提出模型Med-PaLM。文章进行了大量的对比实验和消融实验,充分验证了如下结论:Flan-PaLM在各个数据集上的强大表现、instruction tuning的可行性、prompt的可行性、不同种类prompt的效果、scaling能大幅提升模型效果、Human Evaluation Framework下Med-PaLM的强大表现、instruction prompt tuning的可行性。
2. 方法
2.1 方法架构图
2.2 方法描述
2.2.1 MultiMedQA数据集
1、数据集介绍
MultiMedQA数据集主要由医学知识问答数据集组成,大部分为多选题(multi options),来自于医学知识考试题库,有的包含**长文本(long form、free response)**的答案解释或回答,这一部分数据集在图2.2中进行了标注。由于数据集本身的长文本答案来自于查询数据库得到的,可能存在拼接等不符合人类回答通用性的特点,作者没有使用它们,而是另外找了现实世界的医生来提供标准答案。
文章中,MultiMedQA数据集不仅用于评估模型表现,也用于提供微调模型的问题。作者随机抽取了40个问题,并让现实世界的专业医生来提供标准答案,从而获得了进行instruction prompt tuning的数据。
2、prompt种类
由于PaLM等通用模型在医疗领域的表现不是很好,但端到端的全量微调对数据的需求太大,因此作者使用了parameter-efficient的方法来微调模型,表现为prompt或者prompt tuning。作者针对MultiMedQA的具体数据集设计了不同种类的prompt模板,来对模型进行提示,在消融实验中验证了prompt的有效性,不同种类的prompt策略也显示出差异。在文章中,作者使用了3种prompt策略来进行对比:
-
standard few-shot prompt
相比于zero-shot prompt通常只涉及一个描述任务的指令,没有任何额外的示例标准的少样本prompt,作者使用的是few-shot prompt,来让模型性能得到更快的提升。few-shot prompt即在prompt中加入少数几个样例,让模型遵循这些样例进行回答,部分如图2.3所示:2.3 standard few-shot prompt
在这项研究中,作者与一组合格的临床医生合作,以确定最佳的示范例子,并制作few-shot prompt。为每个数据集设计了单独的提示。
- CoT(chain of thought)
思维链prompt,在prompt中加入对于问题的思考和推理过程,让模型学习这种思考的过程。该方法旨在模拟人类在解决需要多步骤计算和推理的问题时的思维过程。CoT提示可以在足够大的语言模型中诱发推理能力,并显著提高数学问题等任务的性能。如图2.4所示,在这篇文章中思维链体现在对问题提供了额外的解释explanation,这些示例和解释也是与真实的临床医生合作产生的。
- Self-Consistency(SC)
自洽性是对CoT 的一个补充,它不仅仅生成一个思路链,而是生成多个思路链,然后取多数答案作为最终答案。研究表明,自洽性可以提高算术、常识和符号推理任务的结果。
2.2.2 Human Evaluation Framework
为了更深入地评估开放式的LLM的生成输出在医疗领域的效果,作者提出Human Evaluation Framework,让真实人类来对模型输出进行评估。作者分别为专家和非专家设计了多个问题,全方位地开展评估。专家的问题如下图所示:
非专家从以下两个方面开展评估:
2.2.3 instruction prompt tuning & Med-PaLM
- prompt tuning
尽管通过prompt技术已经能在不改变模型参数的情况下高效的提升模型性能,但改变参数带来的模型性能提升仍然是更显著的。为此Lester et al.提出的prompt tuning,相对于人工设计的prompt,我们将后者称为hard prompt,而前者称为soft prompt。prompt tuning对输入文本在embedding阶段在前面加上一段向量形式的prompt,在误差反向传播中更新这组向量,从而使其具备提示的作用。与prefix tuning不同的是,后者在网络encoder的每一层上的前面都加上一段向量,而prompt tuning只在输入的embedding层加入。
- instruction prompt tuning
作者在已经经过instruction tuning的Flan-PaLM上继续进行prompt tuning,并对prompt tuning进行了改进。由于需要对多种任务进行微调,通常的做法是对每种任务使用一个soft prompt向量加在输入的前面。但作者改进了这种做法,让不同任务共享一个soft prompt向量,并在后面接上具体任务的人工设计的prompt以及具体问题,如图2.5所示:
这种改进后的做法被称为“instruction prompt tuning”,由于软提示与硬提示的结合,instruction prompt tuning可以被认为是一种“硬-软混合提示调优”。
- Med-PaLM
为了让Flan-PaLM向医疗领域对齐,需要对其用instruction prompt tuning在一些数据上进行调优。由于做的是few-shot learning,是parameter efficient的,数据集只需要很小即可。同样使用真实的执业医师来筛选问题样本,问题是从MultiMedQA中抽样得到的,并经过这些医生筛选。如前面说到的,并不会使用数据集中本身的答案,而是由医生来提供标准答案,prompt的构建也是与医生合作的。最终获取了40条训练数据,用来对Flan-PaLM进行微调训练。微调仅更新soft prompt向量,保持模型其他部分冻结。
3. 实验
对比实验
对比实验仅在MultiMedQA中的多选问题数据集上进行,包含MedQA、MedMCQA、PubMedQA、MMLU。
消融实验
作者进行了非常详细的消融实验,但基本都是基于
- 验证insruction tuning的效果提升
- 验证模型Scaling对效果的提升
- 验证CoT prompting的效果
可以看到CoT方式并未为模型带来效果的提升,作者在文中也没有解释原因。
- 验证Self-consistency的作用
尽管单独使用CoT效果差,但在CoT基础上使用了SC之后,能够获得较明显的性能提升。但在某些数据集上仍表现由下降。
不确定性预测和输出控制
不确定性预测即对模型生成的答案测量其不确定性,如果不确定性高,则表明答案可信度较低。这个问题目前仍然处在开放探索阶段,需要有更多的研究投入其中。作者在这个问题上采用一种简单的方法,并研究了模型不确定性和准确率之间的关系。按作者所说,使用一个延迟分数deferring fraction来表示答案是否需要推迟生成,这个值越高则模型生成正确答案的自信也就越高,因此生成答案准确率就越高,如下图所示。这个延迟分数的计算文中并没有给出具体公式,只提到使用了Flan-PaLM 540B中的41个解码器的输出(即SC的多路输出)的数量。我猜测应该是,SC输出的路径数量与其中大多数相同答案的数量之比,作为模型输出不确定性的度量。但文中并没有给出具体公式。使用这个度量,并设置一个类似于置信度的阈值来拒绝低于这个阈值的答案,重新生成答案,可以获得更为准确的输出。
人类评估
作者从HealthSearchQA中随机选择100个问题,从LiveQA中随机选择20个问题,从MedicationQA中选择20个问题作为较小的Long Form问答数据集基准,进行详细的人类评估。人类评估实验主要对长对话问题进行效果对比,并只对比PaLM、Flan-PaLM和Med-PaLM三个模型。人类评估由真实的执业医师或者非专业用户完成。部分结果如下:
Med-PaLM在大部分问题上均表现出很好的结果,唯有在输出不正确内容上,效果较差,如下图所示:
但作者对这一问题并未进行解释。
5. 总结
5.1 亮点
- 提出了在医疗多选问题问答任务上进行自动化评估的数据集
- 提出了人类评估框架,对长文本问答进行评估
- 提出了instruction prompt tuning以及相应的医疗领域微调模型Med-PaLM
- 提出了一种对模型输出不确定性的简易度量方法
5.2 不足
- 在人类评估上还有一定差距,在某些问题上甚至导致了性能的下降
5.3 启发(下一步工作)
- 扩展HealthSearchQA数据集
- 改进人类评估的问题
- 研究模型不确定性度量的方法
6. 相关知识链接
@article{singhal2023large,
title={Large language models encode clinical knowledge},
author={Singhal, Karan and Azizi, Shekoofeh and Tu, Tao and Mahdavi, S Sara and Wei, Jason and Chung, Hyung Won and Scales, Nathan and Tanwani, Ajay and Cole-Lewis, Heather and Pfohl, Stephen and others},
journal={Nature},
pages={1--9},
year={2023},
publisher={Nature Publishing Group UK London}
}