MedEdit: Model Editing for Medical Question Answering with External Knowledge Bases

题目

MedEdit:使用外部知识库进行医学问答的模型编辑

图片名称

论文地址:https://arxiv.org/abs/2309.16035

摘要

    大语言模型(LLM)虽然在通用领域很强大,但在特定领域的任务(例如医学问答QA)上通常表现不佳。此外,它们往往充当“黑匣子”,使得改变它们的行为变得具有挑战性。为了解决这个问题,我们深入研究了利用情境学习的模型编辑,旨在提高LLM的反应,而无需进行微调或再培训。具体来说,我们提出了一种全面的检索策略,从外部知识库中提取医学事实,然后将它们合并到LLM的查询提示中。我们使用 MedQA-SMILE 数据集重点关注医学 QA,评估不同检索模型的影响以及向LLM提供的事实数量。值得注意的是,我们编辑的 Vicuna 模型的准确度从 44.46% 提高到 48.54%。这项工作强调了模型编辑在提高LLM能力方面的潜力,提供了一种实用的方法来缓解黑盒LLM的挑战。

    尽管大语言模型对不同的语料库进行了广泛的预训练,但它们的医学知识可能存在差距。为了评估 LLM 中编码的医学信息的准确性,我们进行了初步实验,如图 1 所示。在该实验中,我们选择 Vicuna,一种经过微调的 LLaMA 语言模型作为我们的候选模型。我们利用了重建的疾病数据库,其中包含44,561 个三元组作为我们的医学知识库。我们随机选择了 1000 个事实,并提示 LLM 提供医学三元组的尾部实体,使用头部实体和关系作为问题。如果LLM的答案包含正确的尾部实体,我们认为它是医学事实的准确编码。相反,如果答案不包含预期的尾部实体,则表明未能对相关医疗信息进行编码。为了进行比较,我们还评估了LLM在 CounterFact 数据集上的表现,该数据集由通用领域事实知识组成。结果显示,Vicuna 在回答医学知识问题方面表现相对较差,但在通用领域知识领域表现出更好的表现。这种差异凸显了LLM在理解医学知识方面面临的挑战,并强调了在该领域进一步进行模型编辑的必要性。

图片名称

    在我们的研究中,我们为医学语言模型编辑做出了有意义的贡献。 (1)我们利用情境学习作为创新机制来进行模型修改。通过直接将相关事实纳入模型的上下文中,而不是依赖于复杂的微调和资源密集型的再训练过程,我们在医疗 QA 任务的性能方面取得了显着的进步。 (2) 我们引入了专门为医学 QA 设计的定制事实提取策略。通过采用两步搜索,我们的方法确保从大型外部知识库中检索最关键且上下文相关的信息。

方法

    我们的目标是在这项工作中编辑医学问答(Medical QA)任务。形式上,对于一个医学问题 q q q 和四个候选答案
a 1 、 a 2 、 a 3 、 a 4 a_1、 a_2、a_3、a_4 a1a2a3a4,语言模型 g θ ( . ) g_θ(.) gθ(.)预计在给定问题 q q q 和问题提示模板 t q t_q tq 的情况下从 4 个候选答案中选出正确答案 a ∗ a^* a 。理想情况下,LLM 应提供正确的答案作为输出: g θ ( t q , q ) = a ∗ g_θ(t_q,q)=a^* gθ(tq,q)=a 。示例问题模板如下所示:

图片名称
    医学模型编辑的目的是插入或修改语言模型中缺失或错误编码的医学知识。在本文中,我们利用上下文学习进行模型编辑。具体来说,我们建议直接将需要编辑的事实纳入问题提示中。 这确保了语言模型在回答问题时了解这些事实。成功的模型编辑可以有效地改变预训练语言模型的输出,从而提高其在医学问答数据集上的性能。

    形式上,我们使用 g θ ( ⋅ ) g_θ(·) gθ() 来表示参数为 θ 的原始预训练语言模型。待编辑的医学事实表示为 f f f,由三元组 ( h , r , t ) (h,r,t) (hrt)组成,其中 h h h表示头实体, r r r表示关系, t t t表示尾实体。在医学背景下,事实可能是医学声明,例如(动脉粥样硬化是胆固醇栓塞的危险因素)。我们用 g θ ′ ( ⋅ ) g_θ′(·) gθ()表示通过上下文学习获得的编辑模型。我们可以通过将医学事实 f 纳入问题模板来获得 g θ ′ ( ⋅ ) g_θ′(·) gθ()。我们将编辑问题模板定义为 t e t_e te,可以这样设计:

图片名称

这两个模板之间的唯一区别在于包含额外的医学事实 f 1 , f 2 , . . . , f n {f_1, f_2, ..., f_n} f1,f2,...,fn

    为了成功地进行上下文模型编辑,我们需要从外部知识库中检索最相关的医学事实。我们正式定义我们的目标如下:给定一个问题 q q q 和四个候选答案 a 1 、 a 2 、 a 3 、 a 4 a_1、 a_2、a_3、a_4 a1a2a3a4,我们的主要目标是辨别和提取与问题和候选答案都具有最高相关性的一组事实来自外部知识库 f f f。随后,我们的目标是利用这些提取的事实作为进行上下文学习编辑的提示。

    为了实现这一目标,我们引入了提取相关事实的综合策略。在最初的准备阶段,我们将整个外部知识库转化为嵌入。具体来说,对于知识库 f f f 中的每个事实 f i f_i fi,我们采用预先训练的语言模型 g z g_z gz 将其转换为表示为 z i f z_i^f zif 的嵌入。此过程会创建一个嵌入式知识库,表示为 z f z_f zf 。在我们的研究中,我们选择疾病数据库作为我们的知识库 f f f,并采用各种模型,包括 SapBert 和 Contriver作为嵌入模型 g z g_z gz

    接下来,在第一个提取步骤中,我们采用相同的嵌入技术将每个候选答案 a i a_i ai 表示为嵌入 z i a z_i^a zia 。对于每个候选答案,我们从外部知识库 f f f 中提取 K K K 个最密切相关的事实,建立一组初始事实,表示为作为 f I f_I fI。在这项工作中,语义相关性通过嵌入相似度 s s s 来评估,其定义如下: s ( z a , z f ) = ( z a ) T z f s(z^a , z^f ) = (z^a ) ^T z^f s(za,zf)=(za)Tzf(1) 。对于 z a z^a za ,可以选择前 K K K 个最相关的事实集: f I = T o p − K f ∈ f S ( g z ( z f ) , z a ) f_I = Top-K_{f∈f} S(g_z(z^f ), z^a ) fI=TopKffS(gz(zf),za) (2)。

图片名称

图 2:我们提出的 MedEdit 的框架设计:(0) 准备:使用嵌入模型将事实三元组转换为嵌入。(1) 广泛搜索:搜索与回答候选人最相关的事实,形成初始事实集。 (2)精炼搜索:从初始事实集中选择与问题相关的事实,形成精炼事实集。 (3) 将检索到的事实应用于上下文编辑。

    其中 T o p − K Top-K TopK 函数返回相似度值最高的 K K K 个事实。初始集合包括与所有候选答案相关的医疗信息,这些信息可以集成到编辑提示中以帮助语言模型进行推理过程。然而,检索到的事实集FI可能包括与问题描述 q q q无关的冗余信息。包含不相关信息可能会混淆语言模型,导致回答性能下降 。

    因此,我们需要删除这些冗余事实,这导致我们在提取的第二步中进行事实细化。在这里,我们首先使用相同的模型 g z g_z gz 将与四个候选连接的问题 q q q 转换为嵌入 z q z^q zq 。随后,我们从初始事实集 f I f_I fI 中选择与 z q z^q zq 具有较高相似度的 T o p − k Top-k Topk 事实,形成精炼事实集 f R f_R fR,其定义如下: f R = T o p − K f ∈ f I S ( g z ( z f ) , z q ) f_R = Top-K_{f∈f_I} S(g_z(z^f ), z^q ) fR=TopKffIS(gz(zf),zq) 。精炼事实集 f R f_R fR包含与问题描述和候选答案相关的事实。这些背景事实将充当锚点,为模型提供重要的背景信息,旨在提高其决策能力。我们的假设是,这些上下文事实将帮助模型更好地理解当前的具体医学问题并将其响应与当前的具体医学问题保持一致,最终提高准确性。

实验

    为了探索模型编辑在医学问答中的功效,我们进行了由三个关键问题驱动的实验: RQ1:模型编辑可以提高性能吗? RQ2:哪种事实检索模型最有效? RQ3:编辑事实的数量会影响性能吗?

    在我们的实验设置中,我们转向了 MedQA-USMILE 数据集,这是一个专门为严格的开放域医学问答而定制的强大工具。该数据集根据美国医学执照考试 (USMLE) 精确整理,涵盖三种语言,英语、简体中文和繁体中文。详细的分类显示了 12,723 个英语问题、34,251 个简体中文问题和 14,123 个繁体中文问题。正如 Jin所强调的那样,数据集的设计和复杂性对即使是最先进的 OpenQA 系统也提出了巨大的挑战。利用该数据集的当代研究暴露了某些性能瓶颈,英语问题的最高记录准确率为 36.7%,简体中文问题的准确率为 70.1%,繁体中文的准确率为 42.0%。 MedQA-USMILE 数据集的多方面性质不仅使其成为医学 QA 模型评估的严酷考验,而且还强调了其作为多语言医学模型评估关键基准的潜力。

    答案评估为了评估模型的性能,我们采用了字符串匹配方法来衡量模型生成的答案与基本事实之间的一致性。具体来说,我们检查了模型提供的响应中真实答案的存在程度。在这种情况下,如果在模型的输出中可以识别整个真实情况,则答案被认为是正确的。以这种方式利用字符串匹配提供了一种简单而有效的方法来确定模型响应的精度,特别是当与预期答案的直接对齐至关重要时。

    如表 1 所示,我们编辑的 Vicuna 模型在 MedQA 的测试分割上取得了最佳的准确率表现USMLE 数据集。我们还得到以下观察结果:(1)我们经过后期编辑的 Vicuna 模型的准确率显着提高,达到 48.54%。这一改进不仅比基线、预编辑的 Vicuna 快了 4% 以上,而且还超过了 Bio-BERTlarge、SapBERT 和 QA-GNN 等模型的性能。(2) 我们的方法比基线更有效。后期编辑的 Vicuna 模型的增强是在不诉诸资源密集型方法(例如微调BioBERT)或从头开始训练全新模型(SapBERT 和 QA-GNN)的开销的情况下实现的。这强调了模型编辑作为一种策略的有效性,表明通过策略修改,我们可以实现有竞争力的性能提升,而无需通常相关的计算成本。

图片名称
图片名称

消融

    在本小节中,我们比较不同嵌入模型在事实检索任务中的有效性。我们使用 Contriever 和 SapBert 作为图 3 中的嵌入模型 g z g_z gz 来展示 QA 准确性。所获得的嵌入用于检索相关事实,正如我们讨论的那样。我们可以观察到 Contriever 的表现略优于 SapBert,准确率达到 48.54%,而 SapBert 的准确率为 48.07%。

    Contriever 性能增强的一个潜在原因可能是其更全面的预训练策略。首先,Contriever利用对比学习来预训练模型,这比自对齐预训练更有效。此外,Contriever 对各种文本数据(不仅仅是医学数据)的预训练可能使其对语言语义和结构有细致入微的理解,使其更擅长在查询上下文中查明相关事实。相比之下,SapBert 主要是为专门的医疗数据集而设计的,其关注范围可能本质上更狭窄。尽管本实验的两个模型在相同的数据集上运行,但它们的基本设计原则可能会导致不同的检索能力。

    总之,结果强调了检索模型的架构和基础训练的重要性,即使在专业领域内工作也是如此。 Contriever 略高的准确性表明,更广泛的预训练方法可以在特定的检索任务中提供优势,即使在像我们的疾病数据库这样的受限数据集内也是如此。

图片名称

    在下面的实验中,我们分析了不同数量的医学事实的编辑性能。具体来说,我们首先从 4、8 和 16 中选择 k 个值,然后将相应的 top-k 事实合并到提示中。我们在表 2 中比较了编辑后的语言模型的 QA 准确性。结果表明,插入的事实数量与模型性能之间呈正相关,并且随着更多事实的加入,模型的性能显着提高。

    这种相关性可以归因于医疗数据的性质。医学是一门以其复杂的相互关联的事实、病理和治疗网络为特征的学科。通过为模型提供更丰富的事实,我们本质上为它配备了更全面的背景,从而使其在面对医学问题时能够辨别更细微的差别和相互关系。在如此复杂的领域中,每一条额外的相关信息都成为关键的锚点,有助于做出更明智的决策。

    然而,这种方法有一个实际的上限,这是由可以呈现给模型的提示大小的限制决定的。随着事实数量的增加,提示长度也会增加,这可能会超过模型允许的最大输入长度。因此,虽然趋势表明更多的事实本质上会带来更好的性能,但这种见解的实际应用受到语言模型的技术限制。

  • 25
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三月七꧁ ꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值