DataComp:探索下一代多模态数据集
目录
一、TL;DR
二、方法
2.1 为什么要单独研究数据质量?
2.2 数据质量的研究范式
3.1 传统的做法
3.2 数据剪枝和去重(paper直接翻译)
四、DataComp的benchmark
4.1 竞赛条件限制和目标
4.2 数据使用流程
4.3 训练过程
4.4 测试细节
五、去睡觉去了,明天再写
一、TL;DR
- 推出了DataComp,这是一个围绕从Common Crawl中提取的128亿图像-文本对候选池构建的数据集实验平台和数据实验范式,可用于各种filter的数据实验(具备不同规模实验能力)
- 提出了一个工作流,产生了DataComp-1B,同计算资源情况下,Vit-L/14实现zero-shot-79.2%的sota
二、方法
2.1 为什么要单独研究数据质量?
- 即使是LAION2B这种公开数据集,由于其规模/来源等,人们也不清楚其内容到底包括了什么
- paper指出尽管有超过千种针对算法的消融实验设计,但没有人专门去针对数据集设计去研究
- 数据集目前缺乏一种像模型改进那样持续稳定的开发流程,这种流程能够使得模型类似损失函数一样持续优化模型性能
2.2 数据质量的研究范式
- 核心贡献点1-整体方式:
- 提出DataComp,相较于传统的dataset不变,改变算法的方式,而是保持整个训练代码和计算资源不变,改变新的数据集从而达到指标的提升等创新
- 下游使用包括38个分类和检索的测试平台对模型进行评分,这些任务包括ImagenetV2、DTD、、COCO等
- 核心贡献点2-两个赛道:
- 筛选赛道:paper给出了Common Craw收集的128亿图文对,从这个common pool里面筛选出最佳子集用于训练
- 自带数据(BYOD):参与者可以利用任何数据源,只要它不与我们的评估测试平台重叠即可。
- 核心贡献点3-对数据集的设计的scale也进行了研究和设计:
- DataComp包括4个规模,从1280万-> 128亿样本,不同规模的指标如下所示:
- 在作者提供的A100集群上,单次训练运行的成本范围从4到40000 GPU小时,但结果的筛选排名的方法在不同规模上基本能够做到一致,就是说方法的有效性是通用的
- DataComp包括4个规模,从1280万-> 128亿样本,不同规模的指标如下所示:
- 核心贡献点4-设计和进行了300多个baseline实验:
- 包括相关关键词筛选、基于图像向量的筛选和基于clip的分数进行筛选等技术
- 关键结果:更小、更严格的数据集可以产生比来自同一池子的大型数据集泛化性能更强的模型
- 在128亿规模下,最好的筛选规模将Imagenet提升了6.9个点
- 在BYOD下,增加1.09亿数据,提点1.2个点
- 在128亿规模下,最好的筛选规模将Imagenet提升了6.9个点
- 核心贡献点5-提出DataComp-1B:
- benchmark的zero-shot上面达到了79.2%。与在LAION-2B上训练约3倍时间的更大CLIP ViT-g/14模型相比,计算成本降低了9倍,在使用相同的训练资源的情况下,比OpenAI的原始CLIP ViT-L/14高出3.7个百分点。
- benchmark的zero-shot上面达到了79.2%。与在LAION-2B上训练约3倍时间的更大CLIP ViT-g/14模型相比,计算成本降低了9倍,在使用相同的训练资源的情况下,比OpenAI的原始CLIP ViT-L/14高出3.7个百分点。
三、其他的工作(related work)
3.1 传统的做法
经典的研究通过数据集清理和异常值移除来丢弃可能导致模型出现不良偏差的样本。对应开发的一些列的子集选择算法,目标是从整个数据集中选择与完整数据集训练相同的性能(其实这个很牛逼啊)问题是这些工作无法扩展到大规模数据上,更近期的一些工作都是在小的规模上做的,比如TFC-5M,这些场景通常会无法反映几个问题:
- 带噪声的图像-文本对,而不是带有类别标签的图像;
- 大规模数据集(例如数十亿样本)
DataComp通过data-centric和大规模图文对相结合,来填补这个空白
3.2 数据剪枝和去重(paper直接翻译)
这个地方也许是我之前忽略的工作,后面详细补充
Sorscher等人表明,数据剪枝可以改善在ImageNet上的传统扩展趋势,但没有考虑图像-文本训练或更大的数据集。Raffel等人在创建C4语料库时移除了句子冗余。后续的研究进一步证明了去重对于更好的语言模型的益处。Radenovic等人为图像-文本数据集引入了CAT过滤——一个基于规则的系统,用于保留高质量样本。Abbas等人提出了SemDeDup,它从经过CAT过滤的LAION-440M子集开始,进一步利用聚类去除语义上的重复项。DataComp促进了更大规模(即128亿样本规模)的数据为中心的研究,并为数据集创建算法之间的公平比较提供了一个共同的实验设置。
四、DataComp的benchmark
4.1 竞赛条件限制和目标
更大的数据集通常会导致性能更好的模型,但是存在2个关键的约束:候选池大小(即要收集的图像-文本对的数量)和训练计算资源,数据集数量很好理解,训练计算资源要求的是规定训练期间看到的总样本数;
- 假设数据集A和B分别有64亿和32亿图像-文本对。在这个规模下,我们通过两次遍历A进行训练,而对B进行四次遍历。
- 我们实验的一个关键结果是,更小、筛选更严格的数据集可以导致泛化能力更强的模型。
4.2 数据使用流程
总体流程:URL提取与数据下载、NSFW(Not Safe For Work,不适宜工作场合的内容)检测、评估集去重以及面部模糊处理;
细节:略,不在本文描述的重点范围里面
这里面涉及到了使用NSFW、图片集去重、还有面部模糊对模型效果的影响一些实验参数,如果感兴趣还是需要参考原文
4.3 训练过程
创建了一个通用的实验设置,通过固定训练过程来实现可比的实验,使用clip的配置来from stracth来训练,但是模型是使用openclip训练的,不是openai的代码,训练的iteration由数据集大小决定
上面这个是具体训练的超参数,可以看到非常详细的说pool size
4.4 测试细节
五、去睡觉去了,明天再写
相关文章:
DataComp:探索下一代多模态数据集
目录 一、TL;DR 二、方法 2.1 为什么要单独研究数据质量? 2.2 数据质量的研究范式 三、其他的工作(related work) 3.1 传统的做法 3.2 数据剪枝和去重(paper直接翻译) 四、DataComp的benchmark 4.1 竞赛条件限…...
【linux】Linux 常见目录特性、权限和功能
目录特性默认权限主要功能/用途/根目录,所有目录的起点755文件系统的顶层目录,包含所有其他子目录和文件/bin基础二进制命令目录(系统启动和修复必需的命令)755存放所有用户可用的基本命令(如 ls, cp, bash 等…...
基于SpringBoot电脑组装系统平台系统功能实现六
一、前言介绍: 1.1 项目摘要 随着科技的进步,计算机硬件技术日新月异,包括处理器(CPU)、主板、内存、显卡等关键部件的性能不断提升,为电脑组装提供了更多的选择和可能性。不同的硬件组合可以构建出不同类…...
Direct2D 极速教程(1) —— 画图形
极速导航 Direct2D 简介创建新项目:001-DrawGraphics弄一个白窗口在窗口上画图 Direct2D 简介 大家在学 WINAPI 的时候的时候有没有想过,怎么在一副窗口上画图呢?大家知道 Windows 系统是 GUI 图形用户界面 系统,以 Graphics 图形…...
DF 开发1
https://www.bilibili.com/video/BV1RFChYxEhJ/ 多个 workspace 图片上传 S3 上传大量文档 https://www.bilibili.com/video/BV1ySsEeUE6i 解决方案 返回 metadata https://www.bilibili.com/video/BV1t3e5eaENo 给出内容引用出处 模型负载均衡 可以以 ollama 在不同端口起服…...
[Computer Vision]实验二:图像特征点提取
目录 一、实验内容 二、实验过程及结果 2.1 Harris角点检测 2.2 SIFT算法 三、实验小结 一、实验内容 采用Harris与SIFT分别提取特征点及对应的描述子,对比两者的区别(特征点数量、分布、描述子维度、图像变化对二者的影响等)利用特征匹…...
在做题中学习(82):最小覆盖子串
解法:同向双指针——>滑动窗口 思路:题目要求找到s里包含t所有字符的最小子串,这就需要记录在s中每次查找并扩大范围时所包含进去的字符种类是否和t的相同,并且:题目提示t中会有重复字符,因此不能简单认…...
< OS 有关> BaiduPCS-Go 程序的 菜单脚本 Script: BaiduPCS-Go.Menu.sh (bdgo.sh)
目标: 使用 日本阿里云的 VPM 传输文件。 暂时方案: 使用 主机JPN 下载 https://huggingface.co/ 上模型从 JPN 放到 度狗上在家里从狗度下载 为了减少编程,尽量使用现在软件 ,就找到 GitHub - qjfoidnh/BaiduPCS-Go: iikira…...
redis缓存和springboot缓存包冲突怎么办
如果Redis缓存与Spring Boot缓存包发生冲突,可以采取以下几种解决方案: 排除Spring Boot缓存包:在pom.xml文件中排除Spring Boot的缓存依赖,以避免与Redis缓存冲突。例如: <dependency><groupId>org.spr…...
云计算技术深度解析与代码使用案例
云计算技术深度解析与代码使用案例 引言 随着信息技术的飞速发展,云计算作为一种革命性的技术,正在逐步改变我们的生活和工作方式。云计算不仅提供了前所未有的计算能力和存储资源,还以其灵活性和可扩展性,成为现代企业数字化转型的重要支撑。本文将深入探讨云计算的核心…...
【教学类-89-01】20250127新年篇01—— 蛇年红包(WORD模版)
祈愿在2025蛇年里, 伟大的祖国风调雨顺、国泰民安、每个人齐心协力,共同经历这百年未有之大变局时代(国际政治、AI技术……) 祝福亲友同事孩子们平安健康(安全、安全、安全)、巳巳如意! 背景需…...
React Router v6配置路由守卫
首先准备好以下页面 登录页:用户可以在此页面登录。 受保护页:只有登录的用户可以访问,否则会重定向到登录页。 公共页面:不需要鉴权,任何人都可以访问。 1. 安装依赖 首先,我们需要安装 react-router-do…...
双层Git管理项目,github托管显示正常
双层Git管理项目,github托管显示正常 背景 在写React项目时,使用Next.js,该项目默认由git托管。但是我有在项目代码外层记笔记的习惯,我就在外层使用了git托管。 目录如下 code 层内也有.git 文件,对其托管。 我没太在意&…...
Linux--权限
Linux系统的权限管理是保障系统安全的重要机制,以下详细讲解权限相关概念及操作指令: 一、基础权限机制 1. 权限的三元组,读(r)、写(w)、执行(x) 每个文件或目录有三组…...
第25章 项目启航前的密谈
在那弥漫着严谨与专注气息的会议室里,苏睿所长端坐在会议桌前,宛如一座沉稳的山峰,散发着一种让人安心的力量。他的神情认真而庄重,目光中透着几分感慨,仿佛在时光的长河中回溯着项目的点点滴滴。微微侧身看向东方艾艾…...
ModernBERT 为我们带来了哪些启示?
当谷歌在 2018 年推出 BERT 模型时,恐怕没有料到这个 3.4 亿参数的模型会成为自然语言处理领域的奠基之作。 六年后的今天,面对动辄千亿参数的大语言模型浪潮,Answer.AI、LightOn与 HuggingFace 联手打造的 ModernBERT 却选择了一条返璞归真的…...
【MySQL】--- 复合查询 内外连接
Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: MySQL 🏠 基本查询回顾 假设有以下表结构: 查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为…...
Android Studio打包APK
1.导出APK安装包 如果是首次打包,Create new 单击蓝色对话框右边文件夹📂图标 ,选择密钥保存路径,然后在下方File name对话框中填写您想要名称,再点击OK回到密钥创建对话框。 在此对话框中填写密码(Passwo…...
RKNN_C++版本-YOLOV5
1.背景 为了实现低延时,所以开始看看C版本的rknn的使用,确实有不足的地方,请指正(代码借鉴了rk官方的仓库文件)。 2.基本的操作流程 1.读取模型初始化 // 设置基本信息 // 在postprocess.h文件中定义,详见…...
Git常用命令集合
见过不少人、经过不少事、也吃过不少苦,感悟世事无常、人心多变,靠着回忆将往事串珠成链,聊聊感情、谈谈发展,我慢慢写、你一点一点看...... git init <directory》初始化本地仓库 git add <file> 添加文件到暂存区 git …...
【deepseek】deepseek-r1本地部署-第一步:下载LM Studio
要下载LM Studio,可以按照以下步骤进行: 一、访问LM Studio官方网站 打开必应(注意!百度无法打开官网),输入LM Studio的官方网址:LM Studio - Discover, download, and run local LLMs。进入L…...
【数据结构】_链表经典算法OJ:合并两个有序数组
目录 1. 题目描述及链接 2. 解题思路 3. 程序 3.1 第一版 3.2 第二版 1. 题目描述及链接 题目链接:21. 合并两个有序链表 - 力扣(LeetCode) 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。 新链表是通过拼接给…...
mybatis(78/134)
前天学了很多,关于java的反射机制,其实跳过了new对象,然后底层生成了字节码,创建了对应的编码。手搓了一遍源码,还是比较复杂的。 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE …...
【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR、流水线及伪指令
文章目录 指令格式(重点)1. 立即数2. 寄存器位移 一、数据传送指令1. MOV指令2. MVN指令3. LDR指令 二、数据计算指令1. ADD指令1. SUB指令1. MUL指令 三、位运算指令1. AND指令2. ORR指令3. EOR指令4. BIC指令 四、比较指令五、跳转指令1. B/BL指令2. l…...
Mybatis配置文件详解
MyBatis通过XML或注解的方式将Java对象与数据库中的记录进行映射,极大地简化了数据访问层的开发。而在MyBatis的核心组成部分中,配置文件扮演着举足轻重的角色。它不仅定义了MyBatis的运行环境,还配置了数据源、事务管理、映射器等关键元素&a…...
一组开源、免费、Metro风格的 WPF UI 控件库
前言 今天大姚给大家分享一个开源、免费、Metro风格的 WPF UI 控件库:MahApps.Metro。 项目介绍 MahApps.Metro 是一个开源、免费、Metro风格的 WPF UI 控件库,提供了现代化、平滑和美观的控件和样式,帮助开发人员轻松创建具有现代感的 Win…...
.NET MAUI 入门学习指南
引言 在当今移动应用和跨平台开发的热潮中,.NET MAUI(Multi - platform App UI)应运而生,为开发者提供了一种高效、统一的方式来构建跨多个平台(如 iOS、Android、Windows 等)的原生应用。它整合了 Xamarin.Forms 的优点,并在此基础上进行了诸多改进和创新,使得开发者…...
【超详细】ELK实现日志采集(日志文件、springboot服务项目)进行实时日志采集上报
本文章介绍,Logstash进行自动采集服务器日志文件,并手把手教你如何在springboot项目中配置logstash进行日志自动上报与日志自定义格式输出给logstash。kibana如何进行配置索引模式,可以在kibana中看到采集到的日志 日志流程 logfile-> l…...
本地大模型编程实战(04)给文本自动打标签
文章目录 准备实例化本地大模型情感分析更精细的控制总结代码 使用本地大模型可以根据需要给文本打标签,本文介绍了如何基于 langchain 和本地部署的大模型给文本打标签。 本文使用 llama3.1 作为本地大模型,它的性能比非开源大模型要查一下,…...
JavaScript反爬技术解析与应对
JavaScript 反爬技术解析与应对 前言 在当今 Web 爬虫与数据抓取的生态环境中,网站运营方日益关注数据安全与隐私保护,因此逐步采用多种反爬技术来限制非授权访问。本文从 JavaScript 角度出发,深入剖析主流反爬策略的技术原理,…...
【C++动态规划 状态压缩】2741. 特别的排列|2020
本文涉及知识点 C动态规划 状态压缩 LeetCode2741. 特别的排列 给你一个下标从 0 开始的整数数组 nums ,它包含 n 个 互不相同 的正整数。如果 nums 的一个排列满足以下条件,我们称它是一个特别的排列: 对于 0 < i < n - 1 的下标 i…...
省级数字经济发展水平数据(2011-2022年)-社科数据
省级数字经济发展水平数据(2011-2022年)-社科数据https://download.csdn.net/download/paofuluolijiang/90028602 https://download.csdn.net/download/paofuluolijiang/90028602 数字经济是指以数据资源为关键要素、以现代信息网络为主要载体、以信息…...
【问题解决】el-upload数据上传成功后不显示成功icon
el-upload数据上传成功后不显示成功icon 原因 由于后端返回数据与要求形式不符,使用el-upload默认方法调用onSuccess钩子失败,上传文件的状态并未发生改变,因此数据上传成功后并未显示成功的icon标志。 解决方法 点击按钮,调用…...
新站如何快速获得搜索引擎收录?
本文来自:百万收录网 原文链接:https://www.baiwanshoulu.com/8.html 新站想要快速获得搜索引擎收录,需要采取一系列有针对性的策略。以下是一些具体的建议: 一、网站内容优化 高质量原创内容: 确保网站内容原创、…...
判断子序列
hello 大家好!今天开写一个新章节,每一天一道算法题。让我们一起来学习算法思维吧! function isSubsequence(s, t) {// 初始化两个指针,分别指向字符串 s 和 t 的起始位置let i 0; let j 0; // 当两个指针都未超出对应字符串的长…...
【Leetcode 热题 100】416. 分割等和子集
问题背景 给你一个 只包含正整数 的 非空 数组 n u m s nums nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 数据约束 1 ≤ n u m s . l e n g t h ≤ 200 1 \le nums.length \le 200 1≤nums.length≤200 1 ≤ n u m s [ i ] ≤ …...
Kotlin开发(六):Kotlin 数据类,密封类与枚举类
引言 想象一下,你是个 Kotlin 开发者,敲着代码忽然发现业务代码中需要一堆冗长的 POJO 类来传递数据。烦得很?别急,Kotlin 贴心的 数据类 能帮你自动生成 equals、hashCode,直接省时省力!再想想需要多种状…...
关于2024年
关于2024年 十分钟前我从床上爬起来,坐在电脑面前先后听了《黄金时代》——声音碎片和《Song F》——达达两首歌,我觉得躺着有些无聊,又或者除夕夜的晚上躺着让我觉得有些不适,我觉得自己应该爬起来,爬起来记录一下我…...
运算符(C#)
运算符(C#) 算数运算符 - * / % //算数运算符// - * / %//这跟我们初中的运算符一样// 加号Console.WriteLine(12);//3int a 5 6;Console.WriteLine(a);//11// - 减号Console.WriteLine(6-3);//3int b 10 - 6;Console.WriteLine(b);//4// * 乘号Console.WriteL…...
【AI论文】扩散对抗后训练用于一步视频生成总结
摘要:扩散模型被广泛应用于图像和视频生成,但其迭代生成过程缓慢且资源消耗大。尽管现有的蒸馏方法已显示出在图像领域实现一步生成的潜力,但它们仍存在显著的质量退化问题。在本研究中,我们提出了一种在扩散预训练后针对真实数据…...
Spring--SpringMVC使用(接收和响应数据、RESTFul风格设计、其他扩展)
SpringMVC使用 二.SpringMVC接收数据2.1访问路径设置2.2接收参数1.param和json2.param接收数据3 路径 参数接收4.json参数接收 2.3接收cookie数据2.4接收请求头数据2.5原生api获取2.6共享域对象 三.SringMVC响应数据3.1返回json数据ResponseBodyRestController 3.2返回静态资源…...
计算机毕业设计Django+Tensorflow音乐推荐系统 机器学习 深度学习 音乐可视化 音乐爬虫 知识图谱 混合神经网络推荐算法 大数据毕设
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
用HTML、CSS和JavaScript实现庆祝2025蛇年大吉(附源码)
用HTML、CSS和JavaScript庆祝2025蛇年大吉 在这个数字化时代,网页设计不仅仅是为了展示信息,更是传达情感和文化的一种方式。2025年将是蛇年,许多人希望通过各种方式庆祝这一重要的时刻。在这篇文章中,我们将一起学习如何使用HTM…...
Golang :用Redis构建高效灵活的应用程序
在当前的应用程序开发中,高效的数据存储和检索的必要性已经变得至关重要。Redis是一个快速的、开源的、内存中的数据结构存储,为各种应用场景提供了可靠的解决方案。在这个完整的指南中,我们将学习什么是Redis,通过Docker Compose…...
分布式微服务系统架构第88集:kafka集群
使用集 群最大的好处是可以跨服务器进行负载均衡,再则就是可以使用复制功能来避免因单点故 障造成的数据丢失。在维护 Kafka 或底层系统时,使用集群可以确保为客户端提供高可用 性。 需要多少个broker 一个 Kafka 集群需要多少个 broker 取决于以下几个因…...
【信息系统项目管理师-选择真题】2008下半年综合知识答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2~3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10~12题】【第13题】【第14~15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第21题】【第22题】【第23题】【第…...
Ubuntu 20.04安装Protocol Buffers 2.5.0
个人博客地址:Ubuntu 20.04安装Protocol Buffers 2.5.0 | 一张假钞的真实世界 安装过程 Protocol Buffers 2.5.0源码下载:https://github.com/protocolbuffers/protobuf/tree/v2.5.0。下载并解压。 将autogen.sh文件中以下内容: curl htt…...
MySQL知识点总结(十四)
mysqldump和mysqlpump实用程序在功能上有哪些相同和不同的地方? 二者都能用来执行逻辑备份,将所有数据库,特定数据库或特定表转储到文本文件,可移植,独立于存储引擎,是很好的复制/移动策略,适合…...
人工智能在教育中的创新应用:打造未来的智慧课堂
人工智能在教育中的创新应用:打造未来的智慧课堂 在快速发展的科技时代,人工智能(AI)正悄无声息地改变着教育的面貌。从个性化学习到智能课堂管理,AI技术为教育带来了前所未有的创新与效率提升。今天,我想从实际应用的角度,聊聊人工智能如何帮助我们构建更智慧的教育生…...
最初公共前缀
hello 大家好!今天开写一个新章节,每一天一道算法题。让我们一起来学习算法思维吧! function longestCommonPrefix(strs) {// 如果输入的字符串数组为空,直接返回空字符串if (strs.length 0) {return "";}// 假设数组中…...