论文阅读: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

相关推荐

  1. 论文阅读笔记】清单

    2024-01-25 08:46:05       76 阅读
  2. PointMixer论文阅读笔记

    2024-01-25 08:46:05       60 阅读
  3. BERT 论文阅读笔记

    2024-01-25 08:46:05       65 阅读
  4. Transformer 论文阅读笔记

    2024-01-25 08:46:05       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-25 08:46:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-25 08:46:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-25 08:46:05       82 阅读
  4. Python语言-面向对象

    2024-01-25 08:46:05       91 阅读

热门阅读

  1. stm32 - 工程配置

    2024-01-25 08:46:05       48 阅读
  2. wpf UI虚拟化

    2024-01-25 08:46:05       56 阅读
  3. 贪心算法理论基础

    2024-01-25 08:46:05       52 阅读
  4. Tensorflow 中的损失函数 —— loss 专题汇总

    2024-01-25 08:46:05       56 阅读
  5. DALL·E与NFT:开启艺术数字化的新篇章

    2024-01-25 08:46:05       59 阅读
  6. MYSQL

    MYSQL

    2024-01-25 08:46:05      51 阅读
  7. 书籍 - 华杉讲透孙子兵法 - 8

    2024-01-25 08:46:05       41 阅读
  8. 递归函数的介绍和实现

    2024-01-25 08:46:05       57 阅读
  9. Linux平台下安全编译

    2024-01-25 08:46:05       57 阅读
  10. Sql server强制走索引

    2024-01-25 08:46:05       55 阅读
  11. LayUI 监听 Radio

    2024-01-25 08:46:05       46 阅读
  12. js ts函数重载

    2024-01-25 08:46:05       44 阅读
  13. Qt Quick 项目(第二集Qt Quick Application创建)

    2024-01-25 08:46:05       57 阅读