如何利用大模型在自己的领域做出花?_大模型领域适配

引言

以ChatGPT为代表的一众大模型,在和人的直接交互上具有着优异的表现。这不禁让广大研究者遐想,如果我每天跑的小模型能像人一样和大模型交互,能帮我把实验效果显著提升吗?本文要介绍的《Prompting Large Language Models with Answer Heuristics for Knowledge-based Visual Question Answering》的作者们是这么想的,也这么做了。让我们一起看看他们是怎么做的,说不定能得到一些启发~

01.

背景

首先介绍一下本文要解决的核心任务——Visual Question Answering (VQA). VQA可以看做是一个“看图说话”的任务:给出一个图片和与该图片相关的问题,模型的目标是给出该问题的答案。

图片
OK-VQA数据集示例

与传统机器学习任务不同的是,要得到VQA任务理想的答案,仅仅从训练集的数据中提取知识是不够的,还需要一些关于图片的外部知识,因此在早期的VQA benchmark会提供一个和问题相关的知识库(knowledge base, KB)来帮助模型进行训练。但是这样一来构造数据集未免太麻烦,模型的实用性也将大打折扣。近来,一些新的benchmark专注于开放领域的知识,即不再提供一个相关KB,而是利用Wiki、Google Images等开放知识库获取外部知识。

然而,当我们从外部KB获取知识来解决VQA问题时,经常会得不到完美适配于该问题的知识,而且很可能额外引入一些无关的知识,从而进一步影响模型的表现。针对于这个问题,研究者们另辟蹊径,用大语言模型获取外部知识。第一个采用这种思路的方法PICa,首先将图片转换为一段文字描述,再根据相似度选择与本问题相关的几个其他问题及对应答案作为in-context示例,之后用<问题,描述,几个in-context示例>构造文本prompt输入,传入GPT-3来直接获取最终的答案。不过,这样直接的方法仍然存在两个问题:1)生成的文字描述并不一定和问题的内容适配,导致GPT-3产生偏差较大的回答;2)GPT-3的表现依赖于in-context示例,然而仅靠相似度指标选定的示例并不足以让GPT-3生成理想答案。

为了充分运用大模型所蕴含的知识,本文提出了Prophet框架,通过启发大模型来解决VQA问题。这里的“启发”指的是,通过一个上游的小模型(通常是传统VQA模型),生成:1)答案的候选集;2)若干与答案相关的示例。这两部分分别针对上述传统大模型方法的两个缺陷,并且可以同时从一个单一的传统VQA模型中来获取。

02.

如何构造适配VQA任务的prompt

在具体介绍Prophet之前,我们首先详细拆解在VQA任务场景下,如何利用大模型(以GPT-3为例)的in-context learning范式来获取我们想要的答案。

对于GPT-3这样的预训练语言大模型来说,我们会根据一个<任务描述,in-context示例,任务输入>三元组来构造一个prompt作为输入,得到对应的输出答案。其中,in-context示例由若干个<示例问题,示例答案>二元组组成。

在VQA场景中,核心要解决的问题是如何构造一个合适的prompt。对应于传统的prompt三元组<任务描述,in-context示例,任务输入>,VQA的任务描述用于告诉GPT-3本次查询具体的任务,即用自然语言来描述VQA任务;in-context示例由若干<图片文字描述,问题,答案>三元组组成;任务输入是<图片文字描述,问题,[空]>三元组,其中留空的部分即为我们期望GPT-3输出的答案。

图片
经典VQA+大模型方法PICa中的prompt格式

03.

Prophet

现在我们来看一下Prophet的具体实现,主要分为两部分——生成”答案启发“以及查询大模型。

图片

Prophet工作流程示意图

首先是生成”答案启发“。一个VQA数据集由若干<图像,问题,答案>构成,另外有一个答案集,存储的是训练集所有问题的答案。一个传统的VQA模型的核心任务是根据图片及问题在答案集上进行一个分类任务。该模型可以分为两个部分——主干部分和分类部分。主干部分将多模态数据编码并获得图像+问题的融合特征;分类部分负责将融合特征进行分类,生成一个预测向量,其中向量的元素对应着答案集中每一个答案的置信度。

Prophet通过一个传统的VQA模型生成某训练样本的预测向量,并根据这个预测向量置信度的top-K结果构造一个样本的答案候选集,其中元素构成为<答案,答案的置信度>。之后,再根据训练集中融合特征与该样本余弦相似度高的N个其他样本作为in-context示例,每个示例的构成为<图片,问题,答案>。有了答案候选集和若干in-context示例,我们的“答案启发”就构造完毕,可以开始查询大模型啦。

图片

Prophet查询GPT-3构造的prompt格式

Prophet仿照VQA任务中prompt(<任务描述,in-context示例,任务输入>)的构造方式来查询GPT-3。与之不同的是,我们在in-context示例和任务输入中还要加上答案候选集,增加后in-context示例由若干<图片文字描述,问题,答案候选集,答案>四元组组成;任务输入是<图片文字描述,问题,答案候选集,[空]>四元组;除此之外,我们还需要对任务描述进行对应的修改,让GPT-3优先在答案候选集中选出答案。

04.

实验结果&总结

本文选取了VQA任务中比较难的两个数据集OK-VQA以及A-OKVQA进行实验。其中采用的上游VQA模型是改进+在传统VQA数据集上预训练的MCAN模型,作为baseline,原始的MCAN模型、改进但未预训练的MCAN模型以及本文用到的MCAN模型在OK-VQA测试集上的准确率如下:

图片

之后,文章给出了Prophet与若干对比的方法在OK-VQA上的实验结果。其中对比算法分为三组,这三组方法分别是用外部KB作为知识来源、用大规模多模态预训练获取知识以及用大模型作为知识来源。

图片

可以看到,在OK-VQA这个难度较高的数据集上,Prophet的表现远远超出了对比方法,进一步体现了启发大模型的有效性。

看完Prophet的实现及其实验结果之后,不知各位是否惊叹于它以如此直观、简洁的方式启发大模型,却能有着如此优异的表现。大模型中蕴含的巨量知识,若能加以合适的方法帮助我们的小模型,势必能取得 1+1 > 2 的效果。

如何学习AI大模型?

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值