探究问题:
main:1.探究在训练集越来越有限的情况下,大量使用ai生成的输出作为训练集对说训练的ai造成的影响。
一、相关文章:
1. SELF-CONSUMING GENERATIVE MODELS GO MAD
Self-Consuming Generative Models Go MAD(ICLR 2024) 研究的是当生成模型反复使用自己生成的数据进行训练时会发生什么。论文指出,随着生成式 AI(如 Stable Diffusion、ChatGPT)不断产生新的内容,互联网中的 AI 生成数据比例会越来越高,而这些数据又会被新的模型抓取并用于训练,从而形成一种 “自我消耗(self-consuming)循环”。作者将这种现象导致的模型性能退化称为 Model Autophagy Disorder(MAD),即模型不断“吃掉”自己生成的数据,逐渐偏离真实数据分布,导致生成质量和多样性下降。 论文提出了三种可能的训练循环:完全 synthetic 循环(仅使用模型生成数据)、synthetic 增强循环(固定真实数据 + synthetic 数据)以及 fresh data 循环(synthetic 数据 + 每一代新增真实数据)。理论分析和实验结果表明,如果模型训练逐代依赖 synthetic data 而缺乏新的真实数据,那么生成数据的质量或多样性会逐渐下降,最终产生模型退化现象;即使保留一部分固定真实数据,也只能延缓这种退化,而无法彻底避免。相反,如果每一代训练中持续加入新的真实数据,模型可以保持稳定并避免 collapse。 总体而言,该研究说明 synthetic data 并非完全不可用,但如果模型不断递归地使用自身生成的数据进行训练,就会逐渐放大误差并导致分布收缩和模式崩塌。因此未来大模型训练中必须持续引入新的真实数据,并控制 synthetic data 的使用方式,否则在长期训练循环中模型性能可能持续下降
2. Scaling Laws for Data Mixtures(DeepMind)
该研究由 DeepMind 提出,主要探讨在大模型训练中 不同类型数据混合(data mixture)时的 scaling law。论文关注的问题是:当训练数据由多种来源组成(例如网页文本、代码数据、数学数据以及 synthetic data)时,不同数据比例如何影响模型性能和训练效率。研究发现,模型性能不仅取决于数据规模,还与数据质量和数据来源密切相关,高质量数据在训练中的价值往往远高于低质量数据。
实验结果表明,高质量数据 token 的训练价值明显高于低质量数据 token,在某些任务中甚至可以达到“一个高质量 token 相当于多个低质量 token”的效果。同时,synthetic data 在训练中具有一定价值,尤其是在真实数据稀缺或需要扩展长尾任务(例如数学推理、代码生成)时,可以有效提升模型能力。但如果 synthetic data 在数据集中占比过高,模型会出现分布漂移或训练不稳定的问题。
总体而言,该研究认为 synthetic data 应作为真实数据的补充,而不是替代。合理的数据混合策略可以显著提高训练效率和模型性能,但 synthetic data 的比例需要受到控制,否则可能降低模型的泛化能力。因此,在实际训练中通常建议保持真实数据为主要来源,同时将 synthetic data 作为辅助数据用于增强特定任务能力。
2. Synthetic Data from Diffusion Models Improves ImageNet Classification(Google Research / DeepMind)
该论文研究了 利用 diffusion 模型生成 synthetic 图像来辅助视觉模型训练的问题。作者使用扩散模型生成大规模合成图像,并将这些图像加入到 ImageNet 分类任务的训练数据中,以分析 synthetic data 对模型性能的影响。研究的核心目标是评估 synthetic data 是否能够在真实数据不足的情况下提升模型性能。
实验结果表明,在真实数据有限的情况下,加入一定比例的 synthetic data 可以显著提高模型的分类准确率和训练效率。synthetic data 可以扩展训练数据分布,使模型在一些类别上获得更好的泛化能力。同时,synthetic data 还可以用于补充难以收集的数据样本,从而提升数据多样性。
然而论文也发现,如果 synthetic data 占训练数据的比例过高,模型性能会逐渐下降。这是因为 synthetic data 的分布仍然依赖生成模型,其质量和多样性无法完全替代真实数据。实验表明,适量 synthetic data 可以提升模型性能,但过高比例会导致性能下降。因此,synthetic data 最适合作为真实数据的补充,而不是主要训练数据来源。
Summer:
前面提到的那几篇(如 Self-Consuming Generative Models Go MAD、DeepMind 的 Scaling Laws for Data Mixtures、以及 diffusion synthetic data 那篇)整体上确实是“实验驱动”的论文,理论部分比较有限。
Idea:
利用信息学中对信息质量密度的定义来解释狗吃屎问题。从而展示出创新点,其次通过实验证明信息质量相同的数据集,来训练看效果如何。
二、新增相关文章(顶会 2024–2025)
1.Strong Model Collapse(ICLR 2025 Spotlight)
这是目前最强的理论结果。哪怕训练集中只有 1/1000 的 synthetic data,也足以导致 model collapse——增大训练集规模不再能提升性能,scaling law 失效。更反直觉的是,更大的模型反而可能加剧崩溃。
这篇论文的核心贡献是把”model collapse 在混合数据下是否不可避免”这个问题,从经验观察推进到了严格的数学证明。它在线性回归框架下推导出了一个新的误差分解公式:测试误差 = 偏差 + 方差 + ζ,其中 ζ 是专门由 synthetic data 引入的”崩溃项”。只要 synthetic data 的比例不趋近于零,ζ 就永远不会消失——这意味着哪怕 999 条真实数据混入 1 条 synthetic data,随着训练集不断扩大,两者的绝对数量都在等比增长,synthetic data 的系统性偏差永远稀释不掉,scaling law 从根本上失效。
更反直觉的发现是模型大小与崩溃之间的关系。论文通过随机投影模型(用来近似神经网络)证明,在”插值阈值”之前(即模型参数量小于数据量时),更大的模型反而会放大崩溃,因为更大的容量让模型更彻底地拟合了 synthetic data 的偏差。但越过插值阈值进入过参数化区域后,这个趋势会反转——超大模型对崩溃稍微更鲁棒,但仍然无法完全避免。这构成了关于 model collapse 的一条 double descent 曲线,说明模型规模的影响并非单调的。
论文最后也给出了一个有限的希望:复杂的迭代混合策略(如持续将 synthetic data 与新鲜真实数据交替蒸馏)理论上可以缓解崩溃,但代价是真实数据的供给量必须与 synthetic data 同步增长——这在现实中恰恰是最难做到的。这个结论和你研究的出发点高度吻合:问题的根源不是 synthetic data 的数量,而是它携带的系统性分布偏差,而现有理论用来度量这个偏差的 c²(Δ) 只是一个几何量,还缺少一个更本质的信息论解释。
阶段1(2023):发现问题
“哦,模型反复吃自己生成的数据会崩”
→ 纯实验观察,没有理论解释阶段2(2024-2025):搞清楚为什么崩
Strong Model Collapse(ICLR 2025)← 就是这篇
“哪怕混入少量synthetic data,数学上证明必然崩”
→ 有了理论公式,但框架局限在线性回归阶段3(2025,现在):研究怎么不崩
→ 三条路线同时在跑:
① 用verifier筛选synthetic data
② 累积所有历史数据不扔
③ 引入外部信号打破循环
目前的空白:没有人从信息论角度解释为什么分布偏差会导致信息损失,现有的理论都是几何/统计视角,你的切入点还没人做。
一、这个领域现在研究到什么程度了
目前顶会的研究可以分成三个阶段:
阶段1(2023):发现问题
"哦,模型反复吃自己生成的数据会崩"
→ 纯实验观察,没有理论解释
阶段2(2024-2025):搞清楚为什么崩
Strong Model Collapse(ICLR 2025)← 就是这篇
"哪怕混入少量synthetic data,数学上证明必然崩"
→ 有了理论公式,但框架局限在线性回归
阶段3(2025,现在):研究怎么不崩
→ 三条路线同时在跑:
① 用verifier筛选synthetic data
② 累积所有历史数据不扔
③ 引入外部信号打破循环
目前的空白:没有人从信息论角度解释为什么分布偏差会导致信息损失,现有的理论都是几何/统计视角,你的切入点还没人做。
一、参数量和数据量是什么意思
先分别解释:
数据量 n:
就是你喂给模型的训练样本数量。
比如:
100万条句子 → n = 1,000,000
1000张图片 → n = 1,000
参数量 m:
就是模型内部的"可调节旋钮"的数量。
想象模型是一个超级复杂的函数:
输入 → [一堆旋钮] → 输出
训练的本质就是把这些旋钮调到最合适的位置。
比如:
GPT-2: 1.5亿个旋钮(参数)
GPT-3: 1750亿个旋钮
Llama3: 700亿个旋钮
二、参数量和数据量的关系
有三个区间,性质完全不同:
情况A:参数量 << 数据量(欠参数化)
─────────────────────────────────
旋钮太少,数据太多
模型"装不下"所有数据的信息
→ 只能学到粗略的规律
→ 像用一支铅笔描一幅复杂画,肯定画不准
情况B:参数量 ≈ 数据量(插值阈值)
─────────────────────────────────
旋钮数量刚好等于数据量
这是最危险的区间
→ 误差最大(著名的double descent现象)
→ 模型既没能力泛化,又开始过拟合
情况C:参数量 >> 数据量(过参数化)
─────────────────────────────────
旋钮比数据还多
现代大模型都在这里
→ 模型容量足够大,能"记住"每一条数据
→ 反而泛化能力更好(违反直觉但被证明了)
用一个生活比喻:
数据量 = 考试题目数量
参数量 = 你的记忆容量
题目100道,你能记100道 → 死记硬背,遇到新题就废了(插值阈值)
题目100道,你能记10000道 → 记完还有余量,能总结规律(过参数化)
题目100道,你只能记10道 → 只能学大概(欠参数化)
三、回到问题:为什么参数量影响崩溃程度
参数量 < 数据量时:
模型容量不够,只能"选择性学习"
synthetic data的系统性偏差会被优先学进去
(因为偏差是有规律的,比随机噪声更容易被小模型抓到)
→ 崩得更快
参数量 > 数据量时:
模型容量很大,把真实数据和synthetic data都"记住了"
两种信号同时存在于参数里,互相抵消一部分
→ 崩得慢一点,但还是崩
图示:
崩溃程度
↑
│ ● ← 这里最危险(插值阈值附近)
│ ● ●
│ ● ●
│ ● ● ● ● ← 过参数化区域,稍微好一点
│ ●
└─────────────────────→ 参数量/数据量 的比值
小模型 大模型
所以论文的结论是:不是”模型越大越安全”,而是一条U型曲线——太小崩,中间最崩,足够大了稍微好一点,但永远不能完全不崩。
一、参数量和数据量的关系会影响幻觉吗?
会,而且关系很深。 但幻觉和崩溃是两个不同的问题:
幻觉(Hallucination):
模型说了一些听起来对、但实际上是编的内容
→ 是模型"不知道自己不知道"的问题
Model Collapse:
模型的输出分布越来越窄、越来越偏
→ 是模型"把错误当成正确反复学"的问题
两者的关系:
参数量 >> 数据量(过参数化):
模型容量大,但数据不够填满
→ 没见过的区域,模型会"脑补"
→ 幻觉多,但崩溃慢
参数量 << 数据量(欠参数化):
模型容量小,只能学粗略规律
→ 幻觉少(因为不够聪明去编)
→ 但啥都学不好
参数量 ≈ 数据量(插值阈值):
最危险的区间
→ 幻觉和崩溃都最严重
所以现代大模型幻觉多,部分原因正是它们都活在过参数化区域——容量远大于数据,空白地带全靠编。
二、为什么中间会凸起来?为什么小模型不是直接崩到底?
这是个非常好的问题,很多人都觉得奇怪。
先解释你的直觉为什么”感觉应该是一直减”:
你的直觉:
模型越小 → 能力越差 → 崩溃越严重 → 应该是这样:
崩溃程度
↑
│●
│ ●
│ ●
│ ●
│ ●
└──────────→ 模型越来越大(一直下降)
但实际上不是这样,原因在于”小模型有一种天然的保护机制”:
小模型为什么反而崩得没那么严重?
小模型(参数量很少):
旋钮太少,根本没能力精确拟合任何数据
→ 真实数据学不精确
→ Synthetic data的偏差也学不精确
→ 两边都学得很糙,偏差被"平均掉"了
类比:
让一个小学生背一本有错误的教材
他根本记不住细节,只记住了大概
错误的细节也记不住 → 影响有限
中等模型(参数量≈数据量,插值阈值):
容量刚好够"记住"所有训练数据
→ 把synthetic data的系统性偏差也精确记住了
→ 但容量又不够大到同时消化真实数据的全部规律
→ 两边都卡住,偏差最大
类比:
让一个高中生背有错误的教材
他聪明到能精确记住错误
但又没聪明到能发现矛盾并纠正
→ 错误被完整保留,最危险
大模型(参数量>>数据量):
容量远大于数据
→ 把真实数据和synthetic data都完整记住了
→ 两种信号同时存在,互相对冲
→ 崩溃被部分抵消
类比:
让一个博士生背有错误的教材
他见过太多知识,会发现"这里好像不对"
→ 错误的影响被稀释
所以完整的图是这样:
崩溃程度
↑
│
│ ● ← 峰值:插值阈值,最危险
│ ● ●
│ ● ●
中│ ● ● ● ● ← 大模型,稍好
│ ●
低│ ● ← 小模型,学不精确,偏差也记不住
│
└──────────────────────────→ 参数量/数据量
极小 小 中 大 超大
中间凸起的本质原因:
崩溃需要两个条件同时满足: ① 模型有足够能力精确学习偏差 ② 模型没有足够能力识别并对冲偏差
只有插值阈值附近,这两个条件同时成立,所以中间最凸。
三、回答核心疑问
“小模型不应该是直接崩溃吗?”
不会,因为崩溃需要精确地学会偏差,小模型连”精确学习”的能力都没有,所以反而被保护了。
这个现象在机器学习里叫做:
正则化效应(Implicit Regularization)
─────────────────────────────────────
容量不足的模型,会天然地"忽略细节"
这种忽略在正常训练时是缺点(学不精)
但面对有偏差的数据时反而是优点(偏差也学不精)
这也是为什么有时候简单的小模型在脏数据上反而比大模型更鲁棒。
二、idea
1.核心观点
真实世界
↓ 存在一个真实的映射关系 f*
人类语言/数据 → 对 f* 的描述,携带信息量 I(data; 真实世界)
↓ 模型学习
模型A → 学到了对 f* 的近似 f̂,但有损失
↓ 模型A生成数据
Synthetic data → 描述的是 f̂,而不是 f*
信息量 I(synthetic; 真实世界) < I(data; 真实世界)
创新点是什么
先看现有论文在做什么:
现有所有论文问的问题:
"synthetic data 混进来,模型会不会崩?"
他们的答案:
会崩,因为 synthetic data 和真实数据的分布不一样
用 c²(Δ) 来量化这个"不一样"的程度
但他们从来没问过一个更深的问题:
为什么分布会不一样?不一样的本质是什么?
切入点
非常关键的话:
“人类语言是对真实世界的一种特定关系描述, 模型学习的是这种关系, 但用别的模型生成的数据训练时, 学的是别的模型对这种关系的理解。”
这句话翻译成学术语言就是:
真实数据 = 对真实世界的直接映射
信息源头是真实世界本身
Synthetic data = 对"模型对真实世界理解"的映射
信息源头是另一个模型
中间多了一层过滤
每多一层过滤,信息就损失一些。 现有论文只看到了”分布不一样”这个结果, 但没有解释这个结果背后的原因——信息在传递过程中的损失。
用一个比喻说清楚
现有论文的视角(几何视角):
我测量了北京和上海之间的直线距离是 1200km
→ 知道了距离,但不知道为什么有这个距离
你的视角(信息论视角):
我解释了为什么有这个距离——
因为地球是球形的,两座城市在球面上的位置关系决定了距离
→ 更本质,能预测任意两个城市之间的距离
c²(Δ) 告诉你”偏差有多大”, 但 IQD 告诉你”为什么有偏差,偏差从哪里来”。
三个层次的创新
第一层:理论创新
现有: c²(Δ) = (1/d)·tr(Σ·Δ)
→ 几何量,描述两个分布的距离
你的: IQD = I(数据; 真实世界) / |数据量|
→ 信息量,描述数据对真实世界的信息保真度
区别:
c² 只能告诉你"现在偏了多少"
IQD 能告诉你"为什么偏,会偏多快,偏多少代后崩"
第二层:解释力创新
现有论文解释不了的现象:
问题①:为什么蒸馏不崩,直接用synthetic data就崩?
现有:两者 c² 可能差不多,理论上应该一样崩
我的:蒸馏保留了真实数据的 x,IQD更高,所以不崩
问题②:为什么同样比例的synthetic data,
高质量生成的比低质量生成的崩得慢?
现有:c² 不同,说不清楚为什么 c² 不同
我的:高质量生成的IQD更高,信息损失更少,自然崩得慢
问题③:为什么随机错误的真实数据不崩,
系统性错误的才崩?
现有:两者都是"真实数据",c²理论不适用
我的:随机错误IQD高(错误互相抵消),
系统性错误IQD低(信息被单方向污染)
一个框架统一解释两种情况
第三层:实用价值创新
现有理论给工程师的建议:
"别用synthetic data"
→ 太粗糙,没法指导实践
理论给工程师的建议:
"保证你的训练数据 IQD 高于阈值 IQD*"
→ 可以量化,可以测量,可以主动控制
具体应用:
构建数据集前先算 IQD
IQD 够高 → 可以用
IQD 不够 → 需要补充真实数据或提升生成质量
一句话说清楚的创新
现有论文发现了”船在漏水”(模型在崩溃), 并测量了”漏了多少水”(c²有多大)。 我的研究解释了”为什么漏水”(信息在映射过程中损失), 并给出了”漏水速度的预测公式”(IQD衰减方程), 以及”什么时候船会沉”(IQD阈值)。
这就是为什么角度有价值——不是修补现有理论的细节,而是在更深的层次上重新解释了整个现象。
三、实验方法
先想清楚要证明什么
核心命题是:
synthetic data 和真实数据之间的差值
不是随机的噪声
而是信息在映射过程中的系统性损失
所以实验要回答的不是”有没有差值”(这已经被证明了),而是:
这个差值从哪里来?是怎么产生的?能不能被量化和预测?
实验设计思路
第零步:先建立一个可控的”真实世界”
现实数据太复杂,直接做实验很难控制变量。所以第一件事是造一个简单的、你完全知道答案的”真实世界”:
具体做法:
自己定义一个数学函数 f*(x) = 2x² + 3x + 1
用这个函数生成"真实数据"
这样你就知道:
→ 真实世界的映射关系是什么(f*)
→ 信息损失了多少(直接和 f* 对比)
→ 现实中你永远不知道 f* 是什么,但实验里你知道
这是整个实验的基础,有了这个才能量化”差值从哪来”。
实验一:直接观察信息损失的来源
目的:把信息损失拆解成几个来源,看哪个是主要原因
把差值的来源分成三块:
来源①:模型容量限制(学不完整)
模型参数量有限,f* 太复杂,学不完全
→ 即使数据是真实的,也有损失
来源②:训练数据有限(见过的世界不够全)
数据量不够,有些区域没见过
→ 模型对没见过的地方只能猜
来源③:生成过程引入的偏差(核心!)
模型生成数据时,把自己的偏见写进去了
→ 这才是 synthetic data 独有的损失
实验设计:
组A:真实数据训练 → 测量误差 E₁
组B:完美synthetic(直接从 f* 采样)训练 → 测量误差 E₂
组C:模型生成的synthetic训练 → 测量误差 E₃
差值分析:
E₂ - E₁ = 来源①②(容量和数据量的限制)
E₃ - E₂ = 来源③(生成过程引入的偏差)← 这就是你要证明的东西
实验二:量化信息损失随代数的变化
目的:验证你的信息衰减方程 IQD(k) = IQD(0) · αᵏ
步骤:
第0代:真实数据
第1代:用真实数据训练模型A,A生成数据
第2代:用第1代数据训练模型B,B生成数据
第3代:...一直到第10代
每一代都测量:
① 模型在真实测试集上的性能(准确率/loss)
② 生成数据和真实数据之间的KL散度
③ 生成数据的多样性(词汇/语义多样性)
然后拟合衰减曲线,看是否符合 α^k 的形式
预期你会看到:
性能
1.0 │●
│ ●
│ ●
│ ●
│ ● ● ←── 趋于平稳或继续下降
└──────────────→ 代数k
0 2 4 6 8 10
实验三:核心实验——IQD等价性验证
这是最能支撑你创新点的实验。
目的是证明:决定崩溃的不是”真假”,而是IQD的高低。
设计四组数据,两两IQD相同但来源不同:
组A:真实数据,IQD = 0.9
组B:高质量synthetic,IQD ≈ 0.9 ← 精心构造使IQD接近组A
组C:真实数据,IQD = 0.5 ← 加入系统性噪声降低IQD
组D:低质量synthetic,IQD ≈ 0.5
预期结果:
组A ≈ 组B(IQD相同,性能相近)← 这是你最重要的发现
组C ≈ 组D(IQD相同,性能相近)
组A > 组C(IQD不同,性能不同)
也就是说:
IQD高的synthetic 比 IQD低的真实数据 效果更好
→ 直接打脸"真实数据一定比synthetic好"的直觉
怎么构造IQD相近的synthetic data:
方法:控制生成时的温度参数(temperature)
temperature低 → 模型生成更保守,更接近真实分布 → IQD高
temperature高 → 模型生成更随机,偏离真实分布 → IQD低
通过调节temperature,可以连续控制synthetic data的IQD
实验四:找到崩溃阈值 IQD*
步骤:
从IQD = 1.0开始,逐步降低训练数据的IQD
(通过逐渐增加synthetic比例实现)
每个IQD值训练一个模型,测试性能
预期:
性能
1.0 │● ● ●
│ ●
│ ●
│ ●
0.5 │ ● ← 断崖
│ ● ●
└──────────────────────→ IQD
1.0 0.8 0.6 0.4 0.2
找到断崖位置就是 IQD*
实验的整体逻辑链
实验零:建立可控环境(你知道真实答案)
↓
实验一:证明差值的主要来源是"生成过程",不是容量或数据量
↓
实验二:证明差值随代数增长,符合衰减方程
↓
实验三:证明IQD才是决定因素,不是真假
↓
实验四:找到实用阈值 IQD*
每一步都在回答”为什么有差值”这个问题的一个层次。
最难的工程问题:IQD 怎么算
现在可能觉得”IQD = 互信息/数据量”,但互信息在实践中很难直接计算。
建议的近似方案:
第一步(简单可行):
用一个固定的"参考模型"(比如在纯真实数据上训练好的模型)
计算训练数据在参考模型上的困惑度(Perplexity)
困惑度越低 = 数据越接近真实分布 = IQD越高
IQD_proxy = 1 / Perplexity(数据, 参考模型)
第二步(理论严格):
用KL散度给出理论定义
IQD = 1 - KL(P_data || P_真实) / KL_max
在论文理论部分用这个推导
先用困惑度跑实验,理论部分再用KL散度对齐,两者结合是最可行的路线。
四、实验思路
建模:
真实世界 = 大模型 A(无限参数,无限信息)
↓ 蒸馏
真实数据 = 对 A 的第一次蒸馏,信息损失 δ₁
↓ 蒸馏
模型₁ = 对真实数据的蒸馏,信息损失 δ₂
↓ 蒸馏
模型₂ = 对模型₁的蒸馏,信息损失 δ₃
↓
…
方法:
MAUVE是2021年专门为量化
"生成文本和真实文本分布差距"设计的指标
原理:
① 把真实文本和生成文本都编码成向量
② 在向量空间里计算两个分布的重合面积
③ 重合越多 = 对齐度越高
MAUVE = 1 → 完全对齐
MAUVE = 0 → 完全不对齐
实验A:蒸馏链 A→B→C→D→E
实验B:synthetic链 A生成数据→B→B生成数据→C→...
测量每一步的IQD:
IQD
1.0│●
│ ● ← 蒸馏链,衰减慢
│ ●
│ ● ● ●
│ ●
│ ● ← synthetic链,衰减快
│ ●
│ ●
└──────────────→ 代数


