解决GPT-4o耗电难题!DeepMind新算法训练效率提升13倍,能耗降低10倍!

目录

01 有更好的解决方案吗?

02 从“超级batch”中筛选数据

03  技术介绍

04 实验结果

生成可学习batch



谷歌DeepMind推出的新算法JEST,将LLM训练的迭代次数减少了13倍,计算量降低了10倍,有望重塑AI未来。

GPT-4o早已成为耗能巨头:一天耗电超过50万度,相当于1.7万个美国家庭的用电量!



然而,大模型对能源的消耗不仅如此。

国际能源署(IEA)预测,从2022年到2026年,数据中心的用电量将翻倍。


随着AI计算需求的增加,还需要用水来冷却计算系统。

研究表明,微软的用水量从2021年到2022年增加了34%,ChatGPT每处理5-50个提示就会消耗接近半升水。


没体验过OpenAI最新版GPT-4o?快戳最详细升级教程,几分钟搞定:
升级ChatGPT-4o Turbo步骤icon-default.png?t=N7T8https://www.zhihu.com/pin/1768399982598909952

如何使用WildCard正确方式打开GPT-4o,目前 WildCard 支持的服务非常齐全,可以说是应有尽有!

官网有更详细介绍:WildCard


01 有更好的解决方案吗?



最近,谷歌DeepMind研究团队提出了一种加快AI训练的新方法——多模态对比学习与联合示例选择(JEST),大大减少了所需的计算资源和时间。

论文地址:https://arxiv.org/pdf/2406.17711



JEST以13倍更少的迭代次数和10倍更少的计算量,超越了最先进的模型!

预训练的参考模型已经学会了哪些数据是优质或有用的,然后通过模型引导选择这些精心筛选的小型数据集。



这一发现揭示了数据筛选水平可以作为评判Scaling Law的新维度。

网友激动地表示,“我没想到这么快就会发生。

模型能够自主选择训练数据的能力是巨大的,因为它使训练变得显著更容易,你不再需要猜测什么是高质量的训练数据,你有一个能够‘理解’什么样的数据对自身学习最有价值的模型”。
 

02 从“超级batch”中筛选数据



无论是语言、视觉还是多模态模型,数据质量是预训练性能的重要驱动因素。

例如Phi-3、Gemma 2等模型的成功表明,更少、更高质量的数据可能实现更强大的性能。

要筛选出高质量的数据,数据管道的建立变得尤为重要。

现有的方法主要有两种:

1)手动管理

2)基于模型的数据管理,用正在训练模型的特征选择高质量数据。



前者成本高昂且难以扩展,后者则有望为多模态LLM实现Scaling Law。
然而,现有方法忽略了一个事实。

如果仅在单个数据点的层面进行筛选,就没有考虑到数据集以及batch的总体组成。毕竟,训练数据是以batch为单位,数据点之间的依赖性不可忽视。

许多计算机视觉研究表明,相比可被平凡解的数据簇,hard negatives(表达空间中相近但标签不同的样本)能提供更有效的学习信号。

那么如何让模型以batch为单位筛选数据呢?

论文提出的JEST算法正是为了解决这个问题,原理很简单:直接从“超级batch”中筛选出“子batch”。

03  技术介绍

用数学语言描述这个问题,就是从大小为B的“超级batch”𝒟中提取出与学习最相关的子batch ℬ={𝒙𝑖,𝑖∈[1,…,𝑏]}⊂𝒟,过滤比率可以写作𝑓=1−𝑏/𝐵。

之前的优先采样(prioritized sampling)使用基于模型的评分函数对每个数据点打分,再按比例采样。JEST则直接对整个子batch评分,再按照batch级别的分数采样。

一种直观的启发式方法是直接选择损失值最高的batch,这种方法可称为“硬学习”(hard learner)。

这种方法具有丢弃琐碎数据的理想属性,适用于小型、干净的数据集;但对于较大、较少管理的数据集可能不太适用,因为它仍然会采样到噪声数据。

另一种方法常用于多模态,使用具有参数 𝜃∗:𝑠^easy⁢(ℬ|𝜃∗)=−ℓ⁢(ℬ|𝜃∗) 的参考模型为预训练模型采样数据。但作者否定了这个方案,因为它无法直接反映模型当前的状态,可能过度依赖参考模型的选择,不易扩展。

最后,论文选择结合ICML 2022年一篇论文中的方法,将上述两方面的评分结合起来:𝑠^learn⁢(ℬ|𝜃,𝜃∗)=𝑠hard⁢(ℬ|𝜃)+𝑠^easy⁢(ℬ|𝜃∗)=ℓ⁢(ℬ|𝜃)−ℓ⁢(ℬ|𝜃∗),并将这种启发式方法称为“可学习性评分”(learnability score)。

其中,batch上的损失值ℓ⁢(ℬ|𝜃)是各数据点之和,使用sigmoid对比损失函数计算(sigmoid-contrastive loss),相比softmax对比损失具有更强的扩展性。

由于batch上的对比损失可以分解为每个样本的条件损失之和,因此可学习性评分可被分解为单个样本可学习性评分𝑠⁢(𝒙|𝜃,𝜃∗,ℬ)之和,写作:

使用的顺序采样方法则受到了block Gibbs采样的启发。在第n次迭代、对第B_n个batch进行采样时,依据如下概率公式对块{X_k}进行无替换采样:

将X_k块添加到B_n中来更新当前采样的batch,直至迭代数n=N时终止。算法的总体流程如下图所示:

实验发现,在使用迭代数N=16且每次迭代独立采样b/N=2048个样本时,便可恢复出具有高度学习性的batch。

可学习性评分需要使用参考模型为数据点打分,之前的方法常用额外的小型模型,但这会增加每次迭代的计算成本,降低整体的FLOP效率增益。

因此,论文采用了在线模型近似的方法和高效的FlexiViT架构,仅使用32×32分辨率的patch来评估“超级batch”,与全分辨率、16×16 patch的方法相比,减少了72%的FLOP和67%的挂钟时间(wall-clock time)。

此外,论文还提出了多分辨率训练的技巧。将每个batch随机分成两半,使用不同分辨率编码后再拼接,提升了评分过程和训练的效率。

下图详细描述了全分辨率JEST和多分辨率FlexiJEST方法的伪代码实现:

04 实验结果


图1展示了使用JEST或FlexiJEST方法后效率的显著提升。

左图显示,JEST++在训练数据量减少13.1倍的情况下,仍能达到与原有SigLIP基线模型相同的准确率。

即使考虑到额外引入的评分成本,JEST++在浮点运算次数(FLOP)上也提升了近10倍(中图)。

右图对比了JEST++/FlexiJEST++(绿色)与之前的方法(灰色),相较于经典模型CLIP和EVA-CLIP,JEST++/FlexiJEST++在计算成本和性能上都实现了双重提升。

生成可学习batch

研究人员首先评估了JEST在选择可学习batch方面的效果。

为了直观理解这一方法,作者们将可学习性矩阵进行了可视化,即展示学习模型和参考模型之间,对batch中所有示例对的损失差异。

JEST按照示例子矩阵的可学习性总和比例进行采样。

由于矩阵明显非对角关系(图2,左),独立选择显然是次优的。

经过少量迭代(使用N=16个块填充batch),作者发现子batch的可学习性快速增加,达到了需要数千次迭代的暴力吉布斯采样(Gibbs sampling)才能提取到的可学习性(图2,中)。

对于0.5、0.8和0.9的过滤比例,他们从大小分别为65,536、163,840和327,680的超级batch中选择32,768个示例的子batch。

在图2右侧,研究者还发现子batch的可学习性随着更大过滤比例的增加而提高。

总之,JEST算法是在训练过程中选择高度可学习batch的一种有效且高效的方法。


如何使用WildCard正确方式打开GPT-4o,目前 WildCard 支持的服务非常齐全,可以说是应有尽有!

官网有更详细介绍:​​​​​WildCard

推荐阅读:

GPT-4o不仅能写代码,还能自查Bug,程序员替代进程再进一步!

GPT-4替代大学生参加考试,94%成功作弊未被发现!

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

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

相关文章

linux 0.11 中的重要的全局变量

通过对全局变量的了解,也有助于了解整个代码的逻辑。就跟学习类一样,了解类有哪些成员变量,也有助于了解类的成员函数的功能。 (1)内存初始化相关 static u_char mem_map [ PAGING_PAGES ] { 0 , } .本数组对 1M 以外…

数据结构 —— BellmanFord算法

数据结构 —— BellmanFord算法 BellmanFord算法检测负权值环BellmanFord和Dijkstra思想上的区别Dijkstra算法的思想Bellman-Ford算法的思想思想上的对比 我们今天来看一个算法BellmanFord算法,我们之前的Dijkstra算法只能用来解决正权图的单源最短路径问题。 Bell…

06浅谈大语言模型可调节参数TopP和TopK

浅谈大模型参数TopP和TopK 大语言模型中的temperature、top_p和top_k参数是用来控制模型生成文本时的随机性和创造性的。下面分享一下topP和topK两个参数的意义及逻辑; top K(Top-K Sampling) 作用:只从模型认为最可能的k个词中选…

Nodejs 第八十四章(ElasticSearch搜索)

ElasticSearch基本用法在之前的篇章介绍过了 这里不在过多阐述 模拟假数据 安装库 faker-js/faker 模拟假数据的一个库非常好用支持中文使用中文 locale: [zh_CN], 设置即可生成名字,邮箱,手机号,id,年龄,性别生成完成…

Python功能制作之获取CSDN所有发布文章的对应数据

大家好,今天我要分享的是一个实用的Python脚本,它可以帮助你批量获取CSDN博客上所有发布文章的相关数据,并将这些数据保存到Excel文件中。此外,脚本还会为每篇文章获取一个质量分,并将这个分数也记录在Excel中。让我们…

LLM-阿里云 DashVector + ModelScope 多模态向量化实时文本搜图实战总结

文章目录 前言步骤图片数据Embedding入库文本检索 完整代码 前言 本文使用阿里云的向量检索服务(DashVector),结合 ONE-PEACE多模态模型,构建实时的“文本搜图片”的多模态检索能力。整体流程如下: 多模态数据Embedd…

HTML5新增的input元素类型:number、range、email、color、date等

HTML5 大幅度地增加与改良了 input 元素的种类,可以简单地使用这些元素来实现 HTML5 之前需要使用 JavaScript 才能实现的许多功能。 到目前为止,大部分浏览器都支持 input 元素的种类。对于不支持新增 input 元素的浏览器,input 元素被统一…

采购订单列表根据条件设置行背景色

文章目录 采购订单列表根据条件设置行背景色Python实现Bos配置实现-列表条件格式化 采购订单列表根据条件设置行背景色 Python实现 python脚本 import clr clr.AddReference(System) clr.AddReference(Kingdee.BOS) clr.AddReference(Kingdee.BOS.Core) clr.AddReference(Sy…

spark shuffle写操作——SortShuffleWriter

写入的简单流程: 1.生成ExternalSorter对象 2.将消息都是插入ExternalSorter对象中 3.获取到mapOutputWriter,将中间产生的临时文件合并到一个临时文件 4.生成最后的data文件和index文件 可以看到写入的重点类是ExternalSorter对象 ExternalSorter 基…

高创新 | CEEMDAN-VMD-GRU-Attention双重分解+门控循环单元+注意力机制多元时间序列预测

目录 效果一览基本介绍模型设计程序设计参考资料 效果一览 基本介绍 高创新 | CEEMDAN-VMD-GRU-Attention双重分解门控循环单元注意力机制多元时间序列预测 本文提出一种基于CEEMDAN 的二次分解方法,通过样本熵重构CEEMDAN 分解后的序列,复杂序列通过VMD…

算法日常练习

对于这个题&#xff0c;如何处理同一个方向的问题&#xff0c;且对于同一组的如果间隔太大如何实现离散化 #include<bits/stdc.h> using namespace std;#define int long long typedef long long ll; map<pair<int,int>,vector<pair<ll,ll>>> mp…

小程序做自定义分享封面图,Canvas base64图片数据真机上不显示?【已解决】

首选说一下需求&#xff0c;做一个小程序分享&#xff0c;但是封面图要自定义&#xff0c;除了要有对应商品还有有背景图&#xff0c;商品名。类似这种 实现逻辑&#xff0c;把商品图和背景图&#xff0c;再加上价格和商品名用canvas 渲染出来 这是弄好之后的效果图&#xff0…

【简历】兰州某大学一本硕士:面试通过率基本是为0

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这是一个一本硕士的Java简历&#xff0c;那这个简历因为学校本身&#xff0c;它是一个一本的硕士&#xff0c;我们一般认为这一本硕士&a…

Riscv 架构的合规测试

为啥直接关注riscv-arch-test&#xff0c;是因为RISCOF 测试框架使用的是riscv-arch-test 1. The architectural test 架构测试是一个单一的测试&#xff0c;代表了可编译和运行的最小测试代码。它是用汇编代码编写的&#xff0c;其产品是test signature。一个架构测试可能由…

体育资讯小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;球员管理&#xff0c;教练管理&#xff0c;赛事日程管理&#xff0c;赛事类型管理&#xff0c;联赛积分榜管理 开发系统&#xff1a;Windows 架构模式&#xff1a;SSM JDK版本&am…

【前端项目笔记】10 项目优化上线

项目优化上线 目标&#xff1a;优化Vue项目部署Vue项目&#xff08;上线提供使用&#xff09; 项目优化 项目优化策略&#xff1a; 生成打包报告&#xff1a;根据生成的报告发现问题并解决第三方库启用CDN&#xff1a;提高首屏页面的加载效率Element-UI组件按需加载路由懒加…

java算法day12

java算法day12 199二叉树的右视图637二叉树的层平均值515 在每个树行中找最大值429 N叉树的层序遍历116 填充每个节点的下一个右侧节点指针 199 二叉树的右视图 这题还是层序遍历的板子&#xff0c;但是在处理上略有差异 这个题我一开始的想法就有误&#xff0c;因为我一开始…

通过手机供网、可修改WIFI_MAC的网络设备

一、修改WIFI mac&#xff08;bssid&#xff09; 取一根网线&#xff0c;一头连着设备黄色网口、一头连着电脑按住设备reset按键&#xff0c;插入电源线&#xff0c;观察到蓝灯闪烁后再松开reset按键 打开电脑浏览器&#xff0c;进入192.168.1.1&#xff0c;选择“MAC 地址修改…

彻底开源,免费商用,上海AI实验室把大模型门槛打下来

终于&#xff0c;业内迎来了首个全链条大模型开源体系。 大模型领域&#xff0c;有人探索前沿技术&#xff0c;有人在加速落地&#xff0c;也有人正在推动整个社区进步。 就在近日&#xff0c;AI 社区迎来首个统一的全链条贯穿的大模型开源体系。 虽然社区有LLaMA等影响力较大…

uniapp实现光标闪烁(配合自己的键盘)

前言 因为公司业务需要&#xff0c;所以我们... 演示 其实就是Chat自动打字效果 代码 键盘请看这篇文件 <template> <view class"list"><view class"title"><text>手机号码</text></view><view class"ty…