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

【大模型系列】Mini-InternVL(2024.10)

image.png

  • Paper:https://arxiv.org/pdf/2410.16261
  • Github:https://github.com/OpenGVLab/InternVL/tree/main/internvl_chat/shell/mini_internvl
  • Author:Zhangwei Gao et al. 上海人工智能实验室

文章目录

  • 0 总结(省流版)
  • 1 模型结构
    • 1.1 InternViT-300M
    • 1.2 下游任务迁移学习框架
      • 1.2.1 数据格式
      • 1.2.2 训练策略
  • 2 指标情况
  • 3 消融实验结论
    • 3.1 通用数据和特定领域数据比例探究
    • 3.2 训练样本数量对模型性能的影响
    • 3.3 不同训练参数量对于模型性能的影响

0 总结(省流版)

核心1:通过蒸馏的方式得到Visual encoder(InternViT-6B -> InternViT-300M),与InternVL2-76B对比,mini-InternVL-4B仅用5%参数实现90%的性能

核心2:提出一个迁移到不同下游任务学习框架

同参数量级下,指标低于Qwen2vl系列。

1 模型结构

image.png

  • Visual encoder: 使用CLIP初始化InternViT-300M,并蒸馏InternViT-6B
    • 动态分辨率策略(crop)
    • pixel unshuffle减少visual token数量,输入448,输出token数量为256(16x16)
  • LLM:
    • Mini-InternVL-1B: Qwen2-0.5B
    • Mini-InternVL-2B: InternLM2-1.8B
    • Mini-InternVL-4B: Phi-3-Mini

1.1 InternViT-300M

  • 参数使用CLIP-ViT-L-336px初始化,从InternViT-6B中蒸馏出InternViT-300M。
  • 通过计算最后K层transformer layer的hidden states之间的负余弦相似度来更新student模型参数
  • 使用数据集如下,策略是图片resize到448,关闭dynamic resolution
    image.png

1.2 下游任务迁移学习框架

1.2.1 数据格式

image.png

  • Image classification task: multi-choice

USER: [Image][Prompt_Prefix][Candidate Labels][Prompt_Suffix]
ASSISTANT: [Ground Truth]

  • Visual Grounding Tasks

需要被检测目标的描述:
目标位置:[[x1, y1], [x2, y2]],坐标归一化到0~1000

  • Region Perception Tasks:基于指定坐标识别目标,问题和回答中均带上目标位置信息

question:What object is in this location[[x1, y1, x2, y2]]
anwser:“object name[[x1, y1, x2, y2]]

  • Multi-View Images: 使用动态分辨率,针对自动驾驶的6个视角图片,先resize到896x448,再拼接成2x3(2688x896),最终可以得到12个tiles(448x448)。最后再用”CAM_FRON“等文本来标记位置。
    image.png

  • Video Frames:每帧resize到448x448

Frame1: <IMG_CONTEXT> Frame2: <IMG_CONTEXT>

1.2.2 训练策略

  • domain adaption阶段:全参数微调
  • domain-specific application scenario:将对应的数据转化成1.2.1中的格式,加入到通用多模态数据中;
    image.png

2 指标情况

mini-InternVL指标:
image.png
Qwen2-VL指标:
image
同2B量级,qwen2-vl-2B指标较高
同72B量级,InternVL2-Llamma3-76B指标比qwen2-vl-72B指标略低

3 消融实验结论

3.1 通用数据和特定领域数据比例探究

  • 只使用特定领域的数据进行微调并不能达到最佳性能
  • 通用数据占比为0.25时,性能可达到最佳(作者仅在自动驾驶领域上的测试,从曲线图上来看,这个结论也不是那么确定)
    image.png

3.2 训练样本数量对模型性能的影响

作者将通用数据和特定领域数据控制在1:1,验证不同比例训练数据下的模型指标情况:
image.png

  • 仅在1/4训练集时,在特定领域上的指标就达到了瓶颈,之后长的幅度比较小
  • 通用benchmark上的指标基本保持稳定

讲道理:这个结论也不太鲁棒,特定领域的指标还存在明显的上升趋势,如果多训练几个epoch呢?

3.3 不同训练参数量对于模型性能的影响

image.png
比较直观的是,全参数微调 > 部分参数微调 > LoRA,所以,有条件还是直接全参微调吧。


http://www.kler.cn/a/369968.html

相关文章:

  • Java 生成 PDF 文档 如此简单
  • 探索WPF中的RelativeSource:灵活的资源绑定利器
  • 【JDBC】数据库连接的艺术:深入解析数据库连接池、Apache-DBUtils与BasicDAO
  • CSS中相对定位和绝对定位详解
  • Redis的Windows版本安装以及可视化工具
  • 特殊类设计
  • 一致角色的视频且唇形同步中文配音和免费音效添加
  • gitlab 迁移
  • Spring Boot 实现文件上传下载功能
  • STM32之LCD屏GBK字库制作与调用
  • AI学习指南自然语言处理篇-位置编码(Positional Encoding)
  • 【Coroutines】Full Understanding of Kotlinx.Corutines Framework
  • linux驱动- pinctl_dev如何去访问ockchip_pinctrl内容
  • 浅析Android View绘制过程中的Surface
  • [A-14]ARMv8/ARMv9-Memory-内存模型的类型(Device Normal)
  • maven常用的属性配置
  • 《探索 HarmonyOS NEXT(5.0):开启构建模块化项目架构奇幻之旅 —— 构建公共能力层》
  • 在visual Studio中引入Google Test进行单元测试
  • 2024年09月CCF-GESP编程能力等级认证C++编程五级真题解析
  • 鸿蒙应用开发实战-常用组件-图片组件
  • HTTP与HTTPS协议
  • C#:错误提示总结(一)
  • 2024-10月的“冷饭热炒“--解读GUI Agent 之computer use?phone use?——多模态大语言模型的进阶之路
  • 复习day
  • 通俗直观介绍ChatGPT背后的大语言模型理论知识
  • 苍穹外卖 将菜品缓存到Redis