【MLLM+轻量多模态模型】24.02.Bunny-v1.0-2B-zh: 轻量级多模态语言模型 (效果一般)

24.02 北京人工智能研究院(BAAI)提出以数据为中心的轻量级多模态模型

arxiv论文:2402.Efficient Multimodal Learning from Data-centric Perspective
代码:https://github.com/BAAI-DCAI/Bunny
在线运行:https://wisemodel.cn/space/baai/Bunny

在这里插入图片描述

项目进展 Bunny (兔子,音标 ˈbʌni )

2024.03.15 🔥 Bunny-v1.0-2B-zh,专注中文,发布!它建立在 SigLIP 和 Qwen1.5-1.8B 之上。

2024.03.06 🔥 Bunny训练数据发布!在 HuggingFace 或 ModelScope 中查看有关 Bunny-v1.0-data 的更多详细信息!

2024.02.20 🔥 Bunny技术报告出炉了!

2024.02.07 🔥 Bunny发布!基于 SigLIP 和 Phi-2 构建的 Bunny-v1.0-3B 不仅与类似尺寸的型号相比,而且与更大的 MLLM (7B) 相比,性能优于最先进的 MLLM,甚至实现了与 LLaVA-13B 相当的性能!

简介

翻译原文
Bunny 是一个轻量级但功能强大的多模态模型系列。它提供多种即插即用的视觉编码器,如 EVA-CLIP、SigLIP 和语言主干网(LLM),包括 Phi-1.5、StableLM-2、Qwen1.5 和 Phi-2。为了弥补模型大小的减少,我们通过从更广泛的数据源中精选来构建信息量更大的训练数据。值得注意的是,我们基于 SigLIP 和 Phi-2 构建的 Bunny-v1.0-3B 型号不仅与类似尺寸的型号相比,而且与更大的 MLLM (7B) 相比,性能优于最先进的 MLLM,甚至实现了与 13B 型号相当的性能。> Bunny is a family of lightweight but powerful multimodal models. It offers multiple plug-and-play vision encoders, like EVA-CLIP, SigLIP and language backbones, including Phi-1.5, StableLM-2, Qwen1.5 and Phi-2. To compensate for the decrease in model size, we construct more informative training data by curated selection from a broader data source. Remarkably, our Bunny-v1.0-3B model built upon SigLIP and Phi-2 outperforms the state-of-the-art MLLMs, not only in comparison with models of similar size but also against larger MLLMs (7B), and even achieves performance on par with 13B models.

与主流模型性能对比

在 11 个基准测试中与最先进的 MLLM 的比较。我们的模型在大多数设置中都优于它们。例如LLaVA-v1.5-13B
在这里插入图片描述

算法架构(灵活选择不同的模型组件)

原图1:Bunny供了灵活的视觉编码器和LLM主干组合选择,这些组合通过跨模态的映射模型(projector)进行对齐
其中

在这里插入图片描述
Large Language Model Backbone:提供了三种最先进的轻量级LLM选项:
Phi-1.5 (1.3B)、
StableLM-2 (1.6B)
Phi-2 (2.7B)

视觉编码器(Vision Encoder)
轻量级视觉编码器提供了两个选项:
SigLIP [14] 和 EVACLIP [30],
它们都是具有 428M 参数的高效与语言对齐图像编码器(language-aligned image encoders)。

图像到语言特征的映射模块(Cross-modality Projector)

基于LLaVA模型,我们利用一个带有GELU激活函数两层MLP作为跨模态投影仪来对齐视觉编码器和LLM。

原文效果图

提问为英文翻译
centered 文本居中在这里插入图片描述

实测 (v1.0-3B-中文翻车)

无法用中文直接提问
在这里插入图片描述

如何训练?

Bunny 在 8 个 A100 GPU 上进行训练. (也可用更小的gpu训练)
作者分别构建了 Bunny-pretrain-LAION-2MBunny-695K 进行预训练指令调整

两阶段训练策略。
最初,我们将预训练的视觉编码器中的视觉嵌入与来自 LLM 的文本嵌入对齐
随后,我们应用视觉指令微调来充分利用 MLLM 在各种多模态任务中的能力。
我们在两个阶段采用相同的交叉熵损失进行下一个令牌预测。
在预训练阶段,只对一个 epoch 优化跨模态投影仪。
在微调阶段,我们利用 LoRA [34] 为一个 epoch 训练跨模态投影仪和 LLM 主干。
作者发现 LoRA 在经验上比跨模型架构的所有组合进行完全调整带来更好的性能,这可能是因为较小的模型更容易受到灾难性遗忘的影响,而 LoRA 调整缓解了这个问题

预训练对齐数据构建

我们从LAION-2B 构建了一个高质量的预训练数据,即我们将LAION-2B浓缩为2M核心集,用于数据高效学习

设计了一种基于CLIP嵌入的三步核心集选择方案。
首先,受 SemDeDup 论文的启发,我们通过 k-means 对所有 2B 图像嵌入进行聚类,然后在每个集群中,构建一个无向图,如果它们的余弦相似度高于预定阈值,则任何两个嵌入都连接起来。在每个连通子图中只保留一个样本,其到簇质心的欧几里得距离在中位数处排名。通过将阈值设置为 0.86,我们获得了 952M 的子集。
其次,我们通过其文本嵌入和图像嵌入之间的余弦相似度对剩余的样本进行排序,并保持样本排名 40% - 60%,从而导致 190M 的子集。这样,去除了低质量的图像-文本对。
第三,我们通过其图像嵌入与其聚类质心之间的余弦相似度对剩余的样本进行排序,并保持样本排名 15%-35%,导致子集 38M,捕获 LAION-2B 的本质和多样性。我们最终从38M核心集中随机抽样200万个样本,从而得到Bunny-pretrain-LAION-2M,以获得适当的培训成本。

微调数据Bunny695K的构建

我们收集了一组视觉指令调优数据集——DataOptim,在此基础上我们探索了微调数据集的更好组合。
具体来说,我们利用
SVIT-mix-665K from: SVIT: Scaling up Visual Instruction Tuning
并结合 WizardLM-evol-intstruct-70K 、 ShareGPT-40K ,从而得到 Bunny695K
我们发现,在多模态数据上调整 MLLM 可能会损害其继承认知能力

本地部署测试

待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/278748.html

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

相关文章

【GDB Debugger】新手快速入门学习笔记

文章目录 前言第一讲 什么是GDB第二讲 搭建实验环境第三讲 快速开始第四讲 举例说明如何查看变量信息——print、step第五讲 使用GDB的技巧(只在此展开观察点)第六讲 调试core文件(针对UNIX,程序崩溃时)第七讲 调试一个…

如何搭建“Docker Registry私有仓库,在CentOS7”?

1、下载镜像Docker Registry docker pull registry:2.7.1 2、运行私有库Registry docker run -d -p 5000:5000 -v ${PWD}/registry:/var/lib/registry --restartalways --name registry registry:2.7.1 3、拉取镜像 docker pull busybox 4、打标签,修改IP&#x…

uniapp可视范围高度 - 用户屏幕可操作的屏幕高度 - 适用于APP、H5@公众号、纯H5@Chrome

可视范围高度 let heightPx uni.getWindowInfo().windowHeight uni.getWindowInfo().windowTop 官方手册 uni.getWindowInfo() | uni-app官网uni-app,uniCloud,serverless,uni.getWindowInfo()https://uniapp.dcloud.net.cn/api/system/getWindowInfo.html 实测数据 uni.ge…

BI让数据分析不在困难,分解企业数据分析流程

一、数据培养 数据分析最关键的是什么?其实从名字上就可以看出来,数据是一切的关键,没有数据的话数据分析从何谈起呢。但数据的积累不是一天两天就能成功的,企业的一定要有培养数据的意识,在业务活动中沉淀数据&#…

开源堡垒机Jumpserver

开源堡垒机Jumpserver 文章目录 开源堡垒机Jumpserver1 Jumpserver介绍2 Jumpserver部署用户管理资产创建账号管理模板添加 用户组管理权限管理远程连接免密连接 1 Jumpserver介绍 Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是…

《论文阅读》EmpDG:多分辨率交互式移情对话生成 COLING 2020

《论文阅读》EmpDG:多分辨率交互式移情对话生成 COLING 2020 前言简介模型架构共情生成器交互鉴别器损失函数前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《EmpDG: Multi-resolution Interactive E…

文心一言赋能问卷生成,打造高效问卷调研工具

当前,各种大语言模型(LLM,Large Language Model)井喷式发展,基于LLM的应用也不断涌现。但是,当开发者基于LLM开发下游应用时,LLM直接生成的结果在格式、内容等方面都存在许多不确定因素&#xf…

Cesium:绘制一个 3DTiles 对象的外包盒顶点

作者:CSDN @ _乐多_ 本文将介绍如何使用 Cesium 引擎根据模型的中心坐标,半轴信息,绘制一个 3DTiles 对象的外包盒顶点。 外包盒是一个定向包围盒(Oriented Bounding Box),它由一个中心点(center)和一个包含半轴(halfAxes)组成。半轴由一个3x3的矩阵表示,这个矩阵…

Python Web开发记录 Day13:Django part7 Ajax入门与案例(任务管理)

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、Ajax入门①简介②工作原理③优点④缺点⑤使用…

upload-labs-pass01

1.安装好环境进入关卡(记得打开小皮) 2.可以看到第一关是要求上传图片,但是同时限制了图片类型,那么如果我们将木马写入图片,但是类型又不在白名单,就要想办法绕过 3.可以看到这里的要求是有check&#xff…

中国银行信息系统应用架构发展历程

概述: 从 20 世纪 80 年代开始至今,我国银行业信息化历程已 有四十年历史。虽然相对于发达国家来讲,我国银行业务信 息化起步较晚,但发展速度很快, 目前我国一些大型商业银行的信息化程度已经处于全球领先水平。 “银行…

web渗透测试漏洞复现:Elasticsearch未授权漏洞复现

web渗透测试漏洞复现 Elasticsearch未授权漏洞复现Elasticsearch简介Elasticsearch复现Elasticsearch漏洞修复和加固措施 Elasticsearch未授权漏洞复现 Elasticsearch简介 Elasticsearch 是一款 Java 编写的企业级搜索服务,它以分布式多用户能力和全文搜索引擎为特…

Vue3学习日记 Day4 —— pnpm,Eslint

注:此课程需要有Git的基础才能学习 一、pnpm包管理工具 1、使用原因 1.1、速度快,远胜过yarn和npm 1.2、节省磁盘空间 2、使用方式 2.1、安装方式 npm install -g pnpm 2.2、创建项目 pnpm create vue 二、Eslint配置代码风格 1、环境同步 1、禁用Pret…

webpack5零基础入门-11处理html资源

1.目的 主要是为了自动引入打包后的js与css资源,避免手动引入 2.安装相关包 npm install --save-dev html-webpack-plugin 3.引入插件 const HtmlWebpackPlugin require(html-webpack-plugin); 4.添加插件(通过new方法调用) /**插件 *…

外贸网站文章批量生成器

随着全球贸易的不断发展,越来越多的企业开始关注外贸市场,而拥有高质量的内容是吸引潜在客户的关键之一。然而,为外贸网站生产大量优质的文章内容可能是一项耗时且繁琐的任务。因此,外贸网站文章批量生成软件成为了解决这一难题的…

【Spring MVC】Spring MVC拦截器(Interceptor)

目录 一、拦截器介绍 二、拦截器 Interceptor 定义 2.1 HandlerInterceptor接口 2.2 Spring MVC中提供的一些HandlerInterceptor接口实现类 1、AsyncHandlerInterceptor 2、WebRequestInterceptor 3、MappedInterceptor 4、ConversionServiceExposingInterceptor 三、拦…

研究人员发现 OpenAI ChatGPT、Google Gemini 的漏洞

自 OpenAI 推出 ChatGPT 以来,生成式 AI 聊天机器人的数量及其在企业中的采用率在一年多时间里呈爆炸式增长,但网络安全专业人士的担忧也随之增加,他们不仅担心威胁组织对新兴技术的使用,还担心大型网络的安全性及模型&#xff08…

Chrome历史版本下载地址:Google Chrome Older Versions Download (Windows, Linux Mac)

最近升级到最新版本Chrome后发现页面居然显示错乱,是在无语, 打算退回原来的版本, 又发现官方只提供最新的版本下载, 为了解决这个问题所有收集了Chrome历史版本的下载地址分享给大家. Google Chrome Windows version 32-bit VersionSizeDate104.0.5112.10279.68 MB2022-05-30…

【小迪安全】学习cho1

介绍了一些名词: POC、EXP、Payload与Shellcode nc -lvvp 端口号 监听服务器端口 个人用机使用最多的是:windows10 服务器用机使用最多的是:Windows8,12,16 流量被防火墙拦截了,到这里进行给与权限 文件…

【CNN轻量化】RepViT: Revisiting Mobile CNN From ViT Perspective

RepViT: Revisiting Mobile CNN From ViT Perspective 论文链接:https://arxiv.org/abs/2307.09283 代码链接:https://github.com/THU-MIG/RepViT 一、摘要 探究了许多轻量级ViTs和轻量级CNNs之间的结构联系。文中从ViT的视角重新审视轻量级CNNs的高效…