【大模型系列】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,一经查实,立即删除!

相关文章

使用Virtual Audio Cable捕获系统音频输出并使用Python处理

一、下载安装Virtual Audio Cable&#xff0c;软件下载地址和安装过程略过。 二、Virtual Audio Cable使用方法Virtual Audio Cable使用笔记一&#xff1a;使用Virtual Audio Cable将播放器的音频流传输到真实声卡驱动中_virtual audio cable control panel-CSDN博客 三、打开…

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

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

C++17 折叠表达式

折叠表达式 C17之前处理参数包 C17折叠表达式的出现让我们不必再用递归实例化模板的方式来处理参数包。 在 C17之前&#xff0c;实现必须分成两个部分&#xff1a; 终止条件递归条件 这样的实现不仅写起来麻烦&#xff0c;对 C编译器来说也很难处理。C17折叠表达式能显著的…

大语言模型数据流程源码解读(基于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…

stm32使用SIM900A模块实现MQTT对接远程服务器

SIM900A模块是一种GSM/GPRS无线通信模块,它可以通过SIM卡连接移动通信网络,并通过串口或USB接口与微控制器或计算机进行通信。 SIM900A驱动代码如下: #include "stm32f10x.h" #include "stdio.h" #include "stdlib.h" #include "sim900a…

算法:LeetCode283_移动零_Java实现

package com.leetcode;import java.util.Arrays;/*** LeetCode283&#xff1a;移动零*/ public class LeetCode283 {public static void moveZeroes(int[] nums) {//1.remove nums中0int slowIndex0;for(int fastindex0;fastindex<nums.length;fastindex){if(nums[fastindex…

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)

【VUE点击父组件按钮,跳转到子组件】

要实现在Vue中&#xff0c;父组件通过点击按钮进入子组件的 <el-dialog> 弹窗&#xff0c;并在弹窗中嵌套 <el-table> 表格&#xff0c;可以按照以下步骤进行编写代码&#xff1a; 在父组件中&#xff0c;定义一个数据属性用于控制子组件弹窗的显示与隐藏。 data…

HTTP介绍及请求过程

HTTP(HyperText Transfer Protocol),即超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。以下是关于 HTTP 的详细介绍: 一、基本概念 定义与作用: HTTP 是互联网上应用最为广泛的一种网络协议,它定义了客户端和服务器之间请求和响应的标准方式。…

Python从入门到高手7.3节-列表的常用操作方法

目录 7.3.1 列表常用操作方法 7.3.2 列表的添加 7.3.3 列表的查找 7.3.4 列表的修改 7.3.5 列表的删除 7.3.6 与列表有关的其它操作方法 7.3.7 与10月说再见 7.3.1 列表常用操作方法 列表类型是一种抽象数据类型&#xff0c;抽象数据类型定义了数据类型的操作方法。在本…

2024.10.29- Linux(CentOS7)笔记(1)

一、Linux文件系统的介绍 Linux的文件系统与Unix的文件系统类似&#xff0c;也是一个树形结构。 最基本的是根目录&#xff1a;/ 。相当于windows文件系统的盘符。 /&#xff1a; 根路径&#xff0c; 根路径下有以下文件夹 ​ /bin -> usr/bin : 存储的是用户级别的指令…

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

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