Llama 3-V: 比GPT4-V小100倍的SOTA

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模型领域最新技术跟踪。若对于如果构建生成级别的AI架构则可以关注AI架构设计专栏。技术宅麻烦死磕LLM背后的基础模型。
大模型领域风云变幻莫测。先是Llama3风靡全球,在几乎所有基准测试中都超越GPT-3.5,部分的基准测试超越了 GPT4。随后,GPT-4o横空出世,凭借其多模态重新夺回王位。而本文中的Llama3-v是研究人员带来新的惊喜,先看下图的统计。Llava是目前最先进的多模态理解模型,LLama3-V与Llava(多模态理解领域的SOTA)相比,提升了 10-20%。此外,除了MMMU之外,在其他指标的表现上和规模大于其 100 倍的闭源模型都毫不逊色。
基于Llama3 8B的LLama3-v与其他模型对比的基准指标数据:


模型架构

为了让Llama3理解视觉信息,因此研究人员将图像切块通过SigLIP模型获取图像的Embedding Vector,然后通过投影与输入文本Tokens对齐平面上。最后,投影块中的视觉Tokens添加到文本Tokens之前,并将联合表示传递到 Llama3。
SigLIP 模型由 Xiaohua Zhai、Basil Mustafa、Alexander Kolesnikov 和 Lucas Beyer在“Sigmoid Loss for Language Image Pre-Training”中提出。SigLIP 是一种与 CLIP 类似的图像嵌入模型。主要区别在于训练损失,SigLIP采用成对Sigmoid 损失,这允许模型独立地对每个图像-文本对进行操作,而无需对批次中的所有对进行全局查看,同时对 logits应用sigmoid激活函数,而不是softmax。

请看上图。换句大白话的说,sigLIP的损失函数是在文字Tokens和图像Tokens的两个序列的基础上计算出来。它指导着模型训练朝着这相同样本对(图,文)的点积值越大,而不同图文对的点积值越小的目标迈进。即矩阵对角线的越大,其余的各自越小。

上图为SigLIP的预训练过程,它在三个设备进行训练。每设备持有4幅图和文字,在单设备上各自运算。紧接着不同的设备交换文本计算损失,如此循环直到全部计算完毕。
SigLIP 的视觉编码器在高层次上将图像分割成一系列不重叠的图像块,并将它们投影到低维线性嵌入空间中,从而产生一系列块嵌入。然后,这些块嵌入经过视觉编码器,该编码器应用自注意力来捕获长距离依赖关系并提取更高级的视觉特征。
虽然为了节省计算资源,在LLama3-v中直接使用由Google DeepMind训练的原始SigLIP模型。然而为了与文本嵌入对齐,还是在SigLIP输出之后使用了额外的投影模块。这与将单个线性层应用于原始图像嵌入的Llava不同,这个模块被改为训练两个自注意力块以便于更好地捕获输入模式,从而生成最终的图像嵌入向量(Embedding Vector)。
对于文本输入,首先使用字节对编码 (BPE) 词汇表对文本进行Tokenizer,从而生成文本标记序列。这些标记(Token)会被包在特殊的 <text>和</text>标签中来进行区分。对于来自投影层的图像输出将被视为单独的“视觉标记”,并使用<image>和</image>标签划分它们。视觉标记序列前置到文本标记序列,形成新的序列成为Llama3的联合输入。

SigLIP
SigLIP模型比Llama3小得多,而且在整个过程中是被冻结参数的。因此对于预训练和 SFT,我们直接传入这些预先计算好的图像嵌入(Embedding),而不是重新运行SigLIP。这使得训练能够增加批处理大小并最大限度地利用GPU来运行SigLIP,还为节省了训练/推理时间。
为了进一步的优化速度,由于SigLIP也适合运行在Macbook,因此采用MPS 优化过的SigLIP模型上进行运算,这样一来就能够实现每秒 32 张图像的吞吐量,让上个步骤得以实行。
MPS(Metal Performance Shaders)是Apple提供的一套框架,专门用于在Apple设备上加速机器学习和图形计算。
通过SigLIP预计算图像嵌入的步骤,目标是将图像传入SigLIP以获得图像的矢量表示或嵌入。
由于分辨率较高,研究人员遵循LLaVA-UHD采用的方法并执行图像分割。图像分割的目的是将图像分成可变大小的块或片段,以实现更高效的编码和批量处理。

细节分析
首先加载 SigLIP 模型和处理器/标记器,然后使用处理器预处理提供的输入图像。紧跟着将预处理后的图像传递给模型。之后获得模型的输出,将 S型激活函数应用于输出以获得概率。
通过 SigLIP 计算图像嵌入之后,我们现在开始学习投影矩阵——你也可以将其视为投影层,它通常是线性或前馈层。如上文成分部分所述,投影层将视觉嵌入从其原始空间映射到联合多模态嵌入空间。具体而言,投影层将学习到的权重矩阵 Wv 应用于视觉嵌入 v 以获得投影的多模态视觉嵌入 Wv * v(矩阵运算)。通过投影之后,视觉和文本嵌入基本上被对齐到一个共同的多模态嵌入空间,这样一来视觉和文本就融合了,可以运用到各种的多模态任务,如视觉问答、图像字幕等。
根据上述而言图像标记序列添加到文本标记序列之前。之所以添加在前面,是因为将图像放在文本之前,可以让模型在预训练期间更容易学习。

这里借用了LLaVA-UHD的架构图,因为LLama3-v和LLaVA-UHD几乎相同,两者只不过在组件的选择不同而已。前者采用了SigLIP和LLama3,而后者选择CLIP-ViT和Vicuna-13B作为基座模型。

训练回放
训练分为两个阶段:在预训练中使用 600,000 个样本,该步骤保持 Llama-3架构的主要权重不变,主要训练投影矩阵。这里主要是为了训练图像Tokens与文本Tokens的联合对齐。
在第二个阶段微调更多的类似指令微调。这个步骤冻结SigLIP模型和投影层的权重,但是更新Llama3 8B模型的权重和其余的参数。这里用了大约1M张图像。除此之外还利用了从YI模型系列生成的多模态合成数据。
相关文章:
Llama 3-V: 比GPT4-V小100倍的SOTA
大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模…...
Anaconda安装配置
Anaconda下载: 网盘下载:https://pan.quark.cn/s/c5663477ccef 配置环境变量: 以管理员身份运行命令提示符 setx /M PATH "%PATH%;C:\ProgramData\anaconda3;C:\ProgramData\anaconda3\Scripts;C:\ProgramData\anaconda3\Library\bi…...
全面理解渗透测试
揭秘网络安全的秘密武器:全面理解渗透测试 在数字化时代,网络安全已成为人们关注的焦点。网络攻击和数据泄露事件频发,给个人、企业和国家带来了巨大的损失。为了应对这一挑战,渗透测试作为一种重要的网络安全评估手段࿰…...
「网络编程」基于 UDP 协议实现回显服务器
🎇个人主页:Ice_Sugar_7 🎇所属专栏:计网 🎇欢迎点赞收藏加关注哦! 实现回显服务器 🍉socket api🍉回显服务器🍌实现🥝服务器🥝客户端 dz…...
云数融合与大数据技术在日常生活中的创新应用探索
前言 移动云模型服务产品在中国移动旗下主要包括云计算、大数据、人工智能等服务,它依托广泛的算力资源(4N31X)、丰富的网络接入资源和高品质云专网,实现算网端资源一站式开通,构建企业级一体化解决方案。 文章目录 前言云计算的日常应用智…...
ETCD 备份与还原
安装etcdctl 准备看下etcd如何命令行操作,才发现,主机上,只用kubeadm拉起了etcd,但没有etcdctl命令。 # sudo docker ps -a | awk /etcd-master/{print $1} c4e3a57f05d7 26a11608b270 836dabc8e254 找到正在运行的etcd…...
LeeCode 1787 DP
题意 传送门 LeeCode 1787 使所有区间的异或结果为零 题解 任一个元素都至多对 k k k个长度为 k k k的区间产生影响,故难以直接依次处理每一个元素。 观察到满足条件的数组中模 k k k意义下索引相等的各个元素相同,故可以依次处理每一个同余类。 d p…...
如何有效屏蔽手机上的骚扰电话20240530
如何有效屏蔽手机上的骚扰电话 引言 最近,我的手机经常接到954开头的7位数字座机电话,这些骚扰电话让我非常困扰。由于我经常点外卖,无法屏蔽所有陌生号码,因此需要一个既能屏蔽特定前缀的骚扰电话,又不影响日常生活…...
Linux CGroup资源限制(概念限制进程CPU使用)
Linux CGroup资源限制(详解) 最近客户认为我们程序占用cpu过高,希望我们限制,排查之后发现是因为程序频繁gc导致,为了精细化、灵活的的限制,想到了使用Linux CGroup。 0 前置知识 ①概念及作用 官网&#…...
Latex中标注通讯作者
** 直接使用脚注,不用添加宏包 多个同地址的并列,建议加点空格,好看一些 ** \title{xxxxxxxxxxxxxxxxxxx}\author{xxxxxxxxxxxxxxxxxxx\footnote{Corresponding author} ,bbbbbbbbbbbbbbbbbbb}\address{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx…...
PyQt5开发笔记:1.环境搭建与界面美化
推荐视频教程: https://www.bilibili.com/video/BV1LT4y1e72X?p23&vd_source7ab611f3afb3d469faad93d3996f99ba 一、打开网址,点击下载 https://build-system.fman.io/qt-designer-download 下载后,点开exe 不推荐:http…...
公派/自费访问学者申请出国访学的常见问题解答(下)
06、学术背景和研究成果要求? 访学是面向学术单位和企事业单位开放的。 针对学术单位,比如高校与科研院所,学科内涉及的论文发表,课题研究,专利,著作,含金量较高的奖项等背景都是国外比较看重…...
完全指南:C语言学习资源汇总
C语言是编程学习的基石,无论是为了职业发展还是个人兴趣,掌握C语言都是技术生涯的重要一步。为了帮助初学者和有经验的程序员更好地学习和深化对C语言的理解,我们汇总了一系列优秀的书籍和在线资源。这些资源将帮助你从基础知识到高级概念&am…...
Kubernetes——Ingress详解
目录 前言——Service策略的作用 1.外部访问方案 2.使用场景和限制 2.1NodePort 2.2LoadBalancer 2.3externalIPs 2.4Ingress 3.Ingress如何实现对外服务 4.LB和Ingress结合起来实现对外服务的过程 一、Ingress 1.定义 2.组成 3.工作原理 4.总结 二、部署Nginx-I…...
反射、类加载、静态代理,jdk动态代理,cglib代理
一、 反射 反射是在程序运行状态下,动态获取类的结构(属性,构造器,方法,注解),动态的创建类对象然后调用类中的属性方法。反射的起源Class,Class中包含类反射要使用的API 获取Class的…...
MySQL Hints:控制查询优化器的选择
码到三十五 : 个人主页 MySQL Hints是优化数据库查询性能的一种强大工具。它们允许开发者在SQL查询中嵌入指令,以影响MySQL优化器的决策过程。在某些情况下,优化器可能无法选择最佳的查询执行计划,这时我们可以使用Hints来引导优化…...
【TB作品】msp430g2553单片机,OLED,PCF8591,ADC,DAC
硬件 OLED PCF8591 /** OLED* VCC GND* SCL接P2^0* SDA接P2^1*//** PCF8591* VCC GND* SCL接P1^4* SDA接P1^5*//* 板子上按键 P1.3 *//* 单片机ADC输入引脚 P1.1 *//* 说明:将PCF8591的DAC输出接到单片机ADC输入引脚 P1.1,单片机采集电压并显示 */功能…...
C#WPF数字大屏项目实战10--不良指标分页
1、区域划分 2、区域布局 3、视图模型 4、控件绑定 5、运行效果 走过路过,不要错过,欢迎点赞,收藏,转载,复制,抄袭,留言,动动你的金手指,财务自由...
数字塔问题
#include<iostream> using namespace std; //从下向上得到最优值 void dtower(int a[][100],int s[][100],int n) {for(int in; i>1; i--){for(int j1; j<i; j){if(in)s[i][j]a[i][j];else{int ts[i1][j];if(t<s[i1][j1])ts[i1][j1];s[i][j]a[i][j]t;}}} } void…...
【介绍下Pwn,什么是Pwn?】
🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
