论文阅读:Vary-toy论文阅读笔记

目录

    • 引言
    • 整体结构图
    • 方法介绍
      • 训练vision vocabulary阶段
        • PDF数据
        • 目标检测数据
      • 训练Vary-toy阶段
        • Vary-toy结构
        • 数据集情况

引言

论文:Small Language Model Meets with Reinforced Vision Vocabulary

Paper | Github | Demo


说来也巧,之前在写论文阅读:Vary论文阅读笔记文章时,正好看到了Vary-toy刚刚发布。

这次,咱也是站在了时代的前沿,这不赶紧先睹为快。让我看看相比于Vary,Vary-toy做了哪些改进?

整体结构图


从整体结构来看,仍然沿用了Vary系列结构。先利用Vary-tiny + pipeline训练一个Vision vocabulary,之后在pre-train和SFT阶段将new vocabulary与CLIP的Vocabulary相结合,来训练Qwen-1.8B模型。

不同于Vary,用了Qwen-7B,这次用了Qwen-1.8B,模型更小,对于部署使用更加友好。

这次除了原有的PDF数据外,又增加了目标检测的数据集,让Vary-toy更加具有通用性。

方法介绍

作者在设计Vary-toy时,主要侧重解决以下两个问题:

  1. 如何基于Vary-tiny + pipeline产生一个更加practical vision vocabulary ?
  2. 如何在不损坏Qwen-1.8B模型特征前提下,利用new vision vocabulary来使Vary-toy-1.8B产生新的特征?

训练vision vocabulary阶段

出发点是:

  1. vision vocabulary network是由SAM-base作为初始化模型训练而来的。这样做,可以获得SAM对文本的感知能力。但是也存在遗忘SAM中对自然物体目标的感知能力。
  2. 作者认为,只将密集文本的视觉知识写入80M的网络是浪费。
PDF数据

该部分与Vary中工作一致,看着量级更大了。最终准备了2M英文文档数据和2M的中文文档数据。PDF来源主要是arXiv、CC-MAIN-2021-31-PDF-UNTRUNCATED和e-books。示例数据如上图。

私以为该部分仍然有很大进步空间。如在提取PDF内容时,可以考虑到版面的因素,使得内容更加有语义。当然,这只是猜测,也许作者就是这么做的呢!

目标检测数据

为了充分利用来自SAM模型对自然图像的感知能力,作者引入了目标检测数据到训练vision vocabulary过程中。所用数据主要来自Object365和OpenImage。

因为部分图像中存在太多的物体,这会超出OPT-125M的token数量限制。因此作者做了两步处理:

  1. 如果图像中物体框数目<30个,则允许Vary-tiny + pipeline过程中的prompt为Detect all objects in this image
  2. 如果图像中物体框数目>30个,则更换prompt模板为:Detect class1, class2, … in this image.

最终,整理出来的目标价检测数据大约有3M条。

训练Vary-toy阶段

Vary-toy结构

Vary-toy主体结构与Vary相同,但是有些微小区别:

  1. 当输入图像( H × W H\times W H×W)进入new vision vocabulary分支时,图像会被直resize到1024 x 1024,而送入CLIP分支时,则中心裁剪为224x224
  2. 直接将vision vocabulary分支和CLIP分支输出拼起来,正好是Qwen-1.8B的输入channel
  3. 相比于Vary,为了让变化小一些,作者仍然在vision vocabulary网络后添加了embedding layer
数据集情况

TODO

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

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

相关文章

微信小程序开发如何实现圆形按钮/圆角按钮

圆形按钮&#xff1a; 显示&#xff1a; 实现 .wxml <view style"width: 100%;height:200rpx;display: flex; align-items: center;justify-content: center;"><view style"width:20px; height:20px; border-radius: 50%; background-color: red; t…

SQL - 数据操作语句

SQL - 数据操作语句 文章目录 SQL - 数据操作语句数据操作语言-DML1 新增2 修改3 删除4 清空 数据类型1 数值类型2 字符串类型3 日期时间类型 数据操作语言-DML 概念&#xff1a; DML&#xff08;Data Manipulation Language&#xff09;, 数据操作语言。对数据表数据的增、删…

134. 加油站 - 力扣(LeetCode)

题目描述 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发&#xff0c;开始时油箱为空。 给定两个整数数组 gas 和…

SHA加密在实际应用中的优势与局限

SHA加密算法简介 SHA&#xff08;Secure Hash Algorithm&#xff09;加密算法是一种单向加密算法&#xff0c;常用于加密数据的完整性校验和加密签名。它是由美国国家安全局&#xff08;NSA&#xff09;设计并广泛应用于各种安全场景。SHA加密算法具有较高的安全性和可靠性&…

前端页面直接导出Excel方案

方案1 纯原生js在页面实现 导出 .xls格式 toContentPrintExcel22(e) {// 获取页面内容this.name this.$t(this.selectReport.name);// 打印内容部分-区分类型&#xff0c;利润和其他let tableHtml document.querySelectorAll(#excelContent table)[0].innerHTML;// 创建a标签…

线性代数速通

二---矩阵 逆矩阵 抽象矩阵求逆 数字型矩阵求逆 二阶矩阵求逆秒杀 解矩阵方程 方阵 伴随矩阵 三---向量组的线性相关性 线性表示 数字型向量组 线性相关性判断 抽象型向量组 线性相关性判断 向量组的秩与极大无关组 四---线性方程组 齐次方程组 基础解系 通解 非齐…

基础前端知识第一期:DIV 标签

一.表达方式 <div class"#"></div>二.属性 1.border border-radius: 10px 10px 10px 10px /四个角的弯曲程度/border-width: 3px 3px 3px 3px /四边的长/border-color: blue /边框的颜色/2.backgroud background-color 背景色3.position relative…

定制工厂实时数据采集系统 优秀智能制造信息系统服务

工业数据采集是指通过传感器、仪表等设备将工业生产过程中的各种数据进行采集和记录,以便进行数据分析、监控和优化。但现状却是引入的各自动化设备、仪器等各自为政&#xff0c;或者进显示检测数据&#xff0c;难以实现数据连通&#xff0c;难以统一处理&#xff0c;定制的数据…

并查集与图

并查集与图 一、并查集概念实现原理代码实现查找根节点合并两颗树判断是否是同一棵树树的数量 二、图的基本概念定义分类完全图顶点的度连通图 三、图的存储结构分类邻接表邻接表的结构代码实现 邻接矩阵代码实现 四、图的遍历方式广度优先深度优先 五、最小生成树概念Kruskal算…

使用cpulimit来限制linux下进程的cpu利用率

参考文章&#xff1a; https://blog.csdn.net/loyachen/article/details/52167124 安装cpulimit apt-get install cpulimit 使用 两种方法&#xff0c;一个是直接在limit情况下运行&#xff1a; cpulimit -l 50 python test.py # -l 后面跟的是cpu利用率上限另一种是先运行…

网络原理-初识(2)

协议分层 对于网络协议来说,往往分成几个层次进行定义. 网络通信的过程中,需要涉及到的细节,其实非常多.如果要有一个协议来完成网络通信,就需要约定好方方面面的内容,导致非常复杂. 而如果拆分的话,就十分复杂,庞大,因此需要分层. 什么是协议分层 即只有相邻的层次可以沟通,…

java如何获取多线程的返回值?

想要获取多线程的返回值&#xff0c;开启线程的方式就只能选择使用实现Callable接口的方式了&#xff0c;同实现Runnable接口的方式不同&#xff0c;实现Callable的方式有两大优点&#xff0c;第一个是能够获取到线程任务异步执行的结果&#xff0c;第二个是&#xff0c;当任务…

代码随想录 Leetcode102. 二叉树的层序遍历

题目&#xff1a; 代码(首刷看解析 2024年1月24日&#xff09;&#xff1a; class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> res;if(root nullptr) return res;queue<TreeNode*> que;TreeNode…

C++笔记(三)

封装意义: 在设计类的时候&#xff0c;属性和行为写在一起&#xff0c;表现事物 类在设计时&#xff0c;可以把属性和行为放在不同的权限下&#xff0c;加以控制。 访问权限有三种&#xff1a; public 公共 类内 类外都可以访问&#xff0c; protected保护 类内可以访问…

蓝桥杯备战——5.动态数码管扫描

1.分析原理图 经查阅说明书得知数码管为共阳极&#xff0c;共阳端口接到了U8,而段码接到了U7。 如果需要选中U8,我们只需要将P250;P261;P271; 如果需要选中U7,我们只需要将P251;P261;P271; 2.代码示例 void Delay1ms() //12.000MHz {unsigned char data i, j;i 12;j 169;…

ubuntu20.04 格式化 硬盘 扩展硬盘GParted

如何在 Ubuntu 22.04 LTS 上安装分区编辑器 GParted&#xff1f;_gparted安装-CSDN博客 sudo apt install gparted 步骤5&#xff1a;启动GParted 安装完成后&#xff0c;您可以在应用程序菜单中找到GParted。点击它以启动分区编辑器。 通过以上步骤&#xff0c;您可以在Ubun…

【2024】新建mysql数据库,如何选择字符集和排序规则

如何使用 Navicat 新建 MySQL 数据库&#xff0c;并选择字符集与排序规则 如何使用 Navicat 新建 MySQL 数据库并选择字符集与排序规则1. 开始之前2. 新建数据库步骤 1: 打开 Navicat步骤 2: 创建新数据库步骤 3: 填写数据库名称 常见的字符集和排序规则及其选择场景1. 字符集&…

7.前端--CSS-复合选择器

1.什么是复合选择器 复合选择器是由两个或多个基础选择器&#xff0c;通过不同的方式组合而成的&#xff0c;可以更准确、更高效的选择目标元素&#xff08;标签&#xff09; 常用的复合选择器包括&#xff1a;后代选择器、子选择器、并集选择器、伪类选择器等等 2.后代选择器 …

定时器越走越快的原因

在上述例子中&#xff0c;本应每1秒输出一次&#xff0c;但在多次点击按钮后会变成每0.9秒、0.8秒、0.7秒… 就输出一次&#xff0c;即定时器时间间隔越来越短&#xff0c;这就是所谓的定时器越走越快。 其实原因很简单&#xff0c;在多次点击按钮时&#xff0c;多次创建了定时…

【卡梅德生物】单域抗体|纳米抗体|VHH文库构建

单域抗体&#xff0c;也称为VHH&#xff08;Variable domain of heavy chain of HCAb&#xff09;抗体或纳米抗体&#xff0c;是一种小型抗体分子。与传统抗体相比&#xff0c;VHH具有更小的分子尺寸、更高的稳定性和更易于工程化的特点&#xff0c;具有广泛的生物医学应用潜力…