Scaling Laws 又失灵了?谷歌新研究:扩散模型不是越大越好

近年来,模型规模呈现出愈来愈大的趋势,越来越多的人相信“力大砖飞”。

OpenAI 虽然没有公布Sora的训练细节,但在Sora的技术报告中提到了:

Our largest model, Sora, is capable of generating a minute of high fidelity video. Our results suggest that scaling video generation models is a promising path towards building general purpose simulators of the physical world. 我们最大的模型 Sora 能够生成一分钟的高保真视频。我们的结果表明,扩展视频生成模型是构建物理世界通用模拟器的一条有前途的途径。

OpenAI是Scaling Laws的坚定拥护者。可是模型训练是否真的大力出奇迹呢?

GPT-3.5研究测试: https://hujiaoai.cn

GPT-4研究测试: https://higpt4.cn

Claude-3研究测试(全面吊打GPT-4): https://hiclaude3.com

谷歌最新的研究结论:

不是!

谷歌研究院和约翰霍普金斯大学在最新的论文中指出:对于潜在扩散模型,模型不一定是越大越好。

论文链接:
https://arxiv.org/abs/2404.01367

Scaling laws 争议一直有

关于Scaling laws(中文译文:缩放定律),来自Open AI 2020年的论文《Scaling Laws for Neural Language Models》,简单说就是:模型的效果和规模大小、数据集大小、计算量大小强相关,而与模型的具体结构(层数/深度/宽度)弱相关。

论文链接
https://arxiv.org/pdf/2001.08361.pdf

Scaling Law不仅适用于语言模型,还适用于其他模态以及跨模态的场景。缩放定律提出的意义是重大的,根据它研究人员和开发者可以更有效地设计模型架构,选择合适的模型大小和数据集规模,以在有限的计算资源下实现最佳性能。

关于缩放定律的研究,先前的研究主要集中在大语言模型(LLM)上,关于它的争议一直存在:

OpenAI认为[1],每增加10倍的计算量,应该让数据集大小增加为约1.8倍,模型参数量增加为约5.5倍。换句话说,模型参数量更加的重要。

DeepMind认为[2],每增加10倍的计算量,应该让数据集大小增加为约3.16倍,模型参数量也增加为约3.16倍。换句话说,数据集大小和模型参数量一样重要。

先前,关于LLM的缩放定律已经被充分研究,而Google的最新研究则关注图像生成模型:潜在扩散模型(Latent Diffusion Models, LDMs),从DALL·E到最近大火的Sora,我们都能看到它的影子。但是谷歌的研究结论是:

对于LDMs,在计算资源较少时,如果增加10倍的计算量,应该让数据集大小增加为10倍,而不增加模型参数量。换句话说,数据集大小更加的重要。

Scaling Laws 又失灵了吗?

小模型的生成质量更好

作者设计了11个文本生成图像的LDM,其参数量从3900万到50亿不等,如下图所示,第一行是模型参数量,第二行是其中Unet模型的第一层宽度,第三和四行分别是模型的GFLOPS(运行一次前向传播和反向传播所需的计算量)和花费(相对于原始866M模型的花费,即假设866M模型的花费为1.00)

众所周知,模型的总计算量等于训练步骤和GFLOPS的乘积,所以在总计算量恒定的约束下,越大的模型能得到的训练步骤就越少,所以是模型大比较重要还是训练步骤多比较重要呢?

训练步骤多比较重要!在计算资源有限时,较小的模型(训练步骤多)可以胜过较大的模型(训练步骤少);模型大小以及训练步骤的选择要和计算资源适配。下面给出了一个定性的示例,可以看出小模型的效果更好一些。

但当训练步骤恒定时,依然是模型越大越好,下面给出了一个例子:训练步骤恒为500k,不同体积模型的生成效果。

但大模型更擅长图像细节

使用前面的text2image任务作为预训练任务,分别在超分辨率任务和DreamBooth任务上做微调,发现在超分辨率任务上,相同的计算量,模型越大,FID越低(生成质量越好),而超分辨率任务最考验模型的细节生成能力。

下面是一个定性的例子

在下面DreamBooth上的表现证明了同样的结论,即大模型更擅长图像细节。

不同体积模型的CFG相关性竟然基本一致

先简单介绍一下CFG:

CFG速率(Classifier-Free Guidance Rate)是一种在扩散模型中使用的技术,在文本到图像的生成任务中,它通过调整模型在随机生成和文本条件生成之间的平衡来实现这一目标。

扩散模型在生成过程中,通常会从一个纯噪声状态开始,逐步降噪直至产生清晰的图像。在这一过程中,CFG技术引入了一个额外的“引导”步骤,通过该步骤可以更加强烈地推动生成的图像朝着给定文本描述相符合的方向发展,CFG速率定义了这种引导的强度。

具体来说,CFG修改了模型在生成过程中使用的文本信息的权重。CFG速率为0意味着完全不使用文本信息,而较高的CFG速率意味着文本信息对生成过程的影响更大。通过调整CFG速率,可以在图文相关性与图像质量之间找到最佳平衡。

下图是不同模型和采样步骤下,最优的CFG热力图

你会发现,同一行的颜色基本是一致的,这说明不同体积的模型受CFG的影响是基本一致的,下面给出了一个定性的示例,从左到右的CFG逐渐提高。

虽然下面一行的整体质量比上面好,但是两行从左到右的整体变化趋势基本一样。甚至作者在蒸馏模型中进行同样的实验,依然能得到同样的结论。

效率与品质的探索

这项研究无疑将对开发更高效的图像生成AI系统产生深远影响,因为它提出了实现模型效率与质量之间最佳平衡的指导性建议。通过深入探索潜在扩散模型(LDM)的扩展特性及模型大小与性能的关系,研究人员得以精准调整,以达到效率和质量的和谐统一。

这些成果也与AI领域的最新动态相契合,比如LLaMa、Falcon等小型语言模型在多项任务中超越大型对手。这股推动开源、更小巧、更高效模型的发展势头,旨在推动AI技术的民主化,使开发者得以在不依赖庞大计算资源的情况下,于边缘设备上构建个性化的AI系统。

参考资料

[1]Kaplan J, McCandlish S, Henighan T, et al. Scaling laws for neural language models[J] arXiv preprint arXiv:2001.08361, 2020.
[2]Hoffmann J, Borgeaud S, Mensch A, et al. Training compute-optimal large language models [J] arXiv preprint arXiv:2203.15556, 2022.

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

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

相关文章

Dify开源大语言模型(LLM) 应用开发平台如何使用Docker部署与远程访问

文章目录 1. Docker部署Dify2. 本地访问Dify3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 本文主要介绍如何在Linux Ubuntu系统以Docker的方式快速部署Dify,并结合cpolar内网穿透工具实现公网远程访问本地Dify! Dify 是一款…

spring01:IOC(控制反转)

spring01:IOC(控制反转) 文章目录 spring01:IOC(控制反转)前言:一、IOC:inversion of control(控制反转)控制:控制对象的创建!&#x…

IDEA中修改git的作者、邮箱名称

目录 一、查看当前git信息 1、查看git作者名称 如下图: 2、查看git邮箱信息 二、修改git信息 1、修改git作者名称 如下图: 2、修改git邮箱名称 一、查看当前git信息 1、查看git作者名称 在git控制台 或者 Terminal 输入 git config user.name …

【Linux】基础IO----系统文件IO 文件描述符fd 重定向

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解在Linux下的系统文件IO,知道什么是文件描述符,什么是重定向 > 毒鸡汤:白日莫闲过,青春不再来。 …

linux:du和df区别

文章目录 1. 概述2. du 命令2. df 命令3. 区别总结 1. 概述 du 和 df 都是 Linux 系统中用于查看磁盘空间使用情况的命令,但它们的功能和用法有所不同。 2. du 命令 du 是 “disk usage” 的缩写,用于显示文件或目录的磁盘使用情况。du 命令用于查看指…

基于Socket简单的UDP网络程序

⭐小白苦学IT的博客主页 ⭐初学者必看:Linux操作系统入门 ⭐代码仓库:Linux代码仓库 ❤关注我一起讨论和学习Linux系统 1.前言 网络编程前言 网络编程是连接数字世界的桥梁,它让计算机之间能够交流信息,为我们的生活和工作带来便利…

机器学习笔记 - 深度学习遇到超大图像怎么办?使用 xT 对极大图像进行建模论文简读

作为计算机视觉研究人员,在处理大图像时,避免不了受到硬件的限制,毕竟大图像已经不再罕见,手机的相机和绕地球运行的卫星上的相机可以拍摄如此超大的照片,遇到超大图像的时候,我们当前最好的模型和硬件都会达到极限。 所以通常我们在处理大图像时会做出两个次优选择之一:…

lottery-攻防世界

题目 flag在这里要用钱买,这是个赌博网站。注册个账号,然后输入七位数字,中奖会得到相应奖励。 githacker获取网站源码 ,但是找到了flag文件但是没用。 bp 抓包发现api.php,并且出现我们的输入数字。 根据题目给的附…

推荐一款很强大的SCADA工业组态软件

可以广泛应用于化工、石化、制药、冶金、建材、市政、环保、电力等几十个行业。 I官网网站:www.hcy-soft.com |体验地址:http://www.byzt.net:60/sm/ 一、产品简介 BY组态是完全自主研发的集实时数据展示、动态交互等一体的全功能可视化平台。帮助物联网、工业互联网、电力能…

怎么防止文件被拷贝,复制别人拷贝电脑文件

怎么防止文件被拷贝,复制别人拷贝电,脑文件 防止文件被拷贝通常是为了保护敏感数据、知识产权或商业秘密不被未经授权的人员获取或传播。以下列出了一系列技术手段和策略,可以帮助您有效地防止文件被拷贝。 1. 终端管理软件: 如安企神、域智…

Node.js创建第一个web服务

如果用PHP来编写后端代码,需要用Apache或者Nginx的服务器,来处理客户的请求响应。对于Node.js时,不仅实现了应用,同时还实现了整个HTTP服务器. 安装 Node Snippets插件(编程自带提示) console.log(你好nodejs); //表…

MySQL高级篇(B-Tree、Btree)

目录 1、Btree(B-Tree) 1.1、B-Trees的特点 二叉树缺点:顺序插入时,会形成一个链表,查询性能大大降低。大数据量情况下,层级较深,检索速度慢。红黑树:大数据量情况下,层…

虚拟主机WordPress网站安装教程

一般的企业官网,简站WordPress小编都推荐使用虚拟主机,用虚拟主机搭建一般的WordPress企业官网足够用了。最主要的好处是使用虚拟主机可以省去了主机维护的成本。 下面是以简站WordPress主题在虚拟主机搭建企业官网为例子,写的一个教程&…

多叉树题目:子树中标签相同的结点数

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:子树中标签相同的结点数 出处:1519. 子树中标签相同的结点数 难度 5 级 题目描述 要求 给你一个树(即一个连通的无向无环图…

JDK下载及安装说明

1.JDK下载 访问oracle官网:http://www.oracle.com 在首页点击Downloads,进入oracle软件下载页。 在下载页面,点击Java。 选择Java (JDK) for Developers,点击。 在 Java SE Downloads 页面,点击中间的DO…

app上架-您的应用存在最近任务列表隐藏风险活动的行为,不符合华为应用市场审核标准。

上架提示 您的应用存在最近任务列表隐藏风险活动的行为,不符合华为应用市场审核标准。 修改建议:请参考测试结果进行修改。 请参考《审核指南》第2.19相关审核要求:https://developer.huawei.com/consumer/cn/doc/app/50104-02 造成原因 …

后端说处理了跨域但没有生效

场景: 常见的跨域报错,一般都是由后端进行setHeader/*什么的。但是现在这种情况就是后端说他们做了处理。但是我这边请求还是报错。 withCredentials: with-credentials用来设置是否发送cookie,如果为true就会在跨域请求时候携带cookie&…

libVLC 提取视频帧

在前面的文章中,我们使用libvlc_media_player_set_hwnd设置了视频的显示的窗口。 libvlc_media_player_set_hwnd(vlc_mediaPlayer, (void *)ui.widgetShow->winId()); 如果我们想要提取每一帧数据,将数据保存到本地,该如何操作呢&#x…

Golang 开发实战day09 - package Scope

🏆个人专栏 🤺 leetcode 🧗 Leetcode Prime 🏇 Golang20天教程 🚴‍♂️ Java问题收集园地 🌴 成长感悟 欢迎大家观看,不执着于追求顶峰,只享受探索过程 Golang 教程09 - package Sc…

算法练习第12天|● 239. 滑动窗口最大值● 347.前 K 个高频元素

239.滑动窗口的最大值 力扣原题 题目描述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff…