EVA-CLIP: Improved Training Techniques for CLIP at Scale论文解读

文章目录

  • 前言
  • 一、摘要
  • 二、引言
  • 三、贡献
  • 四、模型方法
  • 五、论文链接
  • 总结


前言

最近,我一直在搞多模态大模型相关工作,也深知CLIP结构重要性,而EVA-CLIP论文是在CLIP模型基础上进行了一系列trick,实现优越CLIP模型的方法,恰巧该EVA-CLIP也被CogVLM模型作为图像特征提取。为此,我将在本博客对EVA-CLIP论文进行解读。


一、摘要

对比图形文本预训练模型,简称CLIP,因其在多个场景潜力受到很多人关注。在这篇文章,我们提出一系列EVA-CLIP模型,显著提高CLIP训练性能与效果。我们方法包含新的学习表征、优化器和增强,使EVA-CLIP实现更高性能,与先前相同参数下的CLIP模型相比,且更少训练成本。明显的,我们最大5B参数模型在9B课件样本实现82%zero-shot top-1精度在ImageNet-1K val数据上。更小430million参数和6B可见样本在ImageNet-1K val数据上实现80.4%zero-shot top-1精度。为了促进开放存取和开放研究,我们向社区发布了完整的EVA-CLIP代码。

在这里插入图片描述

二、引言

CLIP模型是一个很强的视觉语言基准模型,通过图像文本对比学习在大规模数据上预训练学习丰富视觉特征表达。CLIP模型显示了稳定的zero-shot迁移,能增强木多模态和单模态视觉任务,列如AI生成应用包含[41,20,32,45].尽管CLIP有很重要意义,但CLIP模型因其高计算成本和训练不稳定问题构成一个挑战。

在这篇文章,我们提出EVA-CLIP模型,一系列模型提供灵活、有效解决CLIP训练问题。我们方法包含一系列技术,能减少训练成本,使其稳定训练和提高泛化性能,包含CLIP预训练初始化EVA[20,19]方法,LAMB[52]优化器方法,随机drop 输入tokens[33]方法,和加速trick叫flash attention[15]方法。在这些技术下,我们能极大稳定CLIP模型训练,减少计算成本和改善性能。之后描述就是摘要实验结果。

三、贡献

集成众多论文一系列trick,减少CLIP模型训练成本、训练稳定、提供性能与泛化。

四、模型方法

该模型是对CLIP进行一系列trick优化其训练方法,至于众多优化方法来源不同文章方法,我将其罗列如下,至于更深入理解可自习根据论文查看。

CLIP初始化借鉴:
Exploring the limits of masked visual representation learning at scale
A visual representation for neon genesis

优化器借鉴:
Large batch optimization for deep learning: Training bert in 76 minutes

drop token借鉴:
Scaling language-image pre-training via masking

加速flash attention借鉴:
Flashattention: Fast and memory-efficient exact attention with io-awareness

五、论文链接

该论文有部分注释,下载链接如下:
链接:https://pan.baidu.com/s/1osN_qmRyrrMdQQ0S9GWVRA
提取码:clip


总结

一系列模型改善,使用其它模型系列方法改善CLIP训练的论文。

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

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

相关文章

SAP SQVI制作报表及SE93创建事务代码

在平时的项目中,财务想查询所有的凭证明细,SAP的查询凭证FB03不能满足需求,所以用SQVI制作一个简易的查询报表。 1、打开SQVI,填写自开发报表的名称“ZFB03”,点击“创建”,输入自开发报表的名称“凭证明细…

C++ 智能指针

1.why? ⾸先,说⼀下为什么要使⽤智能指针:智能指针其作⽤是管理⼀个指针,避免咋们程序员申请的空间在函数结束时忘记释放,造成内存泄漏这种情况滴发⽣。 然后使⽤智能指针可以很⼤程度上的避免这个问题,因…

“超人练习法”系列07:熟练掌握的几个阶段

在上一篇文章中,我们谈到了技能内化阶段,以开车为例,继续展示一个人在具体任务中的需求和挑战,是如何通过不断迭代而发生变化的。 第一个阶段,无意识的无能 有人说,无知是福,傻人有傻福。当你…

【AIGC】Controlnet:基于扩散模型的文生图的可控性

前言 controlnet可以让stable diffusion的生图变得可控。 文章连接:https://arxiv.org/pdf/2302.05543.pdf 摘要 冻结了stable diffusion的预训练模型并重用它的预训练编码层神经网络结构与零初始化卷积层连接,从零开始逐渐增加参数,并确…

Matlab:toposort

语法: n toposort(G) %调用toposort函数,对有向图G进行拓扑排序,并将排序结果存储在变量n中 n toposort(G,Order,algorithm) [n,H] toposort(___) %使用了两个输出参数的形式来调用toposort函数。除了返回排序结果n外&am…

数字集成电路VLSI复习笔记

逻辑门符号 Inverter CMOS NAND Gate CMOS NOR Gate MOS Capacitor nmos cutoff Linear Saturation Channel Charge Carrier velocity nMOS Linear I-V nMOS Saturation I-V Summary nMOS Operation pMOS Operation Inverter Step Response Delay Definitions 3-input NAND Ca…

只不过孤岛罢了:我的2023年总结

2023已悄然过去,还记得跨年夜那天,我突然接到一星期要期末考的消息,我的内心是多么奔溃,先不说一天一门强度如此之高,重要的是矩阵论,工程优化等等科目,还要速成,于是麻木得预习一日…

怎么理解接口幂等,项目中如何保证的接口幂等

都 2024 年了,竟然还有人不知道接口幂等是什么东西。 hi,大家好,我是 浮生 今天正好有空,给大家分享一下 幂等的实现。 什么是幂等? 一、问题解析 简单来说,就是一个接口,使用相同的参数重复执…

2.右值引用和移动语义

文章目录 右值引用和移动语义&&的特性右值引用优化性能,避免深拷贝移动(move )语义forward 完美转发emplace_back 减少内存拷贝和移动unordered container 无序容器map和unordered_map的差别内部实现机理不同优缺点以及适用处 小结优缺点以及适用处 小结 代…

JavaScript音视频,使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地

前言 本章介绍使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地。 实现功能 1、使用navigator.mediaDevices.getUserMedia获取摄像头画面 2、将获取到的摄像头画面渲染到canvas画板上 3、将canvas转换为blob对象 4、通过document.createElem…

哈希表的实现(1)----除留余数法实现

一,哈希表的介绍 哈希表是一种通过哈希思想实现的一种数据结构。哈希表这种数据结构的特点便是可以通过一个值快速的定位这个值所在的位置实现插入,删除,查找。在这篇博客里面,我们便来实现一个通过除留余数法实现的一个哈希表。 …

【软件工程】项目管理与迭代开发:DevOps平台、敏捷协作平台与软件需求交付

文章目录 1、项目管理与软件需求交付2、DevOps平台3、敏捷协作平台 1、项目管理与软件需求交付 软件需求交付方法: DevOps:DevOps是一种软件开发和运维的方法论,它强调开发团队和运维团队之间的紧密协作和沟通,以实现快速、高效、…

laravel 中间件记录日志

前提 我希望通过中间件记录用户的请求数据、我的返回数据,如果出现异常捕获异常。 代码 路由文件:追加中间件api-logging,用于记录日志 Route::prefix(api)->middleware([api, api-logging])->group(function () {...路由内容 });n…

IntersectionObserver

IntersectionObserver 这个API主要实现图片懒加载、加载更多等等。 该API作用是观察两个元素之间有没有交叉,有没有重叠 现在要做的是当图片跟视口有交叉的情况下,把data-src的图片路径替换给src属性 //第一个参数是 回调,第二个参数的 配置…

HarmonyOS4.0 系列——06、渲染之条件渲染、循环渲染以及懒加载渲染

HarmonyOS4.0 系列——06、渲染之条件渲染、循环渲染以及懒加载渲染 if/else:条件渲染 ArkTS 提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用 if、else 和 else if 渲染对应状态下的 UI 内容。 写法和 TS 的一样,简单看一下即可…

【数据结构之树和二叉树】

数据结构学习笔记---007 数据结构之树和二叉树概念篇1、树的概念和结构1.1、树的相关概念1.2、树的存储结构 2、二叉树概念及结构2.1、二叉树概念2.2、满二叉树2.3、完全二叉树2.4、满二叉树或完全二叉树的存储形式 3、堆的概念及结构3.1、堆的性质3.2、堆的意义 4、二叉树的存…

python_selenium_安装基础学习

目录 1.为什么使用selenium 2.安装selenium 2.1Chrome浏览器 2.2驱动 2.3下载selenium 2.4测试连接 3.selenium元素定位 3.1根据id来找到对象 3.2根据标签属性的属性值来获取对象 3.3根据xpath语句来获取对象 3.4根据标签的名字获取对象 3.5使用bs4的语法来获取对象…

解惑:测试圈网红工具 Jmeter 到底难在哪里

作为一名测试人员,你是否也曾经遇到过这些问题: 同样的起点,同样的工作时间,为什么别人接那么多项目,你还是在点点点;为什么别人升职了,而你还在原地踏步? 同样的工作内容&#xf…

GNU Tools使用笔记

GCC命令选项 预处理器选项 -M选项 作用:生成源文件的依赖关系,包含了该源文件所有的依赖,默认会发送到标准输出(stdout)。 示例1:在ubuntu中,新建如下main.c、main.h、head1.h、head2.h文件。…

数据库的数据类型

文章目录 前言一、数据类型数据类型分类数值类型bit类型小数类型floatdecimal 字符串类型charvarcharchar和varchar比较 日期和时间类型enum和set 前言 一、数据类型 数据类型分类 数值类型 下面我们来创建一个表,表中创建一个tinyint类型的数据。当我们不指定tiny…