news 2026/7/3 2:04:35

一种让图像生成模型懂得自我纠错的新技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一种让图像生成模型懂得自我纠错的新技术

这篇研究来自英伟达(NVIDIA)旗下的Nemotron Labs团队,论文于2026年6月29日发布于预印本平台arXiv,编号为arXiv:2606.29814v1,感兴趣的读者可通过该编号查阅完整原文。

**研究概要**

假设你雇了一位画师来帮你画一幅肖像,但这位画师有个奇怪的规矩:他把每一笔落下去之后,就永远不能修改那一笔,只能继续往下画。你可以想象,这种工作方式很容易让早期的一个失误在整幅画中越来越放大,最终画出来的作品可能与期望相差甚远。

这恰恰就是当前许多主流AI图像生成系统面临的核心困境——它们在生成图像时,一旦某个局部被"确认",便无法回头修改。英伟达的研究团队意识到这个问题,并为此专门研发了一套名为Nemotron-Labs-Diffusion-Image(简称NLD-Image)的全新图像生成系统。这套系统不仅让AI学会在生成过程中随时"改稿",还解决了另一个让业界头疼已久的难题:当图像词典越来越大时,AI的学习效率会急剧下降。

这两项技术突破共同构成了这篇论文的核心贡献。在多项标准测试中,NLD-Image取得了相当亮眼的成绩:在GenEval(一个专门测试AI是否能准确理解文字描述并生成对应图像的基准)上得分0.90,在DPG(另一个衡量图像与文字语义匹配程度的基准)上得分86.9,在MJHQ数据集的HPSv3(专门用人类审美偏好训练的评分模型)指标上取得了10.76的高分,与Qwen-Image等旗舰级商业模型相当。

---

一、AI画图的两种主流方式,以及它们各自的烦恼

在正式介绍这项研究的创新之前,有必要先理解AI生成图像领域目前的两大主流路径,因为NLD-Image所要解决的问题,正是其中一种路径固有的缺陷。

第一种路径叫做"连续扩散模型"(Latent Diffusion Models,LDM),目前最广为人知的代表包括Stable Diffusion、FLUX和SD3等。这类模型的工作方式,可以比作雕塑家用一大块黏土逐步捏出作品的过程——一开始整块黏土是随机噪音,雕塑家反复揉捏、修整,每一轮都让形状更接近目标,直到最终成品浮现。这种方式有一个天然的优势:每一轮修整都是在整体上进行的,早期的偏差有机会在后续步骤中被逐步纠正。

第二种路径叫做"掩码离散扩散模型"(Masked Discrete Diffusion Models,MDM),NLD-Image就属于这一类。这类模型的工作方式完全不同:图像首先被切割成一个个"像素词条"(就像把一幅画拆成一张张小拼图),然后模型从一张全部空白的拼图开始,逐步把各个位置填上合适的词条,直到整幅图完成。这种方式的好处在于,它可以同时填写多个位置(而不用像某些早期AI那样从左到右逐字逐行生成),速度更快;此外,它天然与大语言模型(如GPT、LLaMA等)的工作方式相兼容,便于将图像和文字的理解与生成融合在一个统一的系统中。

然而,MDM有一个严重的先天缺陷:一旦某个位置的词条被"填上",它就固定了,后续步骤无法再修改它。回到拼图的比喻——如果拼图工人在第三步错误地放了一块蓝色天空的拼图在本应是绿色草地的位置,而他的规则不允许拔出已经放好的拼图,那么整幅图最终可能变得面目全非。

正因如此,MDM生成的图像往往存在各种奇怪的瑕疵:某个局部的纹理与周边格格不入,或者人物的面部细节出现轻微的错位和失真。这不是模型"不聪明",而是它被自身的规则所束缚,无法在发现错误后进行修正。

---

二、让画师学会"改稿"——词条编辑机制的原理与设计

NLD-Image针对上述缺陷提出的解决方案,可以用一个直观的比喻来理解:传统MDM的画师只能在白纸上逐步添加内容;而NLD-Image的画师不仅可以添加内容,还随时可以拿出橡皮擦,对已经画好但不满意的地方重新修改。

具体来说,研究团队在模型的训练方式上做了一个关键改动。传统的MDM训练中,模型学习的任务是"预测被遮住的部分应该填什么词条",而已经填好的部分则被当作永久正确的、不需要理会的内容。NLD-Image则在训练时故意给已经"填好"的词条引入一些错误:它把部分正确的词条替换成轻微偏差的错误词条,然后要求模型不仅要预测空白位置,还要检测并纠正这些被故意污染的位置。

这种训练方式让模型学会了一种全新的能力:在推理(也就是真正生成图像)时,每走一步,模型都会反过来审视之前已经填好的词条,如果它发现某个词条"应该换成另一个词条,而且它的把握很高(超过预设的置信阈值τ)",就会直接覆盖掉那个词条。研究团队把这个阈值设定为τ=0.6,也就是说,当模型对新的候选词条的把握超过60%时,才会触发修改。

在错误词条的选取策略上,研究团队进行了大量实验。他们测试了三种策略:完全随机地从词汇表中抽取词条、从同一张图像中随机抽取词条、以及从词条嵌入空间中相邻位置抽取词条。所谓"嵌入空间中相邻",可以理解为:在AI的"词汇词典"里,语义相似的词条被存放在彼此附近,就像一本按照含义排列的词典,"猫"和"猫科动物"挨在一起,"猫"和"汽车"则相隔甚远。实验结果表明,单纯的随机抽取效果最差(HPSv3得分8.53),因为随机词条与真实预测错误时出现的词条差异太大,训练出来的模型在推理时会"认不出"真正的错误;从相邻嵌入空间抽取词条的效果明显更好(8.81),而将相邻词条与同图重采样词条结合使用时效果最佳(8.99)。最终,NLD-Image采用了后一种组合策略,并将整体污染率α设定为0.1,即每轮训练中大约有10%的已填好词条会被故意替换成错误词条。

实验证明,这种改稿机制带来了实质性的图像质量提升。在相同随机种子下的对比测试中,启用改稿机制后,图像中的瑕疵、纹理错误和细节失真都有明显改善,尤其在人像的面部细节、物体边缘的精细度等方面表现突出。更令人感兴趣的是,改稿机制还显著提高了模型对推理步骤数量减少的容忍度——在只用32次推理步骤(NFE=32)的情况下,启用改稿的模型的图像质量与不启用改稿时需要64次步骤才能达到的质量相当,相当于在同等质量目标下,计算量减少了一半。

---

三、"词汇词典越大越难学"——大词典稀疏训练信号的困境

解决了"无法改稿"的问题之后,研究团队还面临另一个挑战,这个挑战来自图像词条词典本身的规模。

在MDM中,图像的每个局部区域都被映射到一个"词条"(也叫码字)。词典越大,每个词条所代表的视觉信息就越精细,最终重建出的图像质量也就越高。这就像摄影中的像素密度:像素越多,画面越清晰。NLD-Image使用的词典规模高达131,072个词条(约13万个),远超许多同类模型(如Show-o的8,192个、Emu3的32,678个)。

然而,词典规模的扩大带来了一个严峻的训练难题,研究团队将其称为"码书稀疏问题"。以一个具体的计算为例:假设训练数据集包含100万张图像,每张图像被切割成256个词条,那么这批数据中词条的总数是2.56亿。如果词典大小是8,192,平均每个词条在训练数据中出现约31,250次;但如果词典扩大到20万,同样的训练数据中每个词条平均只出现约1,280次,仅为前者的4%。

这意味着什么?用学外语来类比:假设你要让一个人学会认识8,192个汉字,你给他31,250次练习机会;现在你要让他学会认识200,000个字,却只给他1,280次练习机会。同样一批练习材料,词典越大,每个字练习的机会就越少,学习效果自然大幅下降。

更糟糕的是,传统的训练目标(标准交叉熵损失)对这种稀疏性非常不友好。这个损失函数的工作方式就像一道非黑即白的判断题:模型要么猜对了某个词条(得到正反馈),要么猜错了(哪怕猜了一个视觉上几乎一样的词条,也会得到同等强度的负反馈)。对于13万词条的大词典,两个视觉上高度相似的图像局部,可能在词典里被分配到相邻但不同的词条编号,而标准损失函数完全无视这种相似性,将"猜了相邻词条"和"猜了完全不相关词条"的惩罚设置为一模一样。这不仅浪费了大量语义信息,还会给模型的优化制造无谓的困难。

---

四、按"语义相似度"分组打分——分组交叉熵目标函数

为了解决上述稀疏训练信号的问题,研究团队设计了一个名为"分组交叉熵"(Grouped Cross-Entropy,GCE)的全新训练目标。

GCE的核心思路可以用一个打靶比赛的比喻来理解。传统的训练方式就像一场非常严苛的比赛:只有打中靶心才能得分,打中靶心周围一圈算零分。GCE则更像是一场合理的比赛:打中靶心得满分,打中靶心附近的区域也能得一些分,而不是一律零分。这样一来,即使选手偶尔没有打中靶心,只要打到了附近,也能获得有效的练习反馈。

具体操作上,研究团队用一种叫做K均值聚类的方法,在模型训练之前预先将13万个词条按照它们的语义相似程度分成若干组。研究团队尝试了两种分组粒度:分成16,384组和8,192组。分成16,384组时,每组平均包含约8个词条,粒度更细;分成8,192组时,每组约16个词条,粒度更粗。研究发现,仅用8,192组的粗粒度监督效果(FID得分3.67)略逊于仅用16,384组的细粒度监督效果(3.44),而将两种粒度同时使用、形成层次化的多级监督信号时,效果最佳(3.40)。

GCE的训练信号因此具备了一种层次结构:词条级别的精准监督负责让模型尽量猜对具体词条;组级别的监督(在两个粒度上各加一个损失项)则负责让模型在猜错具体词条时,至少猜到语义相近的那个组里。三项损失同时优化,相互补充,构成了完整的训练目标。

从梯度角度理解这个设计会更清晰。在每一次训练中,目标词条所在组的全部词条都会收到正向梯度(被鼓励),其他组的词条收到负向梯度(被抑制)。这意味着,在13万个词条的词典中,每次训练不仅帮助模型认识那个"唯一正确"的词条,还顺带强化了与它语义相近的整个"家族",有效缓解了词条频率低、训练信号稀疏的问题。

研究团队还将GCE与另一种类似方案——SNCE(软标签交叉熵)进行了比较,后者由同一团队在此前的工作中提出。SNCE的做法是给目标词条周围的词条赋予预设的固定概率(比如给目标词条0.7的概率,给相邻词条分配剩余的0.3),而不是使用严格的one-hot标签。然而,这种固定软标签存在一个微妙的问题:如果模型已经以0.8的置信度预测了正确词条,但软标签只给目标词条0.7的目标概率,那么目标词条反而会收到负向梯度,造成不必要的训练不稳定。GCE不存在这个问题,因为它始终给目标词条正向梯度。此外,SNCE需要存储每个训练样本的完整实数概率向量,内存开销巨大;GCE只需存储整数类别标签,内存效率大幅提升。

在ImageNet-256的类别条件图像生成实验中,使用标准交叉熵、SNCE和GCE三种训练目标,在其他条件完全相同的情况下进行对比。训练100轮后,标准交叉熵取得FID 7.53,SNCE为3.62,GCE为3.40。训练300轮后,标准交叉熵为5.44,SNCE为3.42,GCE为3.00。值得一提的是,更大词典(262,144词条的FVQ词典)上的实验也显示了同样的趋势:SNCE得FID 3.20,GCE进一步提升到2.69。FID的数值越小代表生成质量越高,这一系列数据清晰地显示出GCE相对于两种基线方法的稳定优势。

---

五、给大词典装上"加速引擎"——自定义高效算子的工程创新

GCE虽然在数学上优雅,但朴素的代码实现会带来不可接受的计算开销。研究团队对此专门进行了工程优化,设计了一个自定义融合算子(fused operator),大幅降低了GCE的显存占用和运行延迟。

理解这个工程挑战,可以用一个具体的场景来感受。在处理16,384个词条(对应4张1024×1024分辨率图像,或64张256×256分辨率图像)时,GCE的朴素实现需要分配一个形状为N×|V|的完整矩阵——在词典大小13万的情况下,这张矩阵每次都会消耗约17GB的额外显存,加上输入本身的8.1GB,峰值显存高达25.2GB,延迟也高达44毫秒。

关键的优化思路在于:不同词条组的大小是有上限的。研究团队统计发现,在8,192组的方案中,最大的那个组也只包含391个词条;在16,384组的方案中,最大的组只包含192个词条。因此,不需要为整个13万维的词典分配矩阵,只需分配一个N×391(或N×192)的小矩阵就足够了,这不到朴素实现所需内存的1%。在反向传播(也就是计算梯度、更新参数的步骤)中,研究团队避免使用PyTorch自动微分机制,直接手写梯度计算公式,并利用PyTorch的in-place scatter_add操作高效地将稀疏梯度累加回完整的梯度矩阵,进一步节省了内存。

经过优化后的GCE算子,延迟从44毫秒降至20毫秒,峰值显存从25.2GB降至16.1GB——与标准交叉熵硬标签实现(12.71毫秒,16.1GB峰值显存)相比,额外的延迟开销仅约7毫秒,而整个模型单步训练时间约为3.2秒,这7毫秒的开销几乎可以忽略不计。

---

六、模型整体架构——为何选择"只有解码器"的设计

NLD-Image在模型架构上也做出了与众多同类工作不同的选择,并带来了实质性的优势。

许多前辈工作(如Meissonic)采用的是编码器-解码器的双体结构:用一个预训练的文字编码器(如CLIP)把用户输入的文字描述转换成固定向量,再用一个单独的图像生成网络根据这些向量生成图像。这种结构有一个明显的局限:CLIP编码器的输入窗口最长只有77个词条,也就是说,用户的提示词不能超过约77个英文单词,否则多出来的内容会被截断忽略。

NLD-Image采用了一个纯解码器(decoder-only)架构,也就是说,文字提示词和图像词条序列被放在一起,共同输入同一个Transformer模型进行处理。这个模型从一个预训练的扩散语言模型(Nemotron-Labs-Diffusion)初始化,该语言模型本身就是通过大量文字数据训练出来的,具备强大的语言理解能力。通过在图像生成任务上进一步微调,NLD-Image可以直接将语言模型的语义理解能力迁移到图像生成中,而无需从零开始学习文字的含义。

这种设计带来的实际好处是多方面的。文字提示词的长度不再受77词的限制,可以包含更详细、更复杂的描述;可以利用LLM训练中成熟的序列打包技术,当一批图像对应的提示词长短不一时,把多个短提示词拼接成一个序列一起处理,避免浪费计算资源;而且整个模型可以端到端地联合优化,图像生成能力和语言理解能力相互促进。NLD-Image整体参数规模约为80亿(8B),与同类模型(如LaViDa-O的10B、BAGEL的14B)属于同一量级,但在多项基准上超越了更大的模型。

---

七、训练过程、数据和实验结果

NLD-Image的训练分为两个阶段。第一阶段在256×256分辨率上训练200,000步,全局批次大小为1,024,学习率1×10??,此阶段不开启词条编辑功能;第二阶段先在512×512分辨率训练20,000步,再扩展到1024×1024分辨率训练80,000步,批次大小256,学习率1×10??,此阶段开启词条编辑功能。整个训练在64块英伟达H100 GPU上进行,总计耗时约16天。

训练数据方面,团队汇集了来自LAION-2B、COYO-700M、BLIP3o-60k和ShareGPT4o-Image四个公开数据集的共约1.37亿张图文对。对于来自LAION-2B和COYO-700M的图像,团队使用Qwen3-VL模型重新生成图像描述,以替代原始的alt-text标注(这类标注往往嘈杂且不准确)。不过,团队保留了其中CLIP分数较高的原始标注,并在训练时随机切换使用VLM生成描述或原始标注,目的是让模型学会响应"高质量"、"4K"等人工关键词,因为这类词语在VLM自动生成的描述中几乎不会出现。

在主要测试基准上,NLD-Image展现出相当竞争力的表现。在GenEval基准上,NLD-Image取得总分0.90,在"单一物体"(0.98)、"双物体"(0.93)、"计数"(0.83)、"颜色"(0.94)、"位置"(0.88)和"颜色属性"(0.82)六个子项上全面超越同为掩码扩散范式的Meissonic(总分0.54)和LaViDa-O(总分0.77),也超越了Flux-dev(0.66)等连续扩散模型,与Qwen-Image-2507(0.87)和BAGEL(0.88)等更大参数量的前沿模型相当。

在DPG基准上,NLD-Image经过合成数据微调后取得86.9分,超越GPT-4o(85.3)和SD3(83.5)。在MJHQ-30k数据集上,NLD-Image的HPSv3得分10.76(微调后版本),在所有对比模型中处于前列。

推理速度方面,NLD-Image展现出MDM范式的天然优势。在1024×1024分辨率下,与同类系统相比:Emu3.5(自回归模型)每张图像需要约347秒,而NLD-Image仅需约8.2秒,速度提升约42.4倍;相比于Qwen-Image(流匹配模型)的16.8秒和Infinity-8B(VAR模型)的10.3秒,NLD-Image也明显更快。这种速度优势在实际应用中意义重大。

少步数生成能力方面,NLD-Image还展现出一个有趣的特性:即便只用4步就完成生成(正常情况下使用64步),图像质量依然相对合理,而对比的连续流匹配模型Qwen-Image在4步以下甚至会出现NaN数值错误。这种少步数鲁棒性不需要任何专门的蒸馏训练,而是从MDM的离散扩散机制中自然涌现出来的。

---

说到底,NLD-Image这篇论文做了什么?用最直白的话来概括:英伟达的团队找到了让AI图像生成模型在"生成过程中改稿"的方法,并且设计了一套更聪明的学习方式,让模型能在使用超大词典时依然高效学习。这两个改进合在一起,让一类原本在速度上有优势但在质量上稍逊一筹的图像生成方式,真正跻身一流水准。

对普通用户而言,这意味着未来基于这类技术的图像生成工具,不仅可以更快地生成高分辨率图像,还能更好地理解复杂的文字描述,并在较少步骤内生成令人满意的结果——对于追求既快又好的创作工具的用户来说,这些都是切实的体验提升。

当然,研究团队也坦承,词条编辑机制并不能消除所有瑕疵,模型仍然可能生成错误的输出;GCE的实现还有进一步优化的空间,例如通过定制低级CUDA内核可能实现更大的加速。这些都留作未来工作。此外,研究团队也特别提醒,任何强大的图像生成模型都可能被用于生成有害内容,该模型目前主要用于研究目的,使用者应遵守相关规范。

有兴趣深入了解技术细节的读者,可以通过arXiv编号2606.29814查阅完整论文,所有引用资源也均在论文中有完整记录。

---

Q&A

Q1:NLD-Image的词条编辑机制在推理时如何决定是否修改一个已生成的词条?

A:在每一个推理步骤中,模型会对所有已填好的词条重新计算概率分布。当模型预测出一个与当前词条不同的新词条,且对这个新词条的把握(置信度)超过预设阈值τ(默认值为0.6,即60%)时,就会用新词条覆盖掉原来的词条。阈值的高低直接影响修改频率:阈值太低会导致过度修改引入混乱,太高则几乎不触发修改,实验表明τ=0.6在大多数步骤数设置下效果最佳。

Q2:分组交叉熵(GCE)和普通交叉熵在训练时有什么实际区别?

A:普通交叉熵只给唯一正确的词条正向反馈,其余所有词条一律给同等强度的负向反馈,完全无视语义相似性。GCE则通过K均值聚类把词条分成若干组,在词条级精准监督之外,额外加入组级别的监督:正确词条所在组的全体成员都能收到正向反馈,语义相近但不在同一组的词条也能通过更粗粒度的聚类获得部分正向信号。这种设计让词典越大、训练信号越稀疏的场景受益最大。

Q3:NLD-Image生成一张1024×1024图像需要多长时间?

A:在单块H100 GPU、批次大小为1的条件下,NLD-Image生成一张1024×1024分辨率图像约需8.2秒(使用64步推理)。相比之下,自回归模型Emu3.5需要约347秒,速度约慢42倍。如果降低推理步数至32步,配合词条编辑机制开启,可以在基本不损失质量的前提下进一步缩短生成时间。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 2:01:17

Java开发者转型AI应用开发的实战指南

1. 为什么Java后端开发者需要关注AI应用开发?最近两年,我身边至少有20位Java开发者成功转型AI应用开发,薪资涨幅普遍在30%-50%之间。最典型的案例是一位双非院校毕业的朋友,投递Java岗位三个月只收到3个面试邀约,转向A…

作者头像 李华
网站建设 2026/7/3 1:59:04

计算机毕业设计之jsp教师招聘网的设计与实现

“互联网”的战略实施后,很多行业的信息化水平都有了很大的提升。但是目前很多学校日常工作仍是通过人工管理的方式进行,需要在各个岗位投入大量的人力进行很多重复性工作,这样就浪费了许多的人力物力,工作效率较低,同…

作者头像 李华
网站建设 2026/7/3 1:54:14

Service Mesh 落地:别为了网格把服务治理搞复杂

Service Mesh 落地:别为了网格把服务治理搞复杂 一、Service Mesh 不是默认答案 Service Mesh 能提供流量治理、mTLS、熔断、可观测性和灰度能力。但它不是所有团队的默认答案。网格引入 sidecar、控制面、证书、策略和调试复杂度,小团队如果只是想做简单…

作者头像 李华
网站建设 2026/7/3 1:52:04

力士乐伺服系统调试与参数优化实战指南

1. 力士乐伺服系统调试环境搭建作为工业自动化领域的核心部件,力士乐(Rexroth)伺服系统在精密运动控制场景中占据重要地位。其配套的IndraWorks软件套件是工程师日常调试的得力工具。初次接触该平台时,建议按以下步骤构建开发环境…

作者头像 李华
网站建设 2026/7/3 1:51:58

Flutter 状态动画:让变化顺滑,但不要重建整棵树

Flutter 状态动画:让变化顺滑,但不要重建整棵树 一、动画卡顿常来自无关组件重建 Flutter 做界面动画很方便,但如果状态管理不清晰,动画过程中可能不断重建大范围 Widget 树,导致掉帧。尤其是列表、复杂表单和嵌套布局…

作者头像 李华
网站建设 2026/7/3 1:50:57

Java毕设项目:智能化教学资讯推送与课程推荐管理系统的设计与实现 面向学生学情的个性化课程适配推荐系统 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华