【大模型系列】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.mzph.cn/web/57201.shtml

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

相关文章

MySQL 数据库备份与恢复全攻略

MySQL 数据库备份与恢复全攻略 引言 在现代应用中&#xff0c;数据库是核心组件之一。无论是个人项目还是企业级应用&#xff0c;数据的安全性和完整性都至关重要。为了防止数据丢失、损坏或意外删除&#xff0c;定期备份数据库是必不可少的。本文将详细介绍 MySQL 数据库的备…

大语言模型数据流程源码解读(基于llama3模型)

文章目录 前言一、数据进入LlamaForCausalLM(LlamaPreTrainedModel)类二、数据进入LlamaModel(LlamaPreTrainedModel)类1、input_ids的embedding编码2、position_ids位置获取3、causal_mask因果mask构建1、causal_mask调用2、因果mask代码解读(_update_causal_mask)4、hidden_s…

Docker镜像的创建、修改与导出

Docker镜像的创建、修改与导出 前言一、创建Docker镜像1. 基于已有镜像创建方法一:修改现有镜像方法二:使用Dockerfile通过源码编译安装nginx二、修改Docker镜像1. 基于已有镜像创建新镜像方法一:修改现有镜像2. 使用`docker commit`命令创建新镜像方法一:提交正在运行的容…

Depcheck——专门用于检测 JavaScript 和 Node.js 项目中未使用依赖项的工具

文章目录 Depcheck 是什麽核心功能&#x1f4da;检测未使用的依赖&#x1f41b;检测缺失的依赖✨支持多种文件类型&#x1f30d;可扩展性 安装与使用1. 安装 Depcheck2. 使用 Depcheck Depcheck 的应用总结项目源码&#xff1a; Depcheck 是什麽 来看一个常见错误场景&#x1…

Sqoop的安装配置及使用

Sqoop安装前需要检查之前是否安装了Tez,否则会产生版本或依赖冲突&#xff0c;我们需要移除tez-site.xml&#xff0c;并将hadoop中的mapred-site.xml配置文件中的mapreduce驱动改回成yarn&#xff0c;然后分发到其他节点&#xff0c;hive里面配置的tez也要移除&#xff0c;然后…

sqoop抽取数据报驱动包不存在的问题

sqoop抽取数据报驱动包不存在的问题 报错示例:需要把相应的jar包放到sqoop的lib目录下: 可以正常查询

SpringBoot后端开发常用工具详细介绍——flyway数据库版本控制工具

文章目录 什么是flyway简介为什么要使用flyway 流程介绍整合springboot添加pom文件配置flyway向resource/db/migration添加sql文件 注意事项1. 迁移报错2. 迁移顺序 参考 什么是flyway 简介 为什么要使用flyway 我们在开发时往往会有这样一种情况&#xff1a; 进行软件开发…

HCIP-HarmonyOS Application Developer V1.0 笔记(一)

HarmonyOS的系统特性 硬件互助&#xff0c;资源共享;一次开发&#xff0c;多端部署;统一OS&#xff0c;弹性部署。 分布式软总线&#xff1a;分布式任务调度、分布式数据管理、分布式硬件虚拟化的基座 18N的独立设备 1个手机&#xff0c;8种设备&#xff08;车机&#xff0c…

深入解析HTTP与HTTPS的区别及实现原理

文章目录 引言HTTP协议基础HTTP响应 HTTPS协议SSL/TLS协议 总结参考资料 引言 HTTP&#xff08;HyperText Transfer Protocol&#xff09;超文本传输协议是用于从Web服务器传输超文本到本地浏览器的主要协议。随着网络安全意识的提高&#xff0c;HTTPS&#xff08;HTTP Secure…

Docker搭建基于Nextcloud的个人云盘/私有云盘/个人相册/家庭NAS

安装配置Docker 官方安装文档&#xff1a;https://docs.docker.com/engine/install/ Docker常用命令&#xff1a;https://blog.csdn.net/qq_43003203/article/details/139532097?spm1001.2014.3001.5502 Docker镜像仓库配置方法和国内常用镜像仓库地址&#xff1a; 输入&a…

杂项笔记

这个好像如果如果分配空间就会执行 这个扩容好像会进行拷贝 4 没懂 X x 0; X x1 {0,0}; 都会调用X::X(int x1, int x2 0)

腾讯通低成本替代方案:支持银河麒麟及统信等国产系统和移动端

一、腾讯通继续使用的核心痛点 自腾讯通停更及官网下架后&#xff0c;用户获取更新、技术支持和资源下载的渠道被切断&#xff0c;面临以下无法解决的关键问题&#xff1a; ● 在国产系统及移动端无法使用&#xff1a;腾讯通仅兼容Windows与MAC系统&#xff0c;致使用户在国产…

vue路由的基本使用

vue路由的基本使用 vue-router简介一、路由配置和使用1、安装2、创建路由实例2、在组件中引用路由 router-view ,如APP根组件中直接引用&#xff1a;3、最后还需要把路由挂载到APP实例中&#xff0c;在main.js中注册路由&#xff1a; 二、路由重定向与别名三、声明式导航1、传统…

大模型低资源部署策略

文章目录 解码效率分析大模型训练后量化方法经验性分析与相关结论由于大模型的参数量巨大,在解码阶段需要占用大量的显存资源,因而在实际应用中的部署代价非常高。在本文中,我们将介绍一种常用的模型压缩方法,即模型量化(ModelQuantization),来减少大模型的显存占用,从…

基于Springboot+微信小程序的“学课助手”小程序 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 该系统…

如何将原本打开Edge呈现出的360浏览器,更换成原本的Edge页面或者百度等其他页面

每次打开Edge浏览器&#xff0c;都会呈现出360浏览器的页面&#xff0c;很烦。以下将说明如果将呈现出的360浏览器&#xff0c;更换成原本的Edge页面或者百度等其他页面。 1.找到你的控制面板&#xff0c;点击卸载程序。 2. 找到360安全卫士&#xff0c;右键单击更改/卸载。 3…

云原生笔记

#1024程序员节|征文# 单页应用(Single-Page Application&#xff0c;SPA) 云原生基础 云原生全景内容宽泛&#xff0c;以至于刚开始就极具挑战性。 云原生应用是高度分布式系统&#xff0c;它们存在于云中&#xff0c;并且能够对变化保持韧性。系统是由多个服务组成的&#…

Android 下载进度条HorizontalProgressView 基础版

一个最基础的自定义View 水平横向进度条&#xff0c;只有圆角、下载进度控制&#xff1b;可二次定制度高&#xff1b; 核心代码&#xff1a; Overrideprotected void onDraw(NonNull Canvas canvas) {super.onDraw(canvas);int mW getMeasuredWidth();int mH getMeasuredHei…

WebGL进阶(五)-可视域

理论基础&#xff1a; 顶点着色器 Vertex Shader 主要是负责处理顶点位置、顶点颜色、顶点向量等顶点的数据&#xff1b;处理一些顶点的变换&#xff1a;例如在进行视图变换和投影变换时MVP矩阵会改变顶点的位置信息。 输入&#xff1a; 顶点着色器输入部分主要是声明&…

Android中常用adb命令

目录 1.adb连接安卓模拟器 2.adb列出所有已经连接的设备 3.adb显示设备的日志信息 4.adb 电脑文件推送到安卓模拟器中 5.adb 手机传送文件到电脑 6.adb获取安卓应用的包名和Activity名 附录 1--命令 1&#xff09;adb devices 2&#xff09;adb install 路径> 3&#xff09;…