多模态大语言模型(MLLM)-Deepseek Janus

在这里插入图片描述

论文链接:https://arxiv.org/abs/2410.13848
代码链接:https://github.com/deepseek-ai/Janus

本次解读Janus: Decoupling Visual Encoding for Unified Multimodal Understanding and Generation

前言

在这里插入图片描述
Deepseek出品,必属精品。

创新点

  • 传统方法在统一视觉理解、视觉生成任务上,做的不好。视觉理解侧重高层语义(例如类别、属性等),而视觉生成侧重低层语义(例如局部细节等),统一模型难以同时关注高层和低层语义信息。
  • Janus解耦视觉编码方式,为视觉理解、视觉生成选择对应的视觉编码器,避免了高层-低层语义信息的冲突。
  • Janus灵活可扩展,解耦的思想不仅可用于视觉理解、视觉生成,也可以扩展到点云、脑电信号、甚至是声音数据。
  • Janus用小体量模型,在视觉理解、视觉生成任务上,均取得了媲美中等体量模型的效果。
    在这里插入图片描述

具体细节

模型结构

在这里插入图片描述
整体模型结构见上图。

  • 针对文本理解任务:
    输入端:利用LLM内置的tokenizer将文本转化为ID,进而获取文本embedding,送到LLM(图中Auto-Regressive Transformer)中
    输出端:利用LLM内置的prediction head预测(上图Text De-Tokenizer)
  • 针对多模态理解任务
    输入端:利用SigLIP encoder(上图中Und. Encoder)提取高层语义特征,展平成1维 embedding。利用adaptor将1维序列转换为LLM可理解的embedding,送到LLM(图中Auto-Regressive Transformer)中
    输出端:利用LLM内置的prediction head预测(上图Text De-Tokenizer)
  • 针对视觉生成任务
    输入端:利用VQ tokenizer(上图中Gen. Encoder)将图像转换为离散ID,展平成1维 embedding。利用adaptor将1维序列转换为LLM可理解的embedding,送到LLM(图中Auto-Regressive Transformer)中
    输出端:利用一个随机初始化的prediction head实现图片生成(上图Image Decoder)

训练策略

在这里插入图片描述
整体分为三个阶段

阶段一:训练Adaptors和Image Head

训练数据

125w ShareGPT4V数据用于多模态理解+120w ImageNet-1K数据用于视觉生成。ShareGPT4V数据格式为<image><text>,ImageNet-1K数据格式为<category_name><image>

训练策略

阶段一的目标是实现视觉和文本在embedding层面互相理解(实现LLM理解图像,实现image head能生成图像)。
仅训练Adaptors和Image Head,其中Image Head可以理解为Image decoder

训练损失

文本、图像均建模成sequence的形式,利用next token prediction的loss进行训练(已知前i个token,预测第i个token)

阶段二:统一预训练

训练数据

来源较多

  • Text-only data(仅文本数据):DeepSeek-LLM用的文本语料
  • Interleaved image-text data(图像-文本 交错数据):WikiHow和WIT数据
  • Image caption data(图像描述数据):从多个来源(https://huggingface.co/datasets/dclure/laion-aesthetics-12m-umap、https://image-net.org/static_files/papers/imagenet_cvpr09.pdf等)里收集图像描述数据。所有图像描述数据重新建模成QA对的形式,例如Describe the image in detail.
  • Table and chart data.(图表数据):DeepSeek-VL用的图表数据
  • Visual generation data(视觉生成数据):两部分,一部分来自多个数据集(https://huggingface.co/datasets/dclure/laion-aesthetics-12m-umap、https://segment-anything.com/),另一部分是1百万内部数据。所有视觉生成数据格式整理成<caption><image>的形式
    一些训练的trick:
  • 图像描述数据里,有25%的概率,仅利用描述里的第一个句子,促使模型生成短描述
  • 前120k迭代中,使用ImageNet-1k进行简单的视觉生成训练,以帮助模型掌握基本的像素依赖关系;后60k迭代中,使用其他视觉生成数据集增强模型在开放领域的视觉生成能力。
训练策略

阶段二的目标是实现自通用的多模态理解和视觉生成能力。
所有参数均训练。
首先通过使用ImageNet-1k进行简单的视觉生成训练,以帮助模型掌握基本的像素依赖关系。随后,使用其他的视觉生成数据集增强模型在开放领域的视觉生成能力。

训练损失

同上

阶段三:有监督微调

训练数据

存在三种训练任务,不同任务需要的数据不一样

  • 文本理解任务:
  • 多模态理解任务:
  • 视觉生成任务:
    整体数据格式整理成User: \n Assistant: 的形式
训练策略

阶段三的目标是提升模型的指令遵循和图文对话的能力。
所有参数均训练。

训练损失

同上

推理

Janus采用next-token prediction的方式进行推理。

  • 对于文本理解/多模态理解任务,从预测分布里,采用传统的采样策略(n-gram、beam-search等)方式,实现文本token输出
  • 对于图像生成任务,采用classifier-free guidance (CFG)方式输出token(类似于https://arxiv.org/abs/2301.00704、https://arxiv.org/abs/2203.13131),下一个token的预测概率是
    在这里插入图片描述
    其中, l g l_g lg是conditional logit, l u l_u lu是unconditional logit, 𝑠 𝑠 s是scale,默认为5。

模型扩展

这一部分像是论文的展望。。。

多模态理解扩展

可以将模型架构图中的Und. Encoder替换成任意的视觉编码器,例如EVA-CLIP、Intern ViT等,也能采用一些动态高分辨率技术来支持大图输入。
通过替换Und. Encoder,Janus能够扩展到多种多模态理解任务上。

视觉生成扩展

为了在编码后保留更多图像细节,可以选择更细粒度的编码器,例如 MoVQGan。
可以采用专门为视觉生成设计的损失函数,例如扩散损失
在视觉生成过程中,可以结合使用 AR(因果注意力)和并行(双向注意力)方法,以减少视觉生成过程中累积的误差 。

更多模态扩展

借助解耦的思想,通过两个图像编码器分别建模高层、低层语义信息,实现视觉理解、视觉生成任务。该思想也可以扩展到点云、脑电信号、甚至是声音数据。
增加点云、脑电信号、甚至是声音数据对应的编码器即可

实验

实验细节

  • 使用 DeepSeek-LLM(1.3B)作为基础语言模型,其最大支持的序列长度为 4096。
  • 对于理解任务中使用的视觉编码器,选择了 SigLIP-Large-Patch16-384。
  • 生成编码器具有大小为 16,384 的码本,并将图像下采样 16 倍。
  • 视觉理解和视觉生成的adaptor都是两层的多层感知机(MLP)。
  • 在训练过程中使用序列打包来提高训练效率,类似于laion的数据组织形式
  • 在单个训练步骤中根据指定的比例混合所有数据类型,具体比例未知,行业机密。。。
  • 使用Deepseek自研的HAI-LLM进行训练和评估,AI Infra太重要了
  • 整个训练过程在一个由 16 个节点组成的集群上进行,每个节点配备 8 个 Nvidia A100(40GB)GPU,耗时 7 天。16*8块A100-40G 单次训练7天,仅硬件成本约66000元(按照https://ai.cnix.cn/market/compute租赁价格,8xA100-40G 单月16500,16500x16/4=66000)
  • Money is all your need

和sota的比较

和多模态理解sota模型比较,Janus以小体量,实现了媲美中体量模型的效果
在这里插入图片描述
和多模态生成sota模型比较,Janus以小体量,实现了媲美中体量模型的效果
在这里插入图片描述

消融实验

消融实验最有意思了
在这里插入图片描述

A:用VQ Tokenizer(低层语义信息编码器)实现视觉理解、视觉生成
B:用SE Tokenizer(高层语义信息编码器)实现视觉理解、视觉生成
C:用SE Tokenizer(高层语义信息编码器)实现视觉理解
D:用SigLIP(高层语义信息编码器)实现视觉理解;用VQ Tokenizer(低层语义信息编码器)实现视觉生成
E:用SigLIP(高层语义信息编码器)实现视觉理解
F:用VQ Tokenizer(低层语义信息编码器)实现视觉生成

解耦视觉编码器效果

A vs B:在视觉理解任务上,B效果显著优于A,说明SE Tokenizer(高层语义信息编码器)更适合视觉理解;在视觉生成任务上,A效果显著优于B,说明VQ Tokenizer(低层语义信息编码器)更适合视觉生成
B vs C:B用SE Tokenizer(高层语义信息编码器)实现两个任务,在理解任务上,效果不及C,说明单编码器在实现两个任务时,存在性能牺牲。

统一视觉理解和视觉生成效果

D vs E:在视觉理解任务上,效果基本持平
D vs F:在视觉生成任务上,效果差距不大
证明解耦视觉编码器能够有效平衡两个任务

可视化效果

视觉理解:
在这里插入图片描述

视觉生成:
在这里插入图片描述

笔者会持续关注多模态大语言模型(MLLM),对底层原理、经典论文、开源代码都会进行详细解读,欢迎交流学习。

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

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

相关文章

docker容器无法连接宿主机mysql排查

1、docker无法访问宿主机 在docker容器内&#xff0c;需要访问当前docker容器的网关&#xff0c;例如172.xx.0.1&#xff0c;即可访问宿主机&#xff0c;因此需要保证docker的网络配置正确 查看当前docker容器的网关&#xff1a; docker inspect 你的容器名或者容器id 显示…

【纯前端excel导出】vue2纯前端导出excel,使用xlsx插件,修改样式、合并单元格

官网&#xff1a; 1、xlsx-js-style xlsx-js-style | xlsx-js-style homepage 2、xlsx SheetJS 中文网 一、使用第三方插件 1、安装 npm install xlsx-js-style 2、引入 import xlsx from xlsx-js-style xlsx插件是基础的导出&#xff0c;不可以修改样式&#xff0c;直接xlsx-s…

文通车牌识别相机在工地称重应用中的卓越表现

在现代工地管理中&#xff0c;高效、准确的称重系统是确保工程顺利进行的关键之一。而文通车牌识别相机的出现&#xff0c;为工地称重应用带来了全新的解决方案。 一、工地称重面临的挑战 传统的工地称重方式往往存在着一些问题。人工记录车牌和重量信息容易出现错误&#xff0…

python-----函数详解(一)

一、概念及作用&#xff1a; 概念&#xff1a;由若干条语句组成语句块&#xff0c;其中包括函数名称、参数列表&#xff0c;它是组织代码的最小单元&#xff0c;完成一定的功能 作用&#xff1a;把一个代码封装成一个函数&#xff0c;一般按功能组织一段代码 目的就是为了重…

基于单片机的智能小区门禁系统设计(论文+源码)

1总体架构 智能小区门禁系统以STM32单片机和WiFi技术为核心&#xff0c;STM32单片机作为主控单元&#xff0c;通过WiFi模块实现与手机APP的连接&#xff0c;构建整个门禁系统。系统硬件包括RFID模块、指纹识别模块、显示屏、按键以及继电器。通过RFID绑定IC卡、APP面部识别、指…

百度搜索推广和信息流推广的区别,分别适用于什么场景!

信息流推广和搜索广告&#xff0c;不仅仅是百度&#xff0c;是很多平台的两个核心推广方式。 1、搜索广告&#xff1a; 就是基于用户的搜索习惯&#xff0c;更多是用户有疑问、还有用户当下就要做出行动的广告。 比如上门服务、线上咨询服务、招商加盟、了解产品各种型号和信…

STM32G4系列MCU的低功耗模式介绍

目录 概述 1 认识低功耗模式 1.1 低功耗模式的应用 1.2 低功耗模式介绍 2 低功耗模式的状态关系 2.1 低功耗模式可能的转换状态图 2.2 低功耗模式总结 3 运行模式 3.1 减慢系统时钟 3.2 外围时钟门控 3.3 低功耗运行模式&#xff08;LP运行&#xff09; 概述 本文主…

react 基础学习笔记

1.react 语法 ①数据渲染 函数组件将HTML结构直接写在函数的返回值中 JSX只能有一个根元素 JSX插值写法 插值可以使用的位置 1.标签内容&#xff1b; 2.标签属性 JSX 条件渲染&#xff1a;三目运算符&#xff1b; JSX根据数据进行列表渲染&#xff1a;map()方法&#x…

QT 机器视觉 1.相机类型

本专栏从实际需求场景出发详细还原、分别介绍大型工业化场景、专业实验室场景、自动化生产线场景、各种视觉检测物体场景介绍本专栏应用场景 更适合涉及到视觉相关工作者、包括但不限于一线操作人员、现场实施人员、项目相关维护人员&#xff0c;希望了解2D、3D相机视觉相关操作…

微服务与多租户详解:架构设计与实现

引言 在现代软件开发领域&#xff0c;微服务架构和多租户架构是两个重要的概念。微服务架构通过将应用程序拆分为多个独立的服务&#xff0c;提升了系统的灵活性和可维护性。而多租户架构则通过共享资源来服务多个客户&#xff0c;提高了资源利用率和系统的经济性。 一、微服务…

OpenCV的常用与形状形状描述相关函数及用法示例

OpenCV提供了提供了多种用于形状描述和分析的函数。这些函数能够帮助你提取图像中的形状特征&#xff0c;进行形状匹配、识别和分析。下面介绍一些常用的形状描述函数&#xff1a; 轮廓检测函数findContours() findContours()函数用于在二值图像中查找轮廓。有两个原型函数&…

【zlm】 webrtc源码讲解(二)

目录 webrtc播放 MultiMediaSourceMuxer里的_ring webrtc播放 > MediaServer.exe!mediakit::WebRtcPlayer::onStartWebRTC() 行 60 CMediaServer.exe!mediakit::WebRtcTransport::OnDtlsTransportConnected(const RTC::DtlsTransport * dtlsTransport, RTC::SrtpSession::…

tomcat部署war包部署运行,IDEA一键运行启动tomacat服务,maven打包为war包并部署到tomecat

tomcat部署war包前端访问 在Java Web开发中&#xff0c;Tomcat是一个非常流行的开源Web服务器和Servlet容器。它实现了Java Servlet和JavaServer Pages (JSP) 技术&#xff0c;提供了一个纯Java的Web应用环境。本文将介绍如何在Tomcat中部署运行WAR包&#xff0c;让你的应用快…

vue2 使用环境变量

一. 在根目录下创建.env.xxx文件 .env 基础系统变量&#xff0c;无论何种环境&#xff0c;都可使用其中配置的值&#xff0c;其他环境中的变量会覆盖.env中的同名变量。 .env.development 开发环境 .env.production 生产环境 .env.staging 测试环境 二. 内容格式 vue2 使用是以…

GRU神经网络理解

全文参考以下B站视频及《神经网络与深度学习》邱锡鹏&#xff0c;侧重对GPU模型的理解&#xff0c;初学者入门自用记录&#xff0c;有问题请指正【重温经典】GRU循环神经网络 —— LSTM的轻量级版本&#xff0c;大白话讲解_哔哩哔哩_bilibili 更新门、重置门、学习与输出 注&a…

STM32(二十一):看门狗

WDG&#xff08;Watchdog&#xff09;看门狗&#xff0c;手动重装寄存器的操作就是喂狗。 看门狗可以监控程序的运行状态&#xff0c;当程序因为设计漏洞、硬件故障、电磁干扰等原因&#xff0c;出现卡死或跑飞现象时&#xff0c;看门狗能及时复位程序&#xff0c;避免程序陷入…

数学建模微分方程模型——传染病模型

病毒也疯狂&#xff1a;细说传染病微分方程模型的那些事儿 “数学是打开科学大门的钥匙&#xff0c;而微分方程则是理解世界变化的密码。” 大家好&#xff01;今天我们要聊一聊一个既严肃又有趣的话题——传染病微分方程模型。别急&#xff0c;听起来高大上&#xff0c;其实一…

亚信安全DeepSecurity中标知名寿险机构云主机安全项目

近日&#xff0c;亚信安全DeepSecurity成功中标国内知名寿险机构的云主机安全项目。亚信安全凭借在云主机安全防护领域的突出技术优势&#xff0c;结合安全运营的能力&#xff0c;以“实战化”为指导&#xff0c;为用户提供无惧威胁攻击、无忧安全运营的一站式云安全体系&#…

【论文翻译】ICLR 2018 | DCRNN:扩散卷积递归神经网络:数据驱动的交通预测

论文题目Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting论文链接https://arxiv.org/abs/1707.01926源码地址https://github.com/liyaguang/DCRNN发表年份-会议/期刊2018 ICLR关键词交通预测&#xff0c;扩散卷积&#xff0c;递归神经网络…

数字+文旅:AI虚拟数字人如何焕发传统文旅景区新活力?

​​引言&#xff1a; 据《2024年中国数字文旅行业市场研究报告》显示&#xff0c;截至2022年&#xff0c;中国数字文旅市场规模已达到约9698.1亿元人民币&#xff0c;相较于2017年的7870.5亿元&#xff0c;实现了57.89%的显著增长。这一行业涵盖了数字化的文化遗产旅游、虚拟…