真实面经题目 · 原创解析
文生图模型的核心框架如何设计,文本编码器、生成主干和图像解码器如何协同?
这题考文生图模型的整体框架理解。好的回答要讲清楚文本编码器把 prompt 变成条件表示,生成主干通常在像素或 latent 空间逐步生成图像,图像解码器把 latent 还原为像素;同时要说明 cross-attention、扩散噪声预测、时间步条件、classifier-free guidance、VAE 编解码、训练损失和推理采样如何协同。
真实面经题目 · 原创解析
这题考文生图模型的整体框架理解。好的回答要讲清楚文本编码器把 prompt 变成条件表示,生成主干通常在像素或 latent 空间逐步生成图像,图像解码器把 latent 还原为像素;同时要说明 cross-attention、扩散噪声预测、时间步条件、classifier-free guidance、VAE 编解码、训练损失和推理采样如何协同。
一个典型文生图框架可以分成文本编码器、生成主干和图像解码器三块。文本编码器通常是 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 会被 tokenizer 切成 token,再由 Transformer 文本编码器输出 hidden states。它不仅编码对象名,还要表达属性、风格、空间关系、数量、否定词和长 prompt 中的权重关系。生成主干后续通常通过 cross-attention 或条件调制读取这些文本表示。
很多文生图模型不直接在高分辨率像素空间扩散,而是用 VAE encoder 把训练图片压缩到 latent。这样生成主干处理的是更小的空间分辨率,计算成本显著降低。最后再由 VAE decoder 把 latent 还原为 RGB 图像。
扩散式生成主干训练时接收带噪 latent、时间步 embedding 和文本条件,学习预测噪声、velocity 或干净样本。U-Net 通过多尺度卷积和 skip connection 建模局部与全局结构,DiT 则用 Transformer block 建模 token 之间的长程关系。
在 U-Net 或 DiT 的若干层中,图像 latent token 或特征位置作为 query,文本 token hidden states 作为 key/value。这样模型在生成某个局部区域时可以关注 prompt 中相关的对象、属性和风格词,实现「文本条件控制图像内容」。
训练过程会按噪声调度器采样时间步,把不同强度噪声加到 latent 上。模型预测目标可以是 epsilon、v-prediction 或 x0,具体选择要和调度器、采样器以及损失权重匹配。否则训练目标和推理更新公式不一致,会影响收敛和生成质量。
推理时从随机 latent 噪声开始,按 scheduler 的时间步反复调用生成主干,逐步得到更干净的 latent。采样步数、scheduler 类型、随机种子、分辨率、guidance scale 都会影响速度、稳定性、细节和多样性。
classifier-free guidance 通常用有条件预测和无条件预测的差值增强 prompt 控制。guidance scale 太低时图像可能不听 prompt,太高时可能过饱和、失真、构图僵硬或多样性下降。负向 prompt 也通常通过这个条件接口影响生成方向。
VAE decoder 把 latent 转成像素,可能引入压缩模糊或细节损失。实际系统还会接安全过滤、超分、面部修复、inpainting、ControlNet 或重排模型。回答框架时要区分核心生成链路和这些增强模块,避免把后处理误认为生成主干本身。
因为直接在像素空间扩散的计算量很大,尤其是高分辨率图像。latent diffusion 先用 VAE 把图像压缩到较小的 latent 空间,生成主干在这个空间去噪,速度和显存压力更可控。代价是 VAE 压缩可能带来细节损失,因此 VAE 质量会影响最终图像。
U-Net 更偏卷积多尺度结构,天然适合图像局部纹理和金字塔特征,配合 skip connection 很成熟。DiT 把 latent patch 当 token,用 Transformer 建模全局关系,扩展到大模型规模时更统一,但对训练规模、位置编码和算力要求更高。实际选择取决于模型规模、数据量、速度目标和工程栈。
负向 prompt 通常会被同一个文本编码器编码成条件,在 classifier-free guidance 或类似条件组合中影响去噪方向。它不是简单后处理删除元素,而是在每一步采样中把模型从某些语义或风格方向推开,因此过强或冲突的负向 prompt 也可能损害画质。
常见方式是 inpainting:把原图编码到 latent,给需要编辑的区域加 mask,只在 mask 区域按文本条件去噪,非编辑区域尽量保持原 latent。还可以加入 ControlNet、边缘图、深度图、姿态图等额外条件,让生成主干在文本之外受到结构约束。
要分维度评估:文本一致性、视觉质量、多样性、构图、细节、审美、安全性和可控性。自动指标可以辅助,但很难完全替代人工偏好评估。工程上通常用固定 prompt 集、人工排序、模型评审、失败类型统计和线上用户反馈共同判断。