当前位置: 首页 > news >正文

论文阅读: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.lryc.cn/news/289635.html

相关文章:

  • 【Linux】开始使用 vim 吧!!!
  • 多线程面试合集
  • 从微服务到云原生
  • bxCAN 主要特性
  • 武忠祥2025高等数学,基础阶段的百度网盘+视频及PDF
  • 用JavaFX写了一个简易的管理系统
  • 第二百九十回
  • bert实现完形填空简单案例
  • Jmeter 分布式测试
  • 在 Ubuntu 上安装 Docker Engine
  • Mac安装nvm,安装多个不同版本node,指定node版本
  • 【开源】基于JAVA+Vue+SpringBoot的智慧家政系统
  • Python NLP深度学习进阶:自然语言处理
  • STM32单片机基本原理与应用(三)
  • Android studio布局详解
  • 第四篇:怎么写express的路由(接口+请求)
  • 算法学习记录:有关树的基础
  • 2. 《大数据之路:阿里巴巴大数据实践》学习笔记,持续更新ing
  • 编程笔记 html5cssjs 062 JavaScrip如何使用
  • 【前端基础--7】
  • 微信小程序如何搜索iBeacon设备
  • JVM篇:垃圾回收算法
  • 2024年数学建模美赛 分析与编程
  • 05-Nacos-配置中心接入
  • 服务端开发小记02——Maven
  • DjangoURL调度器(一)
  • Typora 无法导出 pdf 问题的解决
  • uniapp封装公共的方法或者数据请求方法
  • SpringBoot AOP应用(公共字段填充)
  • NIO案例-聊天室