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

引言

以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 的效果。

一、大模型全套的学习路线

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。

L1级别:AI大模型时代的华丽登场

L2级别:AI大模型API应用开发工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化部署

一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。

以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值