首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从梯度下降到动态提示:IPO 如何利用 LLMs 改善视觉语言模型的训练?

从梯度下降到动态提示:IPO 如何利用 LLMs 改善视觉语言模型的训练?

作者头像
未来先知
发布于 2025-01-02 06:27:04
发布于 2025-01-02 06:27:04
1640
举报
文章被收录于专栏:未来先知未来先知

预训练的视觉语言模型(如CLIP)在各种下游任务上表现出色。然而,它们的性能很大程度上取决于输入文本 Prompt 的特定性,这需要巧妙的 Prompt 模板工程。当前的 Prompt 优化方法通过梯度下降学习 Prompt ,将 Prompt 视为可调整参数。 然而,这些方法往往导致在训练过程中看到的基础类过拟合,并生成对人类无法理解的 Prompt 。 本文介绍了一种简单的但可解释的 Prompt 优化器(IPO),它利用大型语言模型(LLMs)动态生成文本 Prompt 。作者提出了一个 Prompt 优化 Prompt ,不仅指导LLMs创建有效的 Prompt ,还存储过去 Prompt 及其性能指标,提供丰富的上下文信息。 此外,作者还引入了一个大型多模态模型(LMM),通过生成图像描述来根据视觉内容进行条件化,从而增强文本和视觉模态之间的交互。 这使得可以创建特定数据集的 Prompt ,提高泛化性能,同时保持人类理解能力。在11个数据集上的广泛测试表明,IPO不仅提高了基于梯度下降的 Prompt 学习方法的精度,而且极大地增强了生成的 Prompt 的可解释性。 通过利用LLMs的优势,作者的方法确保 Prompt 保持人类可理解,从而促进更好的透明度和监督。 作者的代码可在https://github.com/lmsdss/IPO。

1 Introduction

视觉语言模型,经过在包含广泛真实世界概念的图像文本对上进行训练 ,在各种下游任务上表现出显著的适应性 。这些模型通过填充预定义的 Prompt 模板(例如,“一张[CLASS]的照片”)来完成特定的类名填充文本编码器。尽管它们在新任务上的有效泛化,但 Prompt 模板的词序变化可能会影响性能 [8]。手动创建手工制作的 Prompt 已经过时,自然语言处理 [9; 10] 和计算机视觉最近的发展提出了学习一组软 Prompt 的方法,所需的 Token 数据最小。尽管在 Prompt 学习方面取得了进步,但目前的最佳状态仍受限于其缺乏可解释性和基础类上的过拟合问题,这在多样化和动态应用环境中可能具有阻碍作用。这些限制强调了在视觉语言模型中优化 Prompt 的必要性。

参考最近使用大型语言模型(LLM)作为优化工具的先进发展[14],作者的论文首次将这些能力整合到视觉语言建模中。与基于梯度下降的方法[8; 11; 13]不同,它们往往无法为生成的 Prompt 提供解释,并且容易过拟合到基础类别。基于自然语言的方法使LLM能够通过连续反馈迭代地开发和优化解决方案。这种方法在复杂任务如视觉语言模型的 Prompt 优化的解释性方面有所改进,使得人类更容易理解生成的 Prompt 。然而,目前对这些方法的研究主要集中在语言任务上,尚未探索将其与视觉语言模型的LLM结合的潜力。

针对这些挑战,本文提出了一种可解释的 Prompt 优化器(IPO)来解决视觉语言模型的生成和优化问题。首先,作者设计了一个 Prompt 优化 Prompt ,以 Prompt 语言模型生成更有效的 Prompt ,从而提高CLIP的准确性并减少基础类别的损失。作者的 Prompt 优化 Prompt 还存储了过去 Prompt 及其相应的准确性和损失,作为情境记忆,从而为语言模型生成更有效的 Prompt 提供更丰富的上下文信息。其次,为了在 Prompt 优化 Prompt 中整合图像信息,作者提出使用一个大型多模态模型(LMM)生成基础类别中图像的描述,并将其添加到 Prompt 优化 Prompt 中。这种集成便于文本和视觉模态之间的更直观交互,使得 Prompt 优化 Prompt 可以利用图像信息,从而生成针对特定数据集的 Prompt ,提高CLIP的泛化性能。如图1所示,作者的IPO框架展示了传统基于梯度的 Prompt 优化与所提出的可解释 Prompt 优化的比较。第三,作者的优化器生成的 Prompt 具有人类可解释性。例如,在Food101数据集[17]上,初始 Prompt 从["一张[CLASS]的照片"]演变为["对描绘一道美味可口且具有显著视觉特质的[CLASS]图像进行分类。"]。作者生成的 Prompt 在新类别上的性能比梯度基方法CoOP[8]提高了10.29%,同时保持了可解释性。

作者在11个不同的数据集上验证了作者的IPO,表明它超过了传统的基于梯度的最先进方法,在准确性和解释性方面都表现出色。作者的方法生成了人类可理解的分词 Prompt ,可以无缝集成到现有的视觉语言模型中,从而提高性能。作者进行了严格的比较实验,以量化基于梯度 Prompt 学习和作者方法之间的解释性。作者展示了作者生成的 Prompt 中特定关键词的重要性,并揭示了通过传统 Prompt 学习方法学习的所有 Token 并非都是必要的。

2 Related work

视觉语言模型的 Prompt 学习

Prompt 学习(Prompt learning)最初在自然语言处理领域引入,它涉及将固定函数应用于输入 Token ,以向模型提供任务指令。在计算机视觉领域, Prompt 学习以各种形式进行探索,包括文本 Prompt 调优,以及前缀调优。

1) Prompt 调优主要涉及将文本 Prompt 视为可学习参数,使用少量数据微调这些参数。由CoCoOp [8]和Coop [11]提出的,它们都使用连续的 Prompt 向量在CLIP视觉语言模型的语言分支中进行微调,以实现少样本迁移。贝叶斯 Prompt 学习[21]将 Prompt 学习形式化为变分推理问题,并展示了其对未见类泛化的能力。

2)前缀调优主要涉及将可学习的 Token 添加到文本编码器[31],视觉编码器[1, 25],或两者[13, 27, 28, 32]中。这些 Token 使用少量数据进行微调。请注意,这些方法不优化初始文本 Prompt 。相反,它们通过集成这些额外的可训练 Token 来增强模型的理解能力。

作者的方法属于 Prompt 调优,但不同于以前使用梯度下降优化 Prompt 的方法,作者提出使用LLM(语言模型)优化 Prompt 。作者的方法利用LLM的自然语言处理能力,迭代地优化反馈式 Prompt ,旨在提高 Prompt 的有效性和可解释性。

AI模型作为 Prompt 优化器。近年来,许多研究探讨了AI模型在自然语言处理任务中作为 Prompt 优化器的作用。一些研究直接使用AI模型优化任务指令进行上下文学习。其他研究则使用AI模型变异 Prompt 用于进化算法[35, 36]。然而,据作者所知,目前尚无研究探讨如何利用AI模型优化视觉语言模型中的文本 Prompt 。这种方法可能通过更有效、更符合上下文的文本 Prompt ,为整合和增强视觉语言模型的能力开辟新的途径。

元 Prompt (Meta-prompting)Suzgun和Kalai [37] 引入元 Prompt ,将单个LLM转变为一个多功能的“指挥官”,可以管理和整合多个独立的LLM Query 。通过使用高级指令,元 Prompt 引导LLM将复杂任务分解为更小的子任务。OPRO [14]的核心在于为LLM设计一个元 Prompt ,以优化每个任务的任务 Prompt 。这个元 Prompt 包括两个关键信息:以前生成的 Prompt 及其相应的训练准确性,以及优化问题的描述。自选 [38] 利用元 Prompt 优化指令选择。它考虑一组提供的模板,并选择最合适的模板。元 Prompt 与指令调优 [39] 相关,因为这两种技术都为提高LLM的性能和适应性提供高级指导。然而,指令调优专注于用多种任务微调模型以提高泛化能力,而元 Prompt 则具有实时分解和管理复杂任务的优势。

刘等人 [40] 提出了一种方法,该方法利用LLM作为视觉语言模型的黑盒优化器,迭代地根据上下文示例优化 Prompt 。他们的方法侧重于利用ChatGPT改进视觉分类任务的 Prompt 模板。

Mirza等人 [41] 探索了 Prompt 优化的不同方面,重点关注零样本视觉语言模型。作者的 Prompt 优化 Prompt 类似于元 Prompt ,它存储了过去的 Prompt 及其相应的准确率和损失,从而为LLM提供更丰富的上下文信息,以便它们可以生成更有效的 Prompt 。与先前的元 Prompt 不同,作者的 Prompt 优化 Prompt 为视觉语言模型生成 Prompt 。

3 Preliminaries

对比语言图像预训练(CLIP) CLIP [30] 的目标是通过对比预训练与大量成对的图像和标题,开发出图像编码器 和文本编码器 。这个过程旨在将图像-文本对映射到共同的语义空间。预训练阶段之后,CLIP 能够通过将分类视为匹配图像到文本的任务,进行零样本视觉识别。具体来说,在 Prompt 模板(例如,“一张 [CLASS] 的照片”)中, 表示针对类 调整的文本特征。在这里,从图像 分类为类 的概率表示为:

表示第 个类别的图像特征 与文本特征 的余弦相似度, 是总类别数, 是训练过程中调整的温度参数。

** Prompt 学习** 通过消除手动 Prompt 工程的需求,提高了CLIP模型的适应性。它通过使用下游任务的有限数量示例来自动生成 Prompt 。CoOp [8]提出了一种方法,其中一组连续上下文向量作为可学习的 Prompt 。构建的 Prompt 将这些可学习的上下文向量与特定类别的 Token Embedding 合并,然后由文本编码器处理。在CoOp中,这些静态上下文向量的优化旨在最小化正确类 Token 的负对数似然率:

在下游应用中,预训练模型参数保持不变,这使得可学习的 Prompt 向量可以通过最小化交叉熵损失有效地优化,只需要用一小部分样本。表示类别的one-hot编码的真正标签。

4 Methods

图1描绘了作者的可解释 Prompt 优化器的全面结构。在优化过程中的每个步骤,LLM通过考虑优化问题的描述以及存储在 Prompt 优化 Prompt 中的先评估 Prompt 的反馈,为视觉语言任务生成候选 Prompt 。然后,这些新 Prompt 将被评估并集成到 Prompt 优化 Prompt 中,以便在未来的优化周期中使用。优化过程在LLM无法生成改进优化分数的 Prompt ,或达到预定义的最大优化步骤数量时结束。接下来,作者将详细介绍 Prompt 优化 Prompt 的设计,并解释如何将图像信息集成到 Prompt 优化 Prompt 中。

作者优化器的核心是 Prompt 优化的 Prompt 设计,它通过优化 Prompt 来提高视觉语言模型的性能。图2显示了作者的 Prompt 优化的 Prompt 示例。作者的 Prompt 优化 Prompt 由以下组件组成:

(1)说明:这些通过明确定义任务来指导LLM优化 Prompt ,以在分类任务中实现更好的性能。

(2)训练图像的文本描述:这些描述为LLM提供有关图像的详细信息,使其能够生成特定数据集的 Prompt 。

(3)以前生成的 Prompt 及其对应评分:这个组件提供上下文信息,包括过去的 Prompt 及其性能指标,使LLM能够更准确地优化 Prompt 生成。通过合并这些元素,作者的方法利用LLM的迭代优化能力动态生成和优化文本 Prompt 。说明确保LLM理解优化目标,文本描述提供丰富的图像相关上下文,而历史数据有助于生成更有效和精确的 Prompt 。

对于训练图像的文本描述,作者使用一个大型多模态模型(LMM)为每个训练图像生成文本描述。具体而言,作者使用MiniCPM-V-2.0 [43]从基础类别生成图像内容的描述。在附录中,作者提供了使用MiniCPM-V-2.0生成的每个数据集中一些图像的内容描述。作者将提取的图像文本特征表示为。

此外,作者尝试直接使用LMM通过Prompt Optimization Prompt优化 Prompt 。具体而言,作者将基础类别中的图像和Prompt Optimization Prompt输入到LMM中,希望LMM能够生成更好的 Prompt 。作者尝试了六个不同的LMMs:BLIP-2 [44],Qwen-VL-Chat-9.6B [45],FUYU-8B [46],MiniCPM-V-2.0 [43],和llava-llama3-8B [47]。然而,这六个模型都无法理解作者的Prompt Optimization Prompt,并生成了仅仅是对图像的描述,而不是作者所期望的通用 Prompt 。这种失败可能是由于这些LMMs的训练没有考虑这种任务。请注意,图像描述并非必需。在作者的16-shot实验中,由于LLM可以处理的文本输入长度有限,作者在Prompt Optimization Prompt中省略了图像描述。

利用情节记忆机制来检索过去的 Prompt 及其相应的评分,这些评分包括诸如损失和准确率等指标。在这里,作者将记忆表示为。在每个迭代中,作者根据中的准确性检索出前20个 Prompt ,并将它们作为当前记忆,表示为。此外,作者在每一步中始终将 Prompt "a photo of <>"添加到作者的历史中,因为这是CLIP框架[30]中常用的且有效的一个 Prompt 。因此,作者的优化损失被定义为:

作者的设计指令 表示了针对 LLM 的设计,而 表示由 LLM 优化的人类可解释文本 Prompt 。请注意,作者的优化器参数自由,这使得它与传统的基于梯度的 Prompt 学习方法区分开来。相反,作者利用 LLM 来优化 Prompt ,逐步减少 ,直到收敛。

Experimental setup

作者在视觉语言模型的 Prompt 学习基础到新泛化基准测试上验证了作者的方法的有效性[8; 11]。在所有实验中,作者在1-shot和常用的16-shot设置下评估模型的性能。为确保一致性,基于学习的方法的所有结果都取三个随机种子求平均。作者使用调和平均数(H)作为平均指标,这在视觉语言模型的 Prompt 学习中是一种常见的方法。

十一数据集。作者遵循CLIP [30]和CoOp [8]的方法,使用了11个图像分类数据集,即ImageNet [48]和Caltech101 [49]用于通用物体分类,OxfordPets [50],StanfordCars [51],Flowers102 [52],Food101 [17]和FGVCircraft [53]用于细粒度图像识别,EuroSAT [54]用于卫星图像分类,UCF101 [55]用于动作分类,DTD [42]用于纹理分类,以及SUN397 [56]用于场景识别。

以下是对您提供的英文AI学术论文的简体中文翻译:

六种 Baseline 。 为了进行比较评估,作者使用了一些已经确立的 Baseline ,包括CLIP [30],Coop [8],CoCoOp [11],MaPLe [13],PromptSRC [28],以及CoPrompt [32]。请注意,所有方法在其出版物中并未呈现1-shot结果,因此作者使用其可用代码进行1-shot实验。

训练细节作者使用GPT-3.5 Turbo作为默认优化器,对每个数据集迭代100步以得出最终 Prompt 。在每一步中,作者生成五个 Prompt 并与过去的 Prompt 进行比较,将前20个 Prompt 保存在作者的历史中。

最终,作者选择准确率最高的 Prompt 作为最终 Prompt 。对于生成图像描述,作者使用MiniCPM-V-2.0[43]作为默认LMM,使用 Prompt :“[请详细描述,不要在描述中提供类别名称。]”。作者将图像描述添加到1-shot Prompt Optimization Prompt中,但未添加到16-shot版本中,因为GPT-3.5 Turbo的字符输入限制阻止为每个类别的图像添加详细信息。所有实验均在配备GeForce RTX 3090的计算机上进行。

6 Conclusion

在本文中,作者提出了一种新颖的 Prompt 优化方法,用于视觉语言模型,以解决现有基于梯度下降的方法的局限性。通过将大型语言模型集成到动态文本 Prompt 生成和优化中,作者引入了IPO系统。

该系统指导LLMs生成有效 Prompt ,同时保持过去 Prompt 及其性能指标的记录,提供有价值的上下文信息。

此外,作者还融入了大型多模态模型来生成图像描述,以增强文本和视觉模式之间的协同作用。作者在11个数据集上的全面评估表明,与传统基于梯度下降的 Prompt 学习方法相比,作者的方法可以提高视觉语言模型的初始准确性。

最重要的是,作者的方法显著提高了生成的 Prompt 的可解释性。通过利用LLMs的优势,IPO确保 Prompt 保持人类可理解,从而促进视觉语言模型的更好透明度和监督,使视觉语言系统更加可靠和易于访问。

这种提高的可解释性至关重要,因为它允许进行更有效和可靠的人类-AI协作。

参考文献

[0]. IPO: Interpretable Prompt Optimization for Vision-Language Models.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未来先知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档