真实面经题目 · 原创解析

文生图模型的核心框架如何设计,文本编码器、生成主干和图像解码器如何协同?

这题考文生图模型的整体框架理解。好的回答要讲清楚文本编码器把 prompt 变成条件表示,生成主干通常在像素或 latent 空间逐步生成图像,图像解码器把 latent 还原为像素;同时要说明 cross-attention、扩散噪声预测、时间步条件、classifier-free guidance、VAE 编解码、训练损失和推理采样如何协同。

出现于:小米 · 算法

60 秒回答模板

一个典型文生图框架可以分成文本编码器、生成主干和图像解码器三块。文本编码器通常是 Transformer,把用户 prompt token 化后编码成一组文本 hidden states,里面包含对象、属性、风格、空间关系和否定约束。生成主干可以是 diffusion U-Net、DiT 或其他 Transformer 生成器;现代高分辨率方案常在 VAE latent 空间工作,而不是直接在像素空间生成。训练时先用图像编码器把真实图片压缩成 latent,再给 latent 加不同时间步的噪声,生成主干输入 noisy latent、时间步 embedding 和文本条件,通过 cross-attention 或条件调制预测噪声、velocity 或干净 latent,损失通常是预测目标和真实目标之间的回归损失。图像解码器负责把最终去噪后的 latent 解码成 RGB 图片。推理时,先用文本编码器得到条件 embedding,从随机噪声 latent 开始,采样器按时间步多次调用生成主干逐步去噪,classifier-free guidance 会同时计算有条件和无条件预测,用 guidance scale 增强文本一致性,但过大可能损害多样性和画质。生成结束后把 latent 送入 VAE decoder 得到图像,必要时再接超分、修复、安全过滤或重排。回答时还要强调三者协同关系:文本编码器决定语义条件,生成主干决定从噪声到图像结构的建模能力,解码器决定像素细节和压缩损失边界;训练和推理的条件接口必须一致,否则容易出现 prompt 不跟随、细节丢失或采样不稳定。

考点 三段式框架要清楚
难度 真实面经题
回答目标 让候选人能完整描述文生图系统中 prompt 编码、latent 去噪生成和图像解码的协同关系,理解 cross-attention、扩散训练目标、采样调度和 CFG 的作用,并能区分核心模型框架与工程后处理模块。

深入解析

01

文本编码器负责条件语义

用户 prompt 会被 tokenizer 切成 token,再由 Transformer 文本编码器输出 hidden states。它不仅编码对象名,还要表达属性、风格、空间关系、数量、否定词和长 prompt 中的权重关系。生成主干后续通常通过 cross-attention 或条件调制读取这些文本表示。

02

图像通常先进入 latent 空间

很多文生图模型不直接在高分辨率像素空间扩散,而是用 VAE encoder 把训练图片压缩到 latent。这样生成主干处理的是更小的空间分辨率,计算成本显著降低。最后再由 VAE decoder 把 latent 还原为 RGB 图像。

03

生成主干学习逐步去噪

扩散式生成主干训练时接收带噪 latent、时间步 embedding 和文本条件,学习预测噪声、velocity 或干净样本。U-Net 通过多尺度卷积和 skip connection 建模局部与全局结构,DiT 则用 Transformer block 建模 token 之间的长程关系。

04

cross-attention 连接文本和图像

在 U-Net 或 DiT 的若干层中,图像 latent token 或特征位置作为 query,文本 token hidden states 作为 key/value。这样模型在生成某个局部区域时可以关注 prompt 中相关的对象、属性和风格词,实现「文本条件控制图像内容」。

05

训练目标要匹配噪声调度

训练过程会按噪声调度器采样时间步,把不同强度噪声加到 latent 上。模型预测目标可以是 epsilon、v-prediction 或 x0,具体选择要和调度器、采样器以及损失权重匹配。否则训练目标和推理更新公式不一致,会影响收敛和生成质量。

06

推理是从噪声迭代采样

推理时从随机 latent 噪声开始,按 scheduler 的时间步反复调用生成主干,逐步得到更干净的 latent。采样步数、scheduler 类型、随机种子、分辨率、guidance scale 都会影响速度、稳定性、细节和多样性。

07

CFG 平衡文本跟随和多样性

classifier-free guidance 通常用有条件预测和无条件预测的差值增强 prompt 控制。guidance scale 太低时图像可能不听 prompt,太高时可能过饱和、失真、构图僵硬或多样性下降。负向 prompt 也通常通过这个条件接口影响生成方向。

08

解码和后处理决定最终可用性

VAE decoder 把 latent 转成像素,可能引入压缩模糊或细节损失。实际系统还会接安全过滤、超分、面部修复、inpainting、ControlNet 或重排模型。回答框架时要区分核心生成链路和这些增强模块,避免把后处理误认为生成主干本身。

易错点

  • 只说输入文本输出图片,没有拆出文本编码器、生成主干和图像解码器的职责。
  • 把扩散模型说成一次前向生成,忽略训练加噪和推理多步去噪过程。
  • 没有说明文本条件如何进入生成主干,例如 cross-attention 或条件调制。
  • 把 VAE decoder 当成普通图片后处理,不知道 latent diffusion 中它是核心链路。
  • 忽略时间步 embedding、噪声调度器和预测目标之间的一致性。
  • 把 guidance scale 说成越大越好,不提文本一致性、画质和多样性的权衡。
  • 混淆训练阶段的真实图像编码 latent 和推理阶段的随机噪声 latent。
  • 把超分、修复、安全过滤等增强模块和基础生成主干混为一谈。

面试官追问

为什么很多文生图模型选择 latent diffusion?

因为直接在像素空间扩散的计算量很大,尤其是高分辨率图像。latent diffusion 先用 VAE 把图像压缩到较小的 latent 空间,生成主干在这个空间去噪,速度和显存压力更可控。代价是 VAE 压缩可能带来细节损失,因此 VAE 质量会影响最终图像。

U-Net 和 DiT 作为生成主干有什么区别?

U-Net 更偏卷积多尺度结构,天然适合图像局部纹理和金字塔特征,配合 skip connection 很成熟。DiT 把 latent patch 当 token,用 Transformer 建模全局关系,扩展到大模型规模时更统一,但对训练规模、位置编码和算力要求更高。实际选择取决于模型规模、数据量、速度目标和工程栈。

负向 prompt 在框架里如何起作用?

负向 prompt 通常会被同一个文本编码器编码成条件,在 classifier-free guidance 或类似条件组合中影响去噪方向。它不是简单后处理删除元素,而是在每一步采样中把模型从某些语义或风格方向推开,因此过强或冲突的负向 prompt 也可能损害画质。

文生图里如何实现图像局部编辑?

常见方式是 inpainting:把原图编码到 latent,给需要编辑的区域加 mask,只在 mask 区域按文本条件去噪,非编辑区域尽量保持原 latent。还可以加入 ControlNet、边缘图、深度图、姿态图等额外条件,让生成主干在文本之外受到结构约束。

如何评估文生图模型效果?

要分维度评估:文本一致性、视觉质量、多样性、构图、细节、审美、安全性和可控性。自动指标可以辅助,但很难完全替代人工偏好评估。工程上通常用固定 prompt 集、人工排序、模型评审、失败类型统计和线上用户反馈共同判断。