街坊秀 街坊秀

当前位置: 首页 » 街坊资讯 »

训练一张图,到底需要喂它吃多少数据?

  炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!

(来源:科技行者)

Sora、Midjourney、Flux,这些名字你可能都听过。它们背后的图像生成模型一天比一天强,但有一个问题几乎没人认真回答过:训练这些模型的时候,模型该做多大,数据该喂多少,这中间有没有一个最优的配比?

在语言模型的世界里,这个问题早就有了标准答案。2022年,DeepMind的一篇论文提出了著名的"Chinchilla法则":每一个模型参数,配20个训练token,是最划算的组合。这个数字后来成了整个大模型行业的共识,OpenAI、Meta、DeepSeek训练模型时都在参考它。

但奇怪的是,图像生成模型这边一直没有一个可靠的答案。你去问任何一个做扩散模型的工程师"应该用多少数据训练多大的模型",得到的答案大概率是"凭经验试"。这次来自Luma AI的研究团队做了一件事:他们花了三个数量级的算力(从10的19次方到10的22次方FLOPs),训练了一个叫ABRA的模型家族,从6千万参数到20亿参数不等,专门就是为了把这个问题的答案钉死。

结果出来的时候,连他们自己可能都觉得有点意外:图像扩散模型的最优配比是每个参数配200个图像token,整整是语言模型Chinchilla法则的10倍。

这不是一个无关紧要的数字游戏。如果你是一家公司,手里有固定的算力预算,这个数字直接决定了你该把钱花在造更大的模型上,还是花在收集更多训练图片上。选错了,可能就是几百万美元算力打了水漂。

为什么图像生成一直缺一张"配方表"

先说说这事儿难在哪。

语言模型的训练相对干净:文本是一维的序列,一个token接一个token,损失曲线相对平滑,你喂进去多少算力,模型学得怎么样,这条关系比较容易被观测到。

图像不一样。

图片是二维的,信息密度会随着分辨率变化而变化,训练阶段和生成阶段用的是完全不同的流程,训练曲线还特别吵——这个"吵"不是比喻,是字面意义上的噪声巨大。论文里提到一个具体数据:他们训练一个2.5亿参数的模型,连续跑1万步,逐步的损失波动比这1万步里损失真正下降的幅度还要大4到7倍。

**这意味着,如果你只盯着某一步的训练损失变化,你根本看不出模型有没有在学习。**

这就像你在暴风雨天气里想测量一棵树到底长高了多少。风把树枝吹得东倒西歩,你拿着尺子量的瞬间读数完全不可靠,必须连续观测很多天,取平均趋势,才能看出这棵树真实的生长速度。如果不做这种平滑处理,你可能会得出"这棵树今天缩短了两厘米"的荒谬结论,仅仅因为风刚好把树枝吹弯了。研究团队的做法是用EMA(指数移动平均)权重,而不是原始训练损失来做所有拟合,这就是给这棵树的"生长曲线"做平滑处理。

> EMA(指数移动平均):一种给模型权重做平滑处理的技术,让评估用的模型参数不受单步训练波动的影响,更能反映真实的学习进度。

正因为这种噪声问题,之前唯一一篇做过类似研究的论文(Liang等人2024年的工作)只在10的19次方FLOPs以下做了实验,然后外推到10的21次方。这次ABRA团队直接把算力预算提高了一个数量级,而且用了一个"受控"的模型家族,就是说除了模型大小之外,其他所有设计尽量保持一致,这样得出的拟合曲线才更可信。

200 token每参数,这个数字从哪来

具体怎么算出来的?

团队没有真的去训练几百个不同大小、不同数据量的模型组合(那样太贵了),而是用了一个巧妙的办法:因为学习率是恒定的,他们把每个模型在训练过程中不同检查点的损失值,用一种叫PCHIP的插值方法连成一条连续的曲线。

> PCHIP插值:一种"形状保持"的曲线插值方法,能在数据点之间画出平滑且不会乱翘的曲线,比普通的直线连接更准确地反映真实趋势。

有了这条连续曲线之后,对于每一个固定的"每参数token数"(TPP,tokens per parameter),团队拟合了一条关于算力的幂律曲线。把这些曲线在不同算力预算下切一刀,看每一刀里损失最低的点落在哪个TPP上,最后所有这些最优点稳定地聚集在200 TPP附近。

> TPP(tokens per parameter):每个模型参数分配到的训练数据量,用图像token数除以参数数量得到,是衡量"数据够不够喂饱模型"的核心指标。

这里有个细节值得说一下:团队专门排除了最小的6千万参数模型,因为它明显是个异常值。这不是偷懒,学术圈公认,缩放定律只在"合适的区间"内成立,太小的模型行为往往和更大的模型不是一回事,硬塞进拟合里反而会带偏结果。

为了确认这个200不是拟合方法凑巧算出来的,团队还试了一堆不同的拟合方式:支撑超平面拟合、Kaplan风格的纯幂律拟合、Hoffmann风格的三种经典方法、换用Huber损失代替平方误差、换用线性插值代替PCHIP……几乎能想到的变体都试了一遍。结果所有方法给出的最优TPP都落在183到202这个窄区间里,误差不超过±17。

**这说明200 TPP这个结论相当稳固,不是某个特定算法选择带来的假象。**

那么为什么图像需要比文本多10倍的数据呢?论文里没有给出一个板上钉钉的解释,但可以合理推测:图像的信息冗余度更高,一张图片里相邻像素之间高度相关,模型需要看过大量样本才能真正学会"什么是自然图像的分布",而不是记住某些局部纹理的捷径。文本的信息密度天然更高,一个token往往承载着更精确的语义信息。

训练过头了,居然没什么坏处

这是整篇论文里最让人意外的发现。

在语言模型的世界里,"过度训练"(overtraining,也就是用远超Chinchilla法则的数据量去训练一个固定大小的模型)是有代价的。代价体现在哪呢?如果你的算力预算是固定的,把太多算力砸在训练一个"太小"的模型上,你损失的性能是实打实的、算得出来的数字。

论文提出了一个概念叫"损失惩罚",公式是这样的:固定一个算力预算C,找到这个预算下最优的模型大小,算出它能达到的最低损失。然后你拿一个"不是最优大小"的模型,用同样的算力去训练它,它的损失肯定会比最优点高,这个差值就是惩罚。

**结果发现,扩散模型如果训练量翻倍(也就是2倍过度训练),损失惩罚小于0.5%。**

这基本等于没有代价。

论文用了一个对照组:Gemstones,一个开源的语言模型缩放家族,参数量从4800万到20亿,覆盖的范围和ABRA差不多。同样是2倍过度训练的情况下,语言模型的损失惩罚就显著得多,而且更要命的是,语言模型对"训练不足"也特别敏感,惩罚曲线两边都陡。

图4里画的那个"计算最优配置"示意图很直观:如果训练曲线和缩放定律曲线相切的那一点是最优点,那么在这一点右边(过度训练方向),扩散模型的曲线几乎贴着缩放定律走,代价接近于零;但在左边(训练不足方向),代价会急剧上升,是灾难性的。

这带来一个非常实用的经验法则:**在算力有限的情况下,宁可训练一个偏小的模型、喂它更多数据,也不要冒险训练一个偏大的模型、数据喂得不够。**

想象你在给一个学生备考。如果这个学生复习资料准备得多一点(哪怕多到有点冗余),成绩基本不会受影响,最多是浪费了一点时间;但如果复习资料严重不足,这个学生上考场大概率考砸——这个不对称性正是扩散模型和语言模型的关键区别所在。语言模型更像一个对"喂料"特别敏感的胃,喂多喂少都容易出问题;扩散模型则更像一个耐受度很高的胃,喂多点没关系,但绝对不能喂少。

生成质量的指标,各有各的脾气

损失曲线只是故事的一半。对于图像生成来说,损失低不代表生成的图片好看,这是业内早就有共识的事情(Theis等人2016年的论文就讨论过这个问题)。

真正衡量生成质量的是一系列专门的指标:FID(衡量生成图像和真实图像分布的距离)、KID(一种核方法版本的距离度量)、CLIPScore(衡量生成图片和文本提示的匹配程度)、CMMD(另一种分布距离度量)。

> FID(Fréchet Inception Distance):通过比较生成图像和真实图像在某个特征空间里的统计分布差异,来衡量生成质量的常用指标,数值越小说明生成的图像分布越接近真实图像。

> CLIPScore:利用CLIP模型衡量生成图像与输入文本描述之间语义匹配程度的指标,数值越高说明"文生图"越准确。

这些指标还有个共同的麻烦,就是它们对CFG(classifier-free guidance,分类器自由引导)这个采样参数特别敏感。

> CFG(无分类器引导):一种在扩散模型采样时调节"生成图片有多贴合文本提示"的技术,CFG值越高,图片越贴合提示但可能牺牲多样性和真实感;CFG值越低,反之。

因为敏感度太高,你没办法在固定CFG的情况下比较不同大小的模型,必须给每个模型单独找到它自己的最优CFG值,再拿这个最优表现去做比较。团队确实这么做了,对每个模型规模、每个指标都扫了一遍CFG。

结果发现,所有这些生成质量指标都遵循幂律缩放规律,这一点和损失一样可预测。但它们各自的"最优数据/模型配比"却是分裂的:

FID和KID要求数据集增长得比模型参数快得多才能达到最优;而CLIPScore和CMMD反过来,要求模型参数增长得比数据集快才最优。也就是说,如果你专门为了优化FID去调配置,得出的模型大小和数据量组合,跟你专门为了优化CLIPScore去调,会是两条完全不同的路径。

**这说明一件挺重要的事:没有一个单一指标能定义什么叫"生成质量最优"。**

这其实并不让人意外,视觉质量这个东西,本来就没有一把万能的尺子能量出来(Stein等人2023年、Jayasumana等人2024年都讨论过这个现象),不同指标关注的是图像分布的不同侧面。FID更关注整体分布贴近度,CLIPScore更关注语义对齐。用一个指标去指导所有决策,就像用体重秤去判断一个人是否健康,体重当然是健康的一个方面,但绝不是全部。

顺便一提,论文还发现最优CFG值会随着模型变大、训练时间变长而系统性下降。这个规律直觉上也说得通:模型越强,它自己就越"懂"该生成什么样的图片,不需要额外的引导力度去纠偏;就像一个新手司机需要导航反复提醒转弯,老司机凭经验就知道路怎么走。

模型不仅会画画,还顺便学会了"看懂"图像

扩散模型除了会生成图片,还有一个副产品能力:它在训练过程中学到的内部表征,本身就是不错的图像理解工具。这一点在Xiang等人2023年的研究里已经被证实过,扩散模型的中间层特征可以直接拿来做图像分类。

ABRA团队专门做了一批线性探针(linear probing)实验来验证这件事。

> 线性探针:一种检验神经网络内部表征质量的方法,做法是冻结整个网络,只在某一层的输出后面接一个简单的线性分类器,看这层特征能不能被简单地"读出"图片的类别,用来间接衡量这层学到的东西有多好。

他们在冻结的ABRA各个检查点上跑ImageNet分类任务的线性探针,发现两个规律:中间层的特征表现最好(这和之前多个研究的结论一致),以及在扩散过程里选择偏高的时间步(大约t≈0.7,也就是相对接近纯噪声但还没完全变成噪声的阶段)效果最好。

真正有意思的是最优TPP的对比。**图像理解能力达到最优所需的TPP,比生成能力所需的TPP低得多。**而且理解能力的最优配比也不是均衡的D∝N关系,而是TPP随着算力增加持续走高,说明多花算力在扩大数据集上,比扩大模型参数更划算。

这暗示了一个"双最优点"的存在:训练规模小的时候,理解能力比生成能力更容易训练到位;但随着算力预算持续增长,两者最终会在某个点重合。论文估算这个交汇点大概在5×10??FLOPs、60亿参数模型附近。超过这个规模,如果按生成任务的最优配置去训练,模型的理解能力反而会显得"喂养不足"。

这个发现挺耐人寻味的。理解一张图和生成一张图,看似是同一个模型的两种输出模式,但对训练数据的胃口居然不一样。理解任务门槛更低,喂差不多的数据就能学得不错;生成任务要求更严苛,得看过足够多样的图片,模型才能画出真正逼真、贴合分布的内容。这就好比一个人识别一道菜和亲手做出这道菜完全是两种能力,前者看几次照片、吃过几次就能大致判断像不像,后者需要反复练习揉面、控温、调味,练习量的门槛天差地别。

曲线的"塌缩",一种训练是否走在正轨上的信号

这一部分需要先解释一个反直觉的概念,叫"缩放塌缩"(scaling collapse)。

这个概念最早是2025年Qiu等人在研究语言模型训练动态的时候提出的。他们发现,如果你把不同大小的语言模型的训练损失曲线,按照某种方式重新缩放(让起点和终点对齐),只要这些模型是按照计算最优的方式训练的,这些曲线会几乎完全重叠,塌缩成同一条曲线。不同大小的模型之间的差异,会小于同一个模型换个随机种子重跑一次带来的噪声。

ABRA团队第一次把这个现象搬到了扩散模型上验证。他们用ABRA-6千万、1.2亿、2.5亿三个模型分别跑了四个不同的随机种子(种子会影响初始化和数据顺序),然后按论文里定义的公式对损失曲线做归一化处理。

结果发现,在训练进度的前15%左右,不同大小模型的曲线就已经收敛到了同一条轨迹上,之后整个训练过程中,模型间的差异始终维持在噪声水平之下或者接近噪声水平。

这个现象的实用价值在哪呢?

**它给了工程师一个诊断工具:训练过程中如果发现自己的损失曲线偏离了这条"塌缩轨迹",就说明当前的模型大小和数据配比可能已经偏离了计算最优区间,需要调整。**

这就像医生用一条标准生长曲线来判断婴儿的发育是否正常。每个婴儿的具体身高体重不一样,但如果把数据按月龄标准化之后画出来,健康婴儿的曲线大体都落在同一条轨迹附近;如果某个婴儿的曲线明显偏离了这条轨迹,医生不需要等到孩子长大出问题才发现,当下就能预警。缩放塌缩现象给训练大模型提供的正是类似的"实时体检"能力,不用等到训练全部跑完才发现算力配置错了。

分辨率越高,需要的数据比例也越高

这部分实验回答了一个很实际的问题:如果你想训练一个支持768×768高分辨率的模型,跟训练一个只支持256×256的模型相比,最优TPP会不会变?

团队把1.2亿到5亿参数的模型分别在256、384、512、768四种像素分辨率下训练,并且针对不同分辨率对时间步采样分布做了相应的SNR(信噪比)重新缩放调整(沿用Hoogeboom等人2023年的做法)。

结果很清楚:分辨率越高,所需的最优TPP越大。具体数字是256像素对应大约165 TPP,384像素对应202,512像素对应235,768像素对应247。

背后的道理可以这样理解:分辨率越高,每个图像patch(图像块)承载的信息密度反而越低,模型要理解同一张图片的完整内容,需要处理的token数量就更多,相应地也需要看过更多样本才能把这些细节学明白。

不过这里有个有意思的反转:虽然每参数所需的token数(TPP)随分辨率上升,但换算成"每参数所需的图片数量"却是下降的,因为高分辨率图片本身就能切出更多token。也就是说,训练高分辨率模型不需要更多的图片素材,反而需要更少,只是每张图片被切分成更多token、消耗更多算力去处理。

**这个结论翻译成大白话就是:高分辨率训练是算力密集型任务,不是数据密集型任务。**你缺的不是更多图片,你缺的是能承受这些计算的算力预算。

写在后面

读完这篇论文,最让我意外的其实不是200 TPP这个数字本身,而是"过度训练几乎零代价"这个发现背后的不对称性。

语言模型和扩散模型明明都是用梯度下降训练出来的神经网络,面对"喂多喂少"这件事,表现出来的脆弱程度却完全不一样。这提示了一件事:缩放定律不是一套普适物理规律,它更像是一份"病历",记录的是特定数据分布和特定任务结构下模型的行为特征。文本序列的信息密度和图像像素的信息密度,本质上是两种不同的"营养结构",模型消化它们的方式自然也不同。

论文里那个"双最优点"的估算也挺让人浮想联翩:图像理解能力和生成能力在不同规模下各自达到最优所需的数据量不一样,这意味着未来做多模态模型设计的时候,"生成"和"理解"这两个目标本质上是在同一份算力预算里打架的,只是在某个特定规模之前,这场架不太激烈。

还有一个没有被这篇论文回答、但值得继续追问的问题:不同的优化器(比如现在越来越流行的Muon)、不同的文本编码器、不同的视觉编码器,会不会让这个200 TPP的数字发生系统性偏移?论文自己也承认这些是没测的变量。如果换一个更强的文本编码器,扩散模型是不是能用更少的图像数据就达到同样的效果?这个问题可能比200这个数字本身更值得后续研究去挖。

Q&A

Q1:ABRA模型的计算最优token per parameter(TPP)是多少?

A:大约200 TPP,是语言模型Chinchilla法则(20 TPP)的10倍左右,这个结论在多种拟合方法下都稳定落在183到202的窄区间内。

Q2:扩散模型过度训练会有很大代价吗?

A:几乎没有。研究发现扩散模型训练量翻倍(2倍过度训练)时,损失惩罚不到0.5%,而对比的语言模型家族在同等过度训练下惩罚明显更大,说明扩散模型对训练不足的敏感度远高于对训练过度的敏感度。

Q3:图像分辨率会影响最优训练数据量吗?

A:会。分辨率越高,所需的最优TPP越大,从256像素的165 TPP一路上升到768像素的247 TPP,但换算成所需图片数量反而是下降的,说明高分辨率训练更多是算力瓶颈而不是数据瓶颈。

未经允许不得转载: 街坊秀 » 训练一张图,到底需要喂它吃多少数据?