【学习周报】

学习内容:

  1. instructGPT
  2. VLTinT: Visual-Linguistic Transformer-in-Transformer for Coherent Video Paragraph Captioning

学习时间:

  • 1.9 ~ 1.14

遇到的问题:

强化学习策略的使用:只看懂了HMN代码,没有完全看懂VPM中强化学习代码的具体使用方法,还没有设计好强化学习奖励函数。

学习笔记:

instructGPT

openai关于ChatGPT的论文暂时还没有出来,不过ChatGPT用到的技术和InstructGPT一样,区别是InstructGPT是在GPT3上微调,ChatGPT是在GPT3.5上微调。

1.introduction

语言模型是每次给定一段东西,然后去预测下一个词,是自监督学习,没有人工标注。如果想让语言模型去解释费马定理,那么训练文本中需要出现过相关的内容。而训练的文本一般是几百亿数量级,并不知道里面会有什么东西,只能全送进去期待大力出奇迹。

但是这样做会有两个问题:

  1. 有效性,想让模型去学做一件事,但是模型无法学会,这是因为文本中可能就没有相关的内容。
  2. 安全性,模型输出一些不应该输出(非法的、有害的等等)的内容。

解决这两个问题的办法,就是标一点数据,再把语言模型进行微调,效果会更好一些,能够更加服从人类的指示(instruction)。

这篇论文展示了怎么样对语言模型与人类意图进行匹配,核心思想是在人为的反馈上进行微调。

方法简介:收集很多问题,使用标注工具将问题的答案写出来,用这些数据集对GPT3进行微调。接下来再收集一个数据集,通过刚才微调的模型输入问题得到一些输出答案,人工对这些答案按好坏进行排序,然后通过强化学习继续训练微调后的模型,这个模型就叫InstructGPT

2.training strategy

重点:两个标注数据集,三个模型。

在这里插入图片描述
1、找人来写出各种各样的问题(或者从以前GPT3接口收集的问题),这些问题在GPT里面叫做prompt

例如:什么是月亮?

2、让人根据问题写答案

例如:围绕地球旋转的球形天体。

3、将问题和答案拼在一起,形成一段对话。大量这样的对话文本,形成第一个标注数据集。

例如:什么是月亮?围绕地球旋转的球形天体。

4、使用这些对话微调GPT3。GPT3的模型在人类标注的这些数据上进行微调出来的模型叫做SFT(supervised fine-tune),有监督的微调。这就是训练出来的第一个模型。

5、给出一个问题,通过SFT模型生成几个答案,这里假设生成四个答案。

例如:什么是月亮?

SFT模型生成了四个答案:

A、月亮是太阳系中离地球最近的天体。

B、月亮是太阳系中体积第五大的卫星。

C、月亮是由冰岩组成的天体,在地球的椭圆轨道上运行。

D、月亮是地球的卫星。

6、将四个答案让人根据好坏程度进行排序。

例如:张三觉得答案D是最好的,其次是C,C比A要好,A和B差不多。就是D>C>B=A。

7、将大量的人工排序整理为一个数据集,就是第二个标注数据集。

8、使用排序数据集训练一个 RM模型(reward model) 奖励模型。这是第二个模型。

模型输入:问题+答案

例如:什么是月亮?月亮是地球的卫星。

模型输出:分数,例如:9.4。

优化目标:问题+答案得到的分数要满足人工排序的顺序。

例如:

什么是月亮?月亮是太阳系中离地球最近的天体。 5.4

什么是月亮?月亮是太阳系中体积第五大的卫星。 5.4

什么是月亮?月亮是由冰岩组成的天体,在地球的椭圆轨道上运行。 8.2

什么是月亮?月亮是地球的卫星。 9.4

这里得到的分数就满足张三的排序:D>C>B=A。

9、继续给出一些没有答案的问题,通过强化学习继续训练SFT模型,新的模型叫做RL模型(Reinforcement Learning)。优化目标是使得RF模型根据这些问题得到的答案在RM模型中得到的分数越高越好。这是第三个模型。

10、最终微调后的RL模型就是InstructGPT模型。

备注:两次对模型的微调:GPT3模型—>SFT模型—>RL模型,其实这里始终都是同一个模型只是不同过程中名称不一样

需要SFT模型的原因:GPT3模型不一定能够保证根据人的指示、有帮助的、安全的生成答案,需要人工标注数据进行微调。

需要RM模型的原因:标注排序的判别式标注,成本远远低于生成答案的生成式标注。

需要RF模型的原因:在对SFT模型进行微调时,生成的答案分布也会发生变化,会导致RM模型的评分会有偏差,需要用到强化学习。

3.data collection

首先要收集问题集,prompt集:标注人员写出这些问题,写出一些指令,用户提交一些他们想得到答案的问题。先训练一个最基础的模型给用户试用,同时可以继续收集用户提交的问题。划分数据集时按照用户ID划分,因为同一个用户问题会比较类似,不适合同时出现在训练集和验证集中。

三个模型的数据集:

1、SFT数据集:13000条数据。标注人员直接根据刚才的问题集里面的问题写答案。

2、RM数据集:33000条数据。标注人员对答案进行排序。

3、RF数据集:31000条数据。只需要prompt集里面的问题就行,不需要标注。因为这一步的标注是RM模型来打分标注的。

openai专门找了40个标注人员进行标注,需要长期交流的合同工,因为这些标注任务需要一定熟练度、对业务的理解、并需要做到随时沟通。

4.models

4.1 SFT(Supervised fine-tuning)模型

把GPT3这个模型,在标注好的第一个数据集(问题+答案)上面重新训练一次。

由于只有13000个数据,1个epoch就过拟合,不过这个模型过拟合也没什么关系,甚至训练更多的epoch对后续是有帮助的,最终训练了16个epoch。

4.2 RM(Reward modeling)模型

在这里插入图片描述
参数解释:

1、D:第二个数据集,人工对答案进行排序。
2、x:第二个数据集D中的问题,每个问题对应K个答案,答案的顺序已经人工标注好了。
3、yw和yl:x对应的K个答案中的两个,其中yw排序比yl高,因为是一对,所以叫pairwise。
4、rθ(x,y):即需要训练的RM模型,对于输入的一对x和y得到的标量分数。
5、θ:需要优化的参数。

把SFT模型最后的unembedding层去掉,即最后一层不用softmax,改成一个线性层,这样RM模型就可以做到输入问题+答案,输出一个标量的分数。

RM模型使用6B,而不是175B的原因:

  1. 小模型更便宜
  2. 大模型不稳定,loss很难收敛。如果你这里不稳定,那么后续再训练RL模型就会比较麻烦。

损失函数,输入是排序,需要转换为值,这里使用Pairwise Ranking Loss。

损失函数的理解:

1、x和yw这一对问题和答案,放进RM模型中算出一个分数rθ(x,yw)
2、x和yl这一对问题和答案,放进RM模型中算出一个分数rθ(x,yl)
3、因为人工标注出yw的排序要比yl高,r(x,yw)得到的分数应该比r(x,yl)得到的分数高,所以rθ(x,yw)-rθ(x,yl)这个差值要越大越好
4、把相减后的分数通过sigmoid,那么这个值就在-1到1之间,并且我们希望σ(rθ(x,yw)-rθ(x,yl))越大越好
5、这里相当于将排序问题转换为了分类问题,即σ(rθ(x,yw)-rθ(x,yl))越接近1,表示yw比yl排序高,属于1这个分类,反之属于-1这个分类。所以这里就用logistic
loss,由于是二分类,也相当于是交叉熵损失函数。
6、对于每个问题有K个答案,所以前面除以C(K,2),使得loss不会因为K的变化而变化太多。
7、最后是最小化loss(θ),就是要最大化rθ(x,yw)-rθ(x,yl)这个值,即如果一个答案的排序比另一个答案排序高的话,我们希望他们通过RM模型得到的分数之差能够越大越好。

4.3 RL(Reinforcement learning)模型

在这里插入图片描述
参数解释:

1、πSFT:SFT模型。
2、πφRL:强化学习中,模型叫做Policy,πφRL就是需要调整的模型,即最终的模型。初始化是πSFT。
3、(x,y)∼DπφRL:x是第三个数据集中的问题,y是x通过πφRL模型得到的答案。
4、rθ(x,y):对问题x+答案y进行打分的RM模型。
5、πφRL(y | x):问题x通过πφRL得到答案y的概率,即对于每一个y的预测和它的softmax的输出相乘。
6、πSFT(y | x):问题x通过πSFT得到答案y的概率。
7、x∼Dpretrain:x是来自GPT3预训练模型的数据。
8、β、γ:调整系数。

这里用的是强化学习,因为他的数据分布是随着策略的更新,环境会发生变化的。优化算法是PPO,Proximal Policy Optimization,近端策略优化。简单来说,就是对目标函数objective(φ)通过随机梯度下降进行优化。

目标函数理解:优化目标是使得目标函数越大越好,objective(φ)可分成三个部分,打分部分+KL散度部分+GPT3预训练部分

1、将第三个数据集中的问题x,通过πφRL模型得到答案y
2、把一对(x,y)送进RM模型进行打分,得到rθ(x,y),即第一部分打分部分,这个分数越高就代表模型生成的答案越好
3、在每次更新参数后,πφRL会发生变化,x通过πφRL生成的y也会发生变化,而rθ(x,y)打分模型是根据πSFT模型的数据训练而来,如果πφRL和πSFT差的太多,则会导致rθ(x,y)的分数估算不准确。因此需要通过KL散度来计算πφRL生成的答案分布和πSFT生成的答案分布之间的距离,使得两个模型之间不要差的太远。
4、我们希望两个模型的差距越小越好,即KL散度越小越好,前面需要加一个负号,使得objective(φ)越大越好。这个就是KL散度部分。
5、如果没有第三项,那么模型最终可能只对这一个任务能够做好,在别的任务上会发生性能下降。所以第三部分就把原始的GPT3目标函数加了上去,使得前面两个部分在新的数据集上做拟合,同时保证原始的数据也不要丢,这个就是第三部分GPT3预训练部分。
6、当γ=0时,这个模型叫做PPO,当γ不为0时,这个模型叫做PPO-ptx。InstructGPT更偏向于使用PPO-ptx。
7、最终优化后的πφRL模型就是InstructGPT的模型。

VLTinT: Visual-Linguistic Transformer-in-Transformer for Coherent Video Paragraph Captioning

在这里插入图片描述

论文链接:
https://arxiv.org/abs/2211.15103
代码链接:
https://github.com/UARK-AICV/VLTinT

1.introduction

视频段落字幕生成任务要求模型对未处理的一段长视频生成概况性的文字描述,且该视频中所描述的连贯故事严格遵循一定的时间位置。这要求模型具有很强的时空事件提取能力。

作者遵循人类观看视频时的感知过程,通过将视频场景分解为视觉(例如人类、动物)和非视觉成分(例如动作、关系、逻辑)来层次化的理解场景,并且提出了一种称为Visual-Linguistic(VL)的多模态视觉语言特征。在VL特征中,一个完整的视频场景主要由三种模态进行建模,包括:

  1. 全局视觉环境表征:代表周围整体场景
  2. 局部视觉主体表征:代表当前进行中的事件
  3. 语言性场景元素:代表视觉和非视觉元素

作者设计了一种自回归Transformer结构(TinT)来对这三种模态进行表征和建模,可以同时捕获视频中事件内和事件间内容的语义连贯性。为了更加高效的训练模型,作者还配套提出了一种全新的VL多模态对比损失函数,来保证学习到的嵌入特征与字幕语义相匹配,作者在多个段落级字幕生成基准上对模型进行了评估,结果表明本文方法在字幕生成的准确性和多样性方面性能达到SOTA。

2.overview of VLTinT:

作为密集视频字幕生成(Dense Video Captioning,DVC) 的简化版本,视频段落字幕(Video Paragraph Captioning,VPC) 的目的是对给定的视频生成概括性的段落描述,从而简化事件解析和描述的流程。

之前的VPC方法大多使用一个基于CNN的黑盒网络来对视频特征进行编码,这种做法可能会忽略视频中视频和语言模态之间的交互。

本文提出的VLTinT模型将视频场景分解为三种模态,以达到对视频中视觉和非视觉元素的细粒度描述。此外,为了关注对当前事件具有核心影响的主要代理主体,作者对其加入了混合注意机制(Hybrid Attention Mechanism,HAM) 进行学习。下图展示了本文所提VLTinT模型与其他常规方法的对比。
在这里插入图片描述
在上图中展示的Trans.XL和MART方法中,每个事件依然是独立解码,没有考虑事件间的一致性。

为此,作者提出了Transformer in Transformer架构(TinT),TinT Decoder可以同时兼顾一段视频中事件内和事件间的依赖关系建模。相比之前方法简单的使用最大似然估计损失(MLE)来训练模型,作者引入了一个新的多模态VL对比损失来保持在训练过程中对视觉和语言语义的学习,而不增加额外的计算成本

3. method

本文的VLTinT由两个主要模块构成,分别对应一个编码器VL Encoder和解码器TinT Decoder。

VL Encoder:主要负责对一段视频中的不同事件提取特征表示
TinT Decoder:主要负责对这些特征进行解码生成每个事件的文字描述,同时对事件内和事件间的一致性进行建模

这两个模块都通过本文提出的VL对比损失以端到端的方式进行训练,VLTinT的整体架构如下图所示:
在这里插入图片描述

待续

文章算法实现部分还没看明白,下周会继续研究这方面的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20826.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【字节跳动】 https://job.bytedance.com/campus 内推码:MZ9BJHD 电话:13855119574 邮箱:yinxiang.stephen@bytedance.com

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

「GoTeam 招聘时间」字节跳动-代码中台团队招聘

本期招聘企业—字节跳动 公司团队简介 我们是字节跳动—基础架构—效能团队,通过探索更好的开发理念和开发实践,打造优秀的产品,改善开发者体验,持续提升研发效率及质量。 目前团队主要专注的方向包括 DevOps、代码托管、Cloud …

聊一聊字节跳动的面试

来源:https://zhuanlan.zhihu.com/p/82871762 一、算法题 一面: 1. lc 里最长上升子序列的变形题 2. 实现输入英文单词联想的功能 二面: 1.矩阵旋转,要求空间复杂度 O(1) 2.无序的数组的中位数。要求时间复杂度尽可能的小 二、计…

字节跳动架构师讲解Android开发!已成功拿下字节、腾讯、脉脉offer,含BATJM大厂

开头 程序员面试,除了面试技术外,有的公司经常会问应聘者和技术无关的问题,考验求职者的综合能力,并以此作为是否录用的依据,很多时候这类问题往往没有标准答案,就看求应聘者临场的反应能力如何。 张工是…

面试字节跳动,我被怼了。

作者丨三级狗 https://www.zhihu.com/question/31225105/answer/582508111 人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。 我一听 呀?那我这岂不是就不优秀了吗,于是毅然决然和女朋友分了手…

一张图对比在腾讯、阿里、字节跳动工作的区别

本文经 BAT (id:batfun)授权转载 互联网人爱相互跳槽,腾讯和阿里一直相互流动,近两年势头强劲的字节跳动也成为跳槽热门去向,那么在这三家公司工作有什么区别呢?一起来看—— 旗舰产品 - 擅长领域 - 腾讯&a…

是的,阿里P7,腾讯T4,字节跳动总监都是你家亲戚!!!都在帮你们整理资料!!!

缘起 最近网上出现最多的文章就是,阿里P7大佬熬夜整理某资料,腾讯T4大佬良心分享某资料,字节总监耗时多少天整理的某资料,我笑了,这些大佬都是你家亲戚么,都在帮你们整理资料去了,都闲着没事干…

Android菜菜进字节跳动,居然是看了这个......

谈谈我的真实感受吧~ 程序员真的是需要将终生学习贯彻到底的职业,一旦停止学习,离被淘汰,也就不远了。 金三银四、金九银十跳槽季,这是一个千年不变的话题,每到这个时候,很多人都会临阵磨枪&a…

QNAP严重漏洞可导致恶意代码注入

聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 QNAP提醒客户安装QTS和QuTS固件更新。该更新修复了一个严重漏洞 (CVE-2022-27596),可导致远程攻击者在QNAP NAS设备上注入恶意代码。 该漏洞是“严重”级别的漏洞,C…

我和ChatGPT的对话记录

今日份调教(他说他是GPT3) 从莫种意义上来说,我撅得我还是有一手的,噗嗤 😎 **

推荐4款非常实用的电脑软件

你是否曾经在使用电脑的过程中遇到过各种各样的问题?本文将为您推荐4款小众但非常实用的软件,或许能帮助您解决这些问题。 1.格式工厂 格式工厂是一款功能全面的格式转换软件,支持转换几乎所有主流的多媒体文件格式,包括视频 &a…

含泪推荐四款超级好用的电脑软件,值得收藏

1.极速下载工具—Internet Download Manager(IDM) Internet Download Manager简称IDM,是一款老牌的Windows系统下载工具,支持多媒体下载、自动捕获链接、自动识别文件名、静默下载、批量下载、站点抓取、视频下载等多种个性化的功…

这几款实用的电脑软件推荐给你

软件一:TeamViewer TeamViewer是一款跨平台的远程控制软件,它可以帮助用户远程访问和控制其他计算机、服务器、移动设备等,并且支持文件传输、会议功能等。 TeamViewer的主要功能包括: 远程控制:支持远程访问和控制…

亚马逊、eBay、沃尔玛、OZON、速卖通等平台如何实现自养号测评补单

现如今,跨境电商可谓是举步维艰,运营环境也是越来越复杂。但复杂的环境可以用两个字来概括买和刷。因为进行买卖或者补单从而增加销售促进排名,然后提高产品的权重。其实无论是销量还是评论不仅可以通过自然购买产生,也可以进行一…

亚马逊跨境商家会用的邮件管理软件—解孵

做亚马逊的朋友,在平时的运营中需要及时地回复邮件,邮件回复是否及时会影响到好评率和销量,所以亚马逊商家需要在24小时内回复邮件到买家。其实回复邮件并不难,困难的是在邮件过多或店铺过多的情况下,商家可能会漏回或…

亚马逊买家号二步验证怎么设置?

亚马逊提供了多种安全功能,其中包括买家账号的二步验证。启用二步验证可以提供额外的账户安全性,以确保只有经过授权的用户可以访问您的亚马逊买家账号。 要启用亚马逊买家账号的二步验证,请按照以下步骤进行操作: 1、登录亚马逊…

亚马逊自动测评软件:注册养号下单操作流程

想要亚马逊自动测评软件,可以使用亚马逊鲲鹏系统,亚马逊鲲鹏系统可以注册、养号、下单、留评,是一款专门针对亚马逊买家号所开发的软件。 想要做测评,当然就需要先有一批买家号的,买家号可以直接去网上购买成品后导入进…

亚马逊安全测评方法大全+自养买手号实操教程——AdsPower

测评是做跨境电商的卖家不可能不经历的事情。但是测评行业水深大家都知道,那么,作为卖家,如何安全的测评呢?今天我们就来聊聊如何送测?安全测评需要注意什么?(PS:不想看上面科普的朋…

如何解决亚马逊、ebay砍单、封号问题?稳定测评方案分析

很多卖家和工作室朋友询问我为什么在测评过程中经常遇到砍单和封号的问题。实际上,这并不难理解,因为测评所涉及的技术问题很多,并不能仅通过解决IP或环境的单一因素来实现稳定的测评。 目前市面上存在许多技术方案,例如指纹浏览…

亚马逊云科技:你要的并不是ChatGPT,而是强大和经济的算力

2022年12月,AI创业公司OpenAI推出了聊天机器人ChatGPT。作为生成式AI在文本领域的实际应用之一,ChatGPT的问世距今不过百天而已,却已经火爆了全球。 一时间,大量的企业投入到生成式AI领域,大有“任彼桑田变沧海&#x…