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

news2024/11/23 12:37:24

目录

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.coloradmin.cn/o/1904762.html

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

相关文章

下载,连接mysql数据库驱动(最详细)

前言 本篇博客,我讲讲如何连接数据库?我使用mysql数据库举例。 目录 下载对应的数据库jar 包 百度网盘 存有8.4.0版本压缩包:链接:https://pan.baidu.com/s/13uZtXRmuewHRbXaaCU0Xsw?pwduipy 提取码:uipy 复制这…

使用Ubuntu 22.04安装Frappe-Bench【二】

系列文章目录 第一章 使用VMware创建Ubuntu 22.04【一】 文章目录 系列文章目录前言什么是Frappe-Bench?使用安装ERPNext能实现什么效果? 官网给了一个说明 一、使用Ubuntu 22.04安装Frappe-Bench一、安装要求二、安装命令三、 可能出现问题 总结 前言 …

GESP C++一级真题

PDF图片1-7 点赞❤️关注😍收藏⭐️ 互粉必回🙏🙏🙏

对BSV区块链的曼达拉网络通俗易懂的解释

​​发表时间:2023年6月15日 BSV区块链正在引入“曼达拉”升级,使BSV区块链网络的拓扑结构能够适配Teranode,适配这个可以大幅扩容的节点软件。BSV区块链上曼达拉网络的概念并不会改变整个系统的核心规则;相反,它能够引…

基于SSM+JSP的KTV点歌系统(带1w+文档)

基于SSMJSP的KTV点歌系统(带1w文档) 开发一个KTV点歌系统可以解决不利于线下点歌的问题,同时管理员可以利用网络对KTV点歌系统信息进行管理,设计的网站保证信息的完整安全,这样才能提高工作效率,保证系统安全正常的运行。 项目简介…

公众号文章阅读20w+?你猜腾讯给了我多少钱?

前两天写的一篇文章, 《1000T的文件怎么能快速从南京传到北京?最佳方案你肯定想不到》 一不小心被平台推荐,阅读量居然达到了20w(这篇收益在文章底部!)。 留言也是相当精彩 说来惭愧,这篇文章我…

【网络安全】实验三(基于Windows部署CA)

一、配置环境 打开两台虚拟机,并参照下图,搭建网络拓扑环境,要求两台虚拟的IP地址要按照图中的标识进行设置,并根据搭建完成情况,勾选对应选项。注:此处的学号本人学号的最后两位数字,1学号100…

Nestjs基础

一、创建项目 1、创建 安装 Nest CLI(只需要安装一次) npm i -g nestjs/cli 进入要创建项目的目录,使用 Nest CLI 创建项目 nest new 项目名 运行项目 npm run start 开发环境下运行,自动刷新服务 npm run start:dev 2、…

【Unity】RPG2D龙城纷争(八)寻路系统

更新日期:2024年7月4日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、寻路系统二、寻路规则(角色移动)三、寻路规则(角色攻击)四、角色移动寻路1.自定义寻路规则2.寻…

基于ROS的智能网联车远程交互软件,全UI无需记忆指令,剑指核心原理。

基于ROS的智能网联车远程交互软件,全UI无需记忆指令,剑指核心原理。 服务于中汽恒泰,伟大的项目,希望看官点赞,谢谢~~ 进程(节点)列表化,参数面板化,实现快速机器人配置…

52-5 内网代理2 - LCX端口转发(不推荐使用LCX)

环境搭建: 本地开3台虚拟机:kali(必须)、windows2012与2008 (可换成其他windows虚拟机) kali - 网络配置成桥接模式 windows2012 - 设置两个网卡,NAT与桥接模式 注意:windows2012要关闭防火墙,要不然其他主机ping不通 关闭防火墙后再开启远程桌面连接 windwos20…

计算机网络体系结构详解:协议与分层

在学习计算机网络时,理解网络协议与分层体系结构是至关重要的。本文将详细介绍这些概念,帮助基础小白快速入门。 1. 什么是网络协议 网络协议是计算机网络中用于数据交换的规则和标准。这些规则规定了数据格式、时序以及发送和接收数据时的动作。网络协…

【2024_CUMCM】数据预处理、数据分析、数据可视化

目录 2023-c题-问题1 问题分析 偏度 峰度 箱线图 读图 重采样、降采样、升采样 重采样 降采样 升采样 解题代码 2023-c题-问题1 问题分析 问题说白了就是探究品类和销售量这两个数据他们各自内在联系,根据题意,我们先进行数 据预处理&#…

归并排序的实现(递归与非递归)

概念 基本思想:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使…

【数据结构】经典链表题目详解集合(反转链表、相交链表、链表的中间节点、回文链表)

文章目录 一、反转链表1、程序详解2、代码 二、相交链表1、程序详解2、代码 三、链表的中间节点1、程序详解2、代码 四、回文链表1、程序详解2、代码 一、反转链表 1、程序详解 题目:给定单链表的头节点 head ,请反转链表,并返回反转后的链…

Open3D 删除点云中重叠的点(方法二)

目录 一、概述 1.1原理 1.2应用 二、代码实现 三、实现效果 3.1原始点云 3.2处理后点云 3.3数据对比 一、概述 在点云处理中,重叠点(即重复点)可能会对数据分析和处理的结果产生负面影响。因此,删除重叠点是点云预处理中常…

element-plus的文件上传组件el-upload

el-upload组件 支持多种风格,如文件列表,图片,图片卡片,支持多种事件,预览,删除,上传成功,上传中等钩子。 file-list:上传的文件集合,一定要用v-model:file-…

数据库系统原理练习 | 作业1-第1章绪论(附答案)

整理自博主本科《数据库系统原理》专业课完成的课后作业,以便各位学习数据库系统概论的小伙伴们参考、学习。 *文中若存在书写不合理的地方,欢迎各位斧正。 专业课本: 目录 一、选择题 二:简答题 三:综合题 一、选择…

验证回文串-string题目

用双指针&#xff0c;left right从两头往中间对比&#xff0c;不是字母的都略过&#xff0c;比的时候化成小写字母 125. 验证回文串 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool isPalindrome(string s) {if(s.size() < 1)return true;int left …

一.2.(2)基本共射放大电路组成、工作原理;

1.基本共射放大电路组成 共什么取决于输入输出&#xff0c;共剩下的那一极 2.工作原理 输入信号ui通过电容C1加到三极管的基 极&#xff0c;引起基极电流iB的变化&#xff0c;iB的变化又使集电极电流ic发生变 化&#xff0c;且ic的变化量是iB变化量的β倍。由于有集电极电压&…