Skip to content

11 · 图像与视频生成原理:零基础学习方案(配套实习面试 12 题) ​

面向谁:机器学习零基础,但后端工程扎实(Go / Node / HTTP / 队列 / 数据库)的你。 目标:7 天 × 每天 90 分钟,从"连张量、潜在空间是什么都不知道",到"在实习面试里把图像/视频生成原理讲清楚,并扛得住 2-3 层追问"。 交付物不是代码,是三样东西:一张能默画的图、一段 60 秒能脱口而出的讲解、一份能接住追问的作答卡。 与 07 · 文生视频与 Diffusion 的关系:07 是原理深读(有推导、有公式、有工程细节),本章是入门学习方案——先用大白话把地基铺好,再去读 07 就不会一页都读不下去。建议顺序:先本章,后 07。本文不含代码、不含环境搭建。实习面试口头考的是理解,不是让你现场写模型代码;需要代码的地方会明确说"这个不考"。

0. 先立规矩:这份方案为什么这样排 ​

0.1 三条原则 ​

  1. 先建直觉,再补名词。0 基础最大的坑不是难,是顺序错:一上来读"变分自编码器""无分类器引导",每个字都认识、连起来不知道在说什么。正确的顺序是先在脑子里建立画面("往图上撒噪点,再一点点擦干净"),然后才知道那些名词各自站在这个画面的哪个位置。
  2. 能讲出来才算学会。面试不是笔试,考的是口述。所以每天的验收动作是"关掉文档,讲 60 秒",而不是"读完了"。看得懂但讲不出,等于没学。
  3. 只学能考的。时间只有 7 天,凡是面试不会问的(反向传播怎么算、KL 散度怎么推、PyTorch 怎么写)一律不学,并在"不做的事"里明确划掉,避免自己吓自己。

0.2 三层理解法(每天的目标就是往上爬一层) ​

层级状态验收标准(过了才往下走)大约耗时
第一层:看懂"哦,原来是这个意思"能用一句大白话给完全不懂的人解释,且他知道你在说什么每节 20 分钟
第二层:讲出"我能不看稿讲 60 秒"录音回听,没有卡顿、没有"呃…那个…",结构是"结论 → 原理 → 取舍"每天 30 分钟
第三层:扛追问"你再问我也答得上"面试官问三层"为什么",每层都能答,且能挂到项目上每天 40 分钟

0.3 明确不做的事(0 基础最容易在这里浪费时间) ​

不做为什么
安装 Python / PyTorch / 跑本地模型面试口头考原理,不问你会不会部署;装环境能吃掉你两天,还会因为下模型失败直接放弃
自己训练一个扩散模型需要 GPU 集群和数据,实习面试不要求,也不相信你训过
背数学推导(ELBO、变分推断、链式法则)面试官问你"能不能推导"的概率极低;问"直觉是什么"的概率极高
背论文名和年份记 2-3 个标志性的(DDPM、Stable Diffusion、Sora)够了,重点是说清"它解决了什么"
把所有竞品参数背下来只需要能说清"各家定位差异",细节会被问穿

1. 第一步:术语扫盲(先花 40 分钟,把 12 个词变成常识) ​

做法:不要背,读完每一行,合上文档,用你自己的话讲一遍。讲不出来的回来看一眼,再讲。这 12 个词是后面一切的地基。

术语大白话你已经会的类比一句话记忆
图像 / 像素一张图就是一大堆数字排成的方阵,每个位置有 3 个数(红、绿、蓝的亮度)一个 [][]Color 二维数组图片就是数字表格
通道(Channel)彩色图的"层":红一层、绿一层、蓝一层,共 3 层3 个并排的二维切片RGB 就是三层数字
张量(Tensor)多维数组的统称。一张图 高×宽×3,一批图再加一维 批×高×宽×3嵌套的 slice,只是维度可多可少张量 = 多维数组
模型 / 权重一个巨大的函数;"权重"是这个函数里几亿个可调旋钮的当前取值,存在一个 4GB 的文件里一个编译好的二进制 + 它的配置文件模型 = 函数,权重 = 旋钮值
训练(Training)用海量图片自动调那些旋钮,让输出越来越对。训练过程不属于面试范围CI 里跑很久的构建产物训练 = 自动调旋钮
推理(Inference)拿着调好的旋钮跑一次,得到结果(生成一张图)调一次接口推理 = 用一次
参数 / 超参参数是模型自己学的(权重);超参是你手调的(生成步数、引导强度)配置文件 vs 代码里的常量参数是学的,超参是你调的
编码器 / 解码器编码器把大东西压成小的表达;解码器把小的表达还原回来gzip / gunzip,只不过它是学出来的有损压缩编码器压缩,解码器还原
潜在空间(Latent Space)压缩之后那个"小表达"所在的空间。图不再是"像素",而是一串浓缩过的数字把 4MB 图片压成 40KB 的那份编码潜在空间 = 压缩后的表示
噪声(Noise)随机的、没有意义的杂点(电视雪花)。生成模型把它当作"原料"随机数噪声 = 生成的原料
采样 / 步数(Sampling / Steps)从噪声一点点算出结果的过程叫采样;走多少小步叫步数迭代逼近:走 20 步比走 4 步更精细步数 = 迭代次数
条件(Conditioning)你给模型的"要求":文字、参考图、骨架图。条件决定它往哪个方向生成请求里的参数 / 上下文条件 = 给模型的要求

扫盲收尾动作:把这张表盖住,让自己说出"潜在空间是什么""噪声在这里扮演什么角色"。这两个是后面所有内容的支点。

2. 学习路线图:7 天怎么走 ​

2.1 每日日程(90 分钟标准版) ​

天主题90 分钟怎么分当天交付物(必须产出,不然不算学完)
Day 1生成式 AI 全景、四大家族读 35 分 + 白板画 20 分 + 口述 25 分 + 自测 10 分【白板图 1】四大家族对比图 + 60 秒"为什么现在都用扩散"
Day 2扩散模型双过程(Q1)读 30 分 + 画图 20 分 + 口述 30 分 + 自测 10 分【白板图 2】加噪/去噪双过程 + Q1 口述录音
Day 3VAE、潜在空间、SD 架构(Q2 / Q7)读 35 分 + 画图 20 分 + 口述 25 分 + 自测 10 分【白板图 3】SD 四模块架构图 + 压缩比能当场算
Day 4Cross-Attention、CFG(Q9)读 30 分 + 画图 15 分 + 口述 30 分 + 自测 15 分【白板图 4】文本到底怎么影响生成 + Q9 口述
Day 5ControlNet、LoRA、图生视频(Q3 / Q4 / Q6)读 35 分 + 口述 40 分 + 自测 15 分三张作答卡 + "参考图/骨架图"产品流程能口述
Day 6视频生成、模型格局(Q5 / Q10)读 30 分 + 画图 20 分 + 口述 30 分 + 自测 10 分【白板图 5】图像 vs 视频的差别 + 竞品定位表能说
Day 7异步工程、Prompt、多模态(Q12 / Q8 / Q11)读 30 分 + 口述 40 分 + 自测 20 分【白板图 6】慢任务流程图 + 9 条 Prompt 规则
Day 8收口12 题逐题脱稿 60 秒 + 默画 6 张图全部 12 题不卡壳;6 张图能空手画

2.2 时间不够怎么办(三种节奏) ​

情况怎么做
只剩 3 天只做 Day 2(扩散)、Day 3(SD 架构)、Day 4(条件与引导)+ Day 8 收口。这三块覆盖了面试 70% 的提问;Day 5-7 只背作答卡不深读
只剩 1 天(明天就面)只读第 5 节的**「12 题总表」+ 每题作答卡**,把口述稿念 3 遍;白板只记【图 2】和【图 3】两张;其余全部放弃
每天只有 30 分钟拆成"三天一层":每天只做当天的"读"和"口述",白板图挪到周末一次补齐 6 张

每天的固定动作(不管多忙都要做):① 关掉文档,用 60 秒把今天学的讲一遍并录音;② 回听,找出卡壳的地方;③ 卡壳处重读那一小节。录音回听是这份方案里性价比最高的一步——90% 的"我以为我会了"都死在这一步。

3. 逐层吃透(正文) ​

阅读方法:每一层都按「先看直觉 → 再看名词 → 再画图 → 最后口述」四步走。每层末尾的作答卡就是面试时的答案,但不要先读作答卡——先自己答,再对照,差别记下来,那才是你的薄弱点。

第 1 层 · 生成式 AI 全景(Day 1) ​

3.1.1 先分清两类模型:判别 vs 生成 ​

  • 判别式(Discriminative):给它一张图,它告诉你"这是猫还是狗"。它做的是判断。
  • 生成式(Generative):给它一句话,它造出一张本来不存在的图。它做的是创造。

你已经熟悉的 AI 大多是判别式的(分类、识别、打分)。图像/视频生成属于生成式,它的难点不在"判断对不对",而在"造出来的东西要像真的、且要听你的话"。

一句话记忆:判别是"这是不是猫",生成是"给我画一只猫"。

3.1.2 生成式 AI 的四大家族(面试最爱问的对比题) ​

家族一句话原理生活类比优点缺点
GAN(对抗生成网络)两个网络对打:一个造假图,一个鉴别真假,互相进步造假币的和验钞的互相较劲生成快(一次就出)训练不稳、容易"只会画一种脸"(模式崩溃)
VAE(变分自编码器)先把图压成浓缩编码,再从编码还原回来有损压缩 + 解压训练稳、编码连续可插值出图偏模糊
扩散模型(Diffusion)先学会"往图上加噪",再学会"把噪声擦掉"一滴墨水滴进清水,再学怎么把墨收回去质量高、训练稳、多样慢(要迭代很多步)
自回归(Autoregressive)一个接一个地预测下一个片段像打字一样,一个字一个字往外蹦擅长离散序列(语言)图像/视频里片段太多,又慢又难

为什么现在主流是扩散模型? 一句话:它用"慢"换来了"质量高 + 训练稳 + 好加条件"。GAN 快但训不稳,VAE 稳但糊,自回归在语言上是王者但在视觉上太慢——扩散是当前综合最优解,所以 Stable Diffusion、Sora、Seedance 全走这条路。

【白板图 1】四大家族地图(横轴:生成速度;纵轴:质量与稳定性;四个家族各占一角,扩散在右上)

自测 3 问(答不上来就回读)

  1. 判别式和生成式的根本差别是什么?
  2. GAN 的"模式崩溃"用一句话怎么解释?
  3. 为什么扩散模型慢,却成了主流?

第 2 层 · 扩散模型:破坏容易,还原很难(Day 2)→ 对应 Q1 ​

3.2.1 直觉先行:一滴墨水 ​

把一滴墨水滴进一杯清水:它会自己扩散开,最后整杯水颜色均匀——这个过程不用学,物理自发的。 现在反过来问:你能把已经散开的墨,一滴不差地收回到原来那一滴吗? 很难。

扩散模型干的就是这件事:它不学"怎么画图",它学"怎么把被打散的图收回来"。

  • 前向过程(加噪):拿一张真图,一步步往里撒随机噪点,撒到最后变成一片电视雪花。这个过程是人为规定死的,不需要模型参与。
  • 反向过程(去噪):从一片雪花出发,一步步把噪点擦掉。每擦一步,画面清晰一点,走几十到上百步,最后"擦"出一张图。这个过程才是模型学的。

3.2.2 最关键的洞察:模型学的不是"画",是"擦" ​

这是整个主题最容易被问、也最能体现你有没有真懂的一点:

模型从来没见过"从噪声变出图片"的完整过程。它只学一件事——给你一张糊了的图,再告诉你"这张图大概糊到什么程度",你猜出"糊进去的那些噪点长什么样"。

训练时就是这么做的:拿一张真图,随机撒一批噪点(知道撒的是什么),让模型看图猜答案,猜错了就调整旋钮,反复几亿次。它学的是**"识别并去除噪点"这个局部能力**。

为什么这样设计?因为**"猜噪点"比"一步画出整幅图"简单太多**。就像教一个新人擦黑板:不要求他一秒擦干净,只要求他"每次擦掉薄薄一层"——这件事他学得会,擦一百次也就干净了。

面试金句:"扩散模型的模型不负责创作,它只负责'去噪'——创作是把几十次去噪叠加出来的效果。"

3.2.3 两个必答的追问 ​

追问一:为什么非要很多步?一步到位不行吗?

不行,而且原因很实在:每一步只擦掉一点点,单步的误差被限制在很小的范围;如果要求一步擦干净,模型必须一次做出几百万个数字的精确判断,任何一点偏差都会放大成明显破绽。步数少 → 每步改动大 → 容易糊、容易出错;步数多 → 精修 → 质量高但耗时长。所以**"步数—质量—速度"是同一个天平上的三样东西**。

(面试加分:业界用"跳步采样"的办法把上千步压到 20~50 步,质量几乎不损失——这就是 DDIM 这类采样加速技术干的事。你只要说清"有这回事、方向是跳步"就够。)

追问二:为什么不同提示词、同样的描述,每次生成结果都不一样?

因为起点是随机噪声。噪声不同,去噪的路径就不同,终点自然不同。想复现,就固定"随机种子(seed)"——这跟你在后端里固定随机数是同一个思路。

【白板图 2】加噪/去噪双过程(面试时最该先画的就是这张)

📋 作答卡 Q1:扩散模型的原理是什么? ​

60 秒口述稿:

"扩散模型学的是'加噪'的逆过程。训练时,它拿真实图片一步步撒随机噪点,直到变成一片雪花;模型的任务不是学怎么画图,而是学每一步该擦掉多少噪点——给它一张糊图,再告诉它糊到什么程度,让它猜出糊进去的噪点长什么样。推理时反过来:从一片随机雪花出发,让模型一步步擦噪点,擦几十到上百步,最后擦出一张图。它的好处是比 GAN 稳定得多,没有两个网络对抗导致的模式崩溃;代价是慢,因为这些步骤是串行的,下一步的输入是上一步的输出,没法并行。所以业界又在两个方向上优化:一是把扩散放到压缩后的空间里做,二是用跳步采样把上千步压到几十步。"

追问三连:

面试官问你怎么答(要点)
"为什么不让模型一次生成整张图?"单步误差会被放大;分步是把难题拆成一堆简单题,每步只擦薄薄一层,累积起来才精确
"模型到底在优化什么?"让它预测的噪点和真实撒进去的噪点尽量一致(衡量差异、调旋钮),重点是"学的是去噪函数"
"为什么同样的提示词每次不一样?"起点噪声是随机的 → 路径不同 → 结果不同;固定 seed 就能复现

常见错误(说出口就掉分):

  • ❌ "扩散模型是一次性画出整张图的" → 是几十上百步迭代出来的
  • ❌ "模型是在'生成'图片" → 模型只做去噪,"生成"是整条流程的效果
  • ❌ "步数越多越慢但没有任何代价" → 步数多=慢=成本高,工程上要权衡

第 3 层 · 为什么要在"压缩空间"里做:VAE 与 Stable Diffusion(Day 3)→ 对应 Q2、Q7 ​

3.3.1 先算一笔账:为什么不能直接在像素上做 ​

一帧 512×512 的彩色图,数字量是 512 × 512 × 3 ≈ 78 万个。视频更吓人:5 秒 24 帧就是 120 帧,直接上千万到上亿个数字。

在这个体量上做"几十上百步的迭代去噪",算力根本扛不住——这是 Stable Diffusion 出现前,扩散模型只能在实验室跑的原因。

3.3.2 VAE 的三步作用(把 78 万变成 1.6 万) ​

VAE(变分自编码器)在这里的角色不是生成,而是压缩和解压:

  1. 压缩:用编码器把 512×512×3 的图压成 64×64×4 的"浓缩表达"。空间上是 64 倍小,算上通道变化(3 层变 4 层),总数字量少约 48 倍。
  2. 在浓缩空间里做扩散:加噪、去噪全在这个小空间里进行,速度快几十倍。
  3. 还原:去噪完成后,用解码器把 64×64×4 解回 512×512×3 的图片。

面试时的精度提醒:说"计算量降低几十倍"最稳。若面试官追问精确数字:空间上每边压 8 倍 → 面积小 64 倍,但通道从 3 变 4 → 总数值少约 48 倍。能主动区分这两个数字,是"真懂"的信号(很多人只会含糊说"小很多")。

3.3.3 Stable Diffusion 的四个模块(Q2 的骨架) ​

模块它负责什么一句话记忆
文本编码器(CLIP)把你的话变成一串数字,让去噪网络知道"要画什么"翻译官:把中文变成模型的语言
VAE压缩与还原(上面说的那三步)压缩包 + 解压包
去噪网络(U-Net)真正的干活的:每一步预测噪点并擦掉生成引擎
采样器(Scheduler)决定走多少步、每步迈多大节奏控制器

关于"U-Net"这个词:你只需要知道它是一种专门处理图像的神经网络结构,特点是"先缩小看全局、再放大补细节,中间用跳跃连接把细节接回来",所以它既懂"整体构图"又抠得了"局部纹理"。面试不会让你推导 U-Net 的结构图,说清这个特点就够了。

关于"采样器"为什么值得提:因为同一个模型权重,换采样器就能在速度和质量之间重新选一次,而且不用重新训练——这是工程上很实用的一点。

【白板图 3】SD 四模块架构图(面试第二该画的图;画的时候把"文字→向量→注入去噪→解码"这条线走通)

📋 作答卡 Q2:Stable Diffusion 的架构与各模块作用 ​

60 秒口述稿:

"Stable Diffusion 可以拆成四个部分。文本编码器把你的提示词变成一串语义数字;VAE 负责压缩和还原——它先把图片从 512×512 的像素空间压到 64×64 的浓缩空间,扩散过程和去噪都在这个小空间里做,算力降低几十倍,生成完再解压回原尺寸,这是 SD 能在消费级显卡上跑起来的关键;去噪网络是真正干活的核心,每一步预测噪点并擦掉,而且每一步都会参考文本向量,靠的是 Cross-Attention 机制,让画面不同区域各自关注提示词里相关的词;最后是采样器,它决定去噪走多少步、每步迈多大,影响速度和质量,而且换采样器不用重新训练模型。"

📋 作答卡 Q7:VAE 是什么?在生成里起什么作用 ​

60 秒口述稿:

"VAE 是变分自编码器,在生成模型里它主要负责压缩和解压,不是负责生成。它的编码器把高分辨率图片压成一个低维的浓缩表达,解码器再把它还原成图片。在 Stable Diffusion 里,512×512 的图会被压成 64×64 的浓缩表达,空间上小了 64 倍,算上通道变化总数字量少大约 48 倍,扩散过程就在这个小空间里做,所以才能把成本降下来。视频里更复杂:视频不只是空间上的冗余,相邻帧之间还高度相似,所以要用"时空 VAE",在空间和时间两个维度同时压缩——这也解释了为什么视频模型虽然效果进步很快,训练和推理成本依然远高于图像。"

常见错误:

  • ❌ "VAE 负责生成图片" → 它负责压缩/还原,生成是去噪网络干的
  • ❌ "潜在空间是低清缩略图" → 不是缩小版图片,是一串抽象的浓缩数字,人眼看不懂但机器能算
  • ❌ 把 64 倍和 48 倍混着说 → 主动区分(面积 64 倍 / 总数值 48 倍)

第 4 层 · 模型怎么"听懂"文字:条件与引导(Day 4)→ 对应 Q9 ​

3.4.1 从一句话到一串数字 ​

模型不认字,只认数字。所以第一步永远是把文字变成一串数字(这一步叫"文本编码"),这串数字浓缩了整句话的意思。

3.4.2 Cross-Attention:图像每个位置"举手提问" ​

大白话版本:去噪的每一步,画面被拆成很多个小区域(每个区域是一个"位置")。每个位置都会去问一遍这句话:"在你这段话里,跟我最相关的是哪个词?" 然后它就把那个词的信息吸收过来。

于是:"一只猫坐在窗台上,晨光"——画面上"猫所在的区域"会重点吸收"猫","背景区域"吸收"窗台",整体色调受"晨光"影响。

为什么这解释了 Prompt 工程有用:你描述得越具体,每个位置"该关注谁"就越明确,画面就越受控。"一只猫"和"一只橘猫坐在洒满晨光的窗台上、逆光、电影感"生成出来完全是两个东西——差别就在这个注意力分布上。

3.4.3 CFG(引导强度):把"听话的方向"放大 ​

问题:模型如果完全自由发挥,可能会跑题。怎么办?

做法很巧:每一步同时算两次——一次"看着提示词去噪",一次"完全不看提示词去噪"。然后看这两个方向的差别,把这个差别放大若干倍,再照着放大后的方向走:

最终方向 = 不看提示词的方向 + 引导强度 ×(看提示词的方向 − 不看提示词的方向)

引导强度效果类比
低(1-3)自由发挥、多样,但可能跑题只给了个方向,剩下自己看着办
中(7 左右)平衡,默认最优明确要求 + 给一点创作空间
高(15 以上)严格贴着提示词,但容易颜色发焦、边缘失真死抠字眼,反而僵硬

产品经理视角(面试加分):这个参数在真实产品里不会直接给用户看,会被包装成"创意程度"或"与参考图的相似度"这样人话的旋钮——用户要的是"更像/更自由",不是"CFG=7"。把数学参数翻译成用户意图,是 AIGC 产品设计的一个通用原则。

📋 作答卡 Q9:CFG Scale 是什么,为什么调节它会影响效果 ​

60 秒口述稿:

"CFG 可以理解成'模型对提示词的服从程度'。它的做法是每一步同时算两个方向:一个是看着提示词的去噪方向,一个是不看提示词的、纯自由发挥的方向;然后把两者的差别乘上一个引导系数再叠加回去,相当于把'听话'这个方向放大。系数低的时候模型自由发挥,结果多样但可能跟你的描述关系不大;系数高的时候严格贴着提示词,但容易出现颜色过饱和、细节发焦;一般在 7 左右最平衡。在产品里这个参数通常不会直接暴露,而是包装成'创意程度'或者'与参考图相似度'这类用户能理解的表达。"

自测 3 问:

  1. 为什么文字能控制画面?(答案要落到"每步都在参考文本")
  2. CFG 的公式在做什么?(放大"听话"的方向)
  3. 引导强度调太高会怎样?(过饱和、失真——不是"越好越听话")

第 5 层 · 可控生成:让模型"照着做"(Day 5)→ 对应 Q3、Q4、Q6 ​

3.5.1 问题:文字在"结构"上很无力 ​

你可以说"一个女孩在跑步",但**"右腿在前、左臂抬起、身体前倾 15 度"**这种要求,用文字根本说不清。而生成任务里,结构、姿态、构图恰恰是用户最在意的。

思路的转变:既然文字说不清,那就直接给一张图——用图形本身当条件。

3.5.2 ControlNet:给模型一张"结构草图" ​

做法:在原有去噪网络旁边再挂一个分支,这个分支专门读一张"结构图",把结构信息喂给主网络,从而精确控制生成结果的空间结构。

关键设计(面试加分点):这个分支用"零初始化"的方式接上去——一开始它的影响是零,所以不会破坏原模型已有的能力,然后在这个基础上训练它学会"听结构图的"。这就是为什么 ControlNet 能外挂在已经训好的大模型上,而不需要从头重训。

你给的结构图长什么样用户能干什么
边缘线稿只有轮廓的黑白线线稿上色、保持轮廓换风格
骨架图人的关节火柴人摆姿势:让生成的人跟你给的姿势一样
深度图灰阶表示远近保持空间层次,换背景/重绘场景
语义分区图不同色块代表不同物体控制"这一块是天、这一块是地"
涂鸦随手画几笔涂鸦生图

面试金句:"ControlNet 的价值是把'描述结构'这件事从语言换成了图形——用户不需要学会写提示词,他只需要给一张骨架图。"

诚实边界:ControlNet 是开源社区(Stable Diffusion 生态)里的经典机制。商业闭源视频模型对外只提供"参考图""首尾帧"这类能力,内部不一定就是 ControlNet。被问到时要答"这类能力在原理上都属于可控生成",不要斩钉截铁地说某家内部用了 ControlNet。

3.5.3 LoRA:让"个性化"变得便宜 ​

问题:想给某个人、某种画风、某个商品做专门优化,全量微调一个大模型太贵(几十亿参数,给每个用户训一份不可能)。

LoRA 的做法:原来的大模型完全不动(冻结),只在旁边插一对很小的矩阵,只训练这对小矩阵;用的时候把它俩相乘的结果叠加到原权重上。

形象类比:大模型是一本已经印好的词典,LoRA 是一张薄薄的"勘误+补充贴纸"。不重印整本词典,只贴一张小贴纸就能改变它的表现,而且贴纸可以随时撕下来换另一张。

对比项全量微调LoRA
要动的东西全部权重只加一对小矩阵
文件大小几 GB一两百 MB
能不能组合难可以叠加多个(各自带权重)
效果上限高略低,但工程上可行得多

为什么它对产品很重要:它是"用户上传几张自己的照片 → 生成以自己为主角的内容"这类功能的技术基础;也是"品牌风格一键生成"的基础。

诚实边界(重要的加分项):说 LoRA 时主动补一句它的代价——效果上限低于全量微调,而且训练需要额外的等待时间,不是即时的。面试官听到你知道边界,比只听你夸优点更信任你。

3.5.4 图生视频:把"一张图"当条件(Q6 的核心) ​

  • 做法:把输入的那张图先编码成浓缩表达,作为"第 0 帧"的条件,之后每一帧生成时都始终参考它——所以画面不会跑偏,像是从这张图"长"出来的。
  • 三种控制方式(不同产品支持程度不同):
控制方式什么意思用户视角
首帧控制只给开头一张图,后面自己动"让我的照片动起来"
首尾帧控制给开头和结尾两张图,中间让它"脑补"过渡"从这张变到那张"(对模型能力要求高,是主要竞争点)
运动强度 / 轨迹控制动多大幅度、往哪个方向动"动得温柔一点""镜头往右移"

面试金句:"图生视频的难点不是'让它动',而是动的同时不破坏原图——构图、人物、风格都得保住,还要在帧之间保持连贯。"

📋 作答卡 Q3 / Q4 / Q6(简版) ​

题一句话骨架必备追问
Q3 ControlNet"文字说不清结构,所以改用图当条件:挂一个专门读结构图的分支,用零初始化接上去不破坏原模型,实现姿态/轮廓/深度的精确控制"为什么能外挂?(零初始化)哪些结构图?(骨架/边缘/深度/分割)产品对应什么?(姿态迁移、参考图生成)
Q4 LoRA"冻结大模型、只训一对小矩阵,几百 MB 就实现个性化,可以叠加组合"和全量微调比?(便宜、可插拔、上限略低)产品价值?(个人形象、品牌风格)边界?(需训练等待)
Q6 图生视频"把输入图编码成条件,每一帧都参考它;控制方式有首帧、首尾帧、运动强度"首尾帧难在哪?(要脑补合理过渡)什么最容易坏?(破坏原图内容 / 帧间跳动)

第 6 层 · 视频生成:多出来的那个维度(Day 6)→ 对应 Q5、Q10 ​

3.6.1 图像只有一个难题,视频有两个 ​

  • 图像要保证:同一张图内部像素之间协调(空间一致性)——画得像、不崩。
  • 视频还要多保证一件事:帧与帧之间连贯(时序一致性)——人不变脸、物体不乱跳、画面不闪烁。

所以"逐帧调用图像模型"是行不通的:每帧独立生成,人物长相、灯光、物体位置都会各玩各的,拼起来必然闪。

3.6.2 解法:让模型"同时看到多帧" ​

核心思路:在原有的"空间注意力"之外,再加一层"时间注意力"——空间注意力负责"这一帧里该长什么样",时间注意力负责"这一帧和上一帧之间该怎么连续"。两者配合,画面才既好看又连贯。

更彻底的做法是把"看图片的二维网络"升级为同时处理时间和空间的模型,或者干脆换成一种更适合处理长序列的结构(这就是 DiT 这一路——用处理序列的架构来做去噪主干,长视频的连贯性更好)。面试层面你只需要抓住主线:多了一个时间维度,就一定要多一个处理时间关系的机制。

3.6.3 三条技术路线(Q5 的骨架) ​

路线做法优点缺点
时空一起做(时空扩散)空间和时间同时去噪质量高、连贯好算力需求极大
先关键帧再插值(图生视频路线)先生成首/尾帧,中间补控制性强、成本低长视频容易不连贯
换成序列模型做主干(DiT)把视频切成小块当序列处理长程连贯性强、易扩展门槛高、数据要求高

3.6.4 主流模型格局(Q10:只记"定位",不背参数) ​

模型谁做的你该记住的一句话备注
Seedance字节跳动即梦 / Dreamina / 剪映生态的底层视频模型,迭代快本岗位所在生态,必须记住归属
SoraOpenAI视频生成的标杆,用 DiT 路线把连贯性和物理感拉到新高度访问受限
Wan(通义万相)阿里走开源、可本地部署别和 Seedance 搞混
CogVideoX智谱开源、DiT 架构、国内社区用得多—
可灵 Kling快手国内直接竞品,人物运动一致性口碑好—
海螺 AIMiniMax国内直接竞品—
Runway Gen-3 / Pika海外商业化成熟 / 轻量创作友好—

即梦的三个差异化角度(面试聊产品时用):

  1. 工作流闭环:生成结果能直接进剪映/CapCut 时间线,"生成即素材",不用导出导入;
  2. 多模态齐备:图、视频、音乐等能力在同一产品里;
  3. 自研模型:底层是自家 Seedance,迭代节奏可控。

⚠️ 事实纠错(说错就掉分):网上很多文章把 Seedance 写成"阿里通义万相系列",这是错的。Seedance 是字节跳动的;阿里的是通义万相 Wan。阿里的 DashScope 平台提供的是语音合成、声音克隆、图像理解、生图等能力,不是视频生成模型。

【白板图 5】图像 vs 视频对比图(左:只有空间维度;右:空间 + 时间,标出"闪烁/变脸"从哪来、"时间注意力"解决什么)

📋 作答卡 Q5 / Q10 ​

Q5(文生视频与图像生成的区别)60 秒稿:

"文生视频比文生图多了一个时间维度,也就多了一个核心难题:帧间连贯。图像只要保证单帧内部协调,视频还要求相邻帧之间人物不变脸、物体不乱跳、画面不闪烁——所以'逐帧调用图像模型'是行不通的。主流解法是在空间注意力之外再加一层时间注意力,让模型同时看到多帧,学习帧与帧之间的运动关系;更彻底的做法是用 DiT 这类更适合长序列的架构当去噪主干,Sora、Seedance 都属于这一路。代价是算力和数据需求比图像高一个量级,生成耗时也从几秒变成几十秒到几分钟。"

Q10(模型格局)60 秒稿:

"现在的格局大致是两超多强、闭源自研和开源并行:OpenAI 的 Sora 是技术标杆,走 DiT 加时空联合建模;字节的 Seedance 是即梦和剪映生态的底层模型,迭代很快;开源这一路有阿里的通义万相 Wan 和智谱的 CogVideoX,可以本地部署;国内直接竞品是可灵和海螺,海外是 Runway 和 Pika。各家差异主要在运动一致性、镜头控制细腻度这些点上。即梦的优势我理解是工具链闭环——生成完能直接进剪映时间线,加上多模态能力都在同一个产品里。"


第 7 层 · 工程视角:慢任务怎么变成产品(Day 7)→ 对应 Q12 ​

这一层是你的主场:你做过后端,队列、状态机、幂等这些你都熟。要做的只是把"生成模型天生慢"这件事跟你的工程经验接上。面试时不要讲代码,讲判断。

3.7.1 为什么生成必然慢(先讲清"慢"的来源) ​

两个原因叠加:① 去噪是串行的——下一步的输入是上一步的输出,没法并行铺开;② 视频比图像多了时间维度,每步的计算量随帧数增长。所以"等 30 秒到几分钟"不是供应商做得差,而是结构性的。

3.7.2 于是请求-响应必须拆开 ​

要讲清的六件事(不用提任何技术名词,讲判断):

#问题你的做法(口述版)
1用户怎么不焦虑提交后立刻返回任务号并显示"生成中"占位,绝不让用户对着转圈干等
2轮询怎么不打爆后端间隔逐次拉长(比如 2 秒起步,慢慢涨到 10 秒封顶),而不是每秒狂问
3状态谁说了算服务端是唯一权威;浏览器里的进度只是显示,刷新/换设备都不能丢状态
4重复提交怎么办提交带幂等标识,状态更新只在"当前状态允许"时才生效,避免同一任务被改两次
5进程挂了任务怎么办有恢复巡检:启动时和定时把"卡在生成中"的任务捞回来重查,绝不让它永远挂着
6失败了怎么办区分"可重试"和"不重试";重试有上限;失败要按比例退款或部分交付,不能"钱扣了没片子"

问答要点:面试官大概率会追一句"轮询超时了算失败吗?" ——正确答案是不能简单判失败,因为有可能片子其实已经生成了、只是你没收到通知,直接判失败会导致重复扣费。应该标记成"待核查"并走人工/对账兜底。这个回答能直接体现你是不是真的想过线上问题。

📋 作答卡 Q12 ​

60 秒口述稿:

"接生成类 API 最大的挑战不是调用,而是用户体验和状态管理,因为视频生成要等一到几分钟。我的做法分四层:第一,提交和结果分离——请求立刻返回任务号,前端马上渲染生成中的占位卡片;第二,轮询要退避,间隔逐次拉长、设上限,否则前端轮询很容易把后端打成假的流量攻击;第三,状态以服务端为准,任务状态落库、更新时校验当前状态,保证幂等,用户切页面、刷新甚至服务重启都能恢复;第四,失败要兜底,区分可重试和不可重试错误,重试有上限,失败要按比例退款或者部分交付。另外进度条要诚实:很多供应商不给真实进度,那就用预估曲线,但不能宣称'已完成 87%'这种假精度。"


第 8 层 · 两个"顺带考"的题(碎片时间)→ 对应 Q8、Q11 ​

3.8.1 Prompt 工程(Q8):九个能记住的规则 ​

正向骨架:主体 + 风格 + 光影/构图 + 质量词 + 负向排除

#规则例子
1主体要具体(年龄/动作/穿着/环境)不是"女孩",而是"穿米色风衣的短发女孩,站在雨后街道"
2明确风格写实 / 动漫 / 油画 / 胶片感
3给光线(最容易出效果)晨光逆光、黄金时刻、柔光、影棚灯
4给镜头(显专业)特写 / 广角 / 浅景深 / 85mm
5质量词高细节、8K、masterpiece
6负向提示词(最容易被忽略、效果最明显)模糊、低质量、脸崩、多手指、水印、文字
7权重可加减想突出的加重、想弱化的减重
8视频要写"动作""缓慢向前走" 而不是 "站着"
9视频要写"镜头运动",且别写太多同时发生的事"镜头缓慢推进";避免"同时…又…还…"(模型会各演各的)

产品视角(加分):真实产品不会让用户写提示词,而是按场景给模板(口播、商品展示、翻拍),用户只填关键信息,系统拼成结构化提示词。你项目里就是这套做法,可以主动讲。

3.8.2 多模态模型(Q11):和纯语言模型的差别 ​

  • 纯语言模型:只吃文字,只吐文字。
  • 多模态模型:多了一条"看图"的通道——图像先被转成一串"视觉数字",和文字的"数字"拼在一起,再一起送进语言模型。所以它能"看着图说话"。

产品用途:读懂用户上传的参考图并自动生成提示词(降低门槛)、图像问答、风格提取。 怎么挂到你的项目上:你在 RAG 项目里做过图片入库——项目里没有 OCR,图片是靠视觉模型出一段文字描述再入库的;而且视觉能力和语音能力做成了可插拔的接口,两条线独立降级(只配了视觉没配语音时,图片照常处理、音轨跳过并记一条 warning)。说清"接口可插拔 + 独立降级"比说"我用了某个具体模型"更显工程判断力。


4. 12 题总表:学在哪、考什么、答在哪 ​

题问题学习在哪一句话答案(背这个)追问风险
Q1扩散模型原理第 2 层 · Day 2学"加噪"的逆过程;模型学的是去噪函数,不是画图为什么多步、为什么每次不一样
Q2SD 架构与模块第 3 层 · Day 3文本编码器 + VAE 压缩解压 + 去噪网络 + 采样器各自输入输出、采样器作用
Q3ControlNet第 5 层 · Day 5文字说不清结构,改用结构图当条件,外挂分支做精确控制为什么能外挂、产品对应什么
Q4LoRA第 5 层 · Day 5冻结大模型只训一对小矩阵,几百 MB 实现个性化、可叠加和全量微调比、边界在哪
Q5文生视频 vs 图像第 6 层 · Day 6多了时间维度 → 帧间连贯;靠时间注意力/DiT 解决为什么不能逐帧生成
Q6图生视频第 5 层 · Day 5输入图当条件注入每一帧;首帧/首尾帧/运动强度首尾帧难在哪、什么最容易坏
Q7VAE 的作用第 3 层 · Day 3负责压缩还原;视频要时空压缩压缩比、为什么必须压缩
Q8Prompt 工程第 8 层 · Day 7结构化骨架 + 负向词 + 权重;视频要写动作和镜头为什么负向词有效
Q9CFG Scale第 4 层 · Day 4放大"听话方向";太低跑题、太高发焦公式含义、怎么包装成产品参数
Q10主流模型格局第 6 层 · Day 6两超多强;Seedance 是字节的各家差异、即梦的差异化
Q11多模态模型第 8 层 · Day 7多一条视觉通道,和文字拼在一起进语言模型和纯语言模型的架构差别
Q12接入生成 API第 7 层 · Day 7提交/轮询分离 + 退避 + 服务端权威状态 + 失败兜底超时算失败吗、怎么防重复扣费

5. 把"看懂"变成"讲得出":口述训练法 ​

5.1 60 秒结构模板(所有题都能套) ​

① 一句话结论(我能一句话说清它是什么) ② 它解决什么问题 / 怎么做的(两三句,带一个生活类比) ③ 取舍或对比(代价是什么、和别的方案比差在哪) ④ 挂到项目或产品(我见过/做过哪一块)

第 ④ 步是实习面试的加分位:面试官招的是能干活的实习生,不是背书机器。

5.2 六张必须能空手默画的图 ​

#图画出来要能讲
1四大家族对比为什么扩散成了主流
2加噪/去噪双过程训练学什么、推理做什么
3SD 四模块架构文字怎么一路走到出图
4文本影响生成的路径Cross-Attention 和 CFG 各在哪一环
5图像 vs 视频多出来的时间维度带来什么麻烦、怎么解
6慢任务流程图提交/轮询/状态/恢复/失败兜底

5.3 三句保命话术(真不会的时候用) ​

  1. 细节没到源码级 → "这一层我知道边界是这样,具体实现我还没到源码级,回去我会先看 XXX。"(绝不硬编)
  2. 数字没有基线 → "我没有可信的实测基线,所以不编数字——但我可以说清该看哪些指标、瓶颈在哪。"
  3. 被质疑是 AI 写的 → "是 AI 辅助。我把住的是设计决策和验证责任——哪几个坑是我踩出来的判断。"

5.4 每天 10 分钟"回炉"法 ​

把当天最卡的一个点写在纸上,第二天开场先用 60 秒把它讲一遍再学新的。卡点不清理,会一路堆到面试当天。

6. 自测卷(20 题) ​

用法:口头回答,每题 30-60 秒。答不上来的题号写在纸上,回对应层级重读。

A 组 · 概念题(考"你懂不懂")

  1. 图像在计算机里到底是什么?
  2. 什么是潜在空间?为什么要有它?
  3. 扩散模型里"噪声"扮演什么角色?
  4. 为什么去噪要分很多步?一步到位行不行?
  5. 采样器是干什么的?换它要重训模型吗?
  6. 什么是条件?举三种常见的条件。

B 组 · 对比题(考"你能不能分辨") 7. 判别式和生成式模型的区别? 8. GAN、VAE、扩散、自回归各有什么优缺点?为什么现在主流是扩散? 9. VAE 在 SD 里负责生成吗?(这是陷阱题) 10. ControlNet 和 LoRA 分别改的是什么? 11. 文生视频和文生图的根本差别在哪? 12. 多模态模型和纯语言模型的架构差别是什么? 13. 首帧控制、首尾帧控制,难度差在哪?

C 组 · 场景题(考"你能不能落地") 14. 用户说"生成的图跟我描述的完全不一样",你会从哪几个参数/环节排查? 15. 同一个提示词想复现同一张图,怎么做到? 16. 视频生成要等 90 秒,产品上怎么设计用户才不会跑? 17. 轮询到超时了,直接判失败有什么风险? 18. 上游生成服务挂了,用户的钱和任务怎么处理? 19. 你要给"参考图生成"设计上传交互,会引导用户传什么样的图?为什么? 20. 如果要降低生成成本,你会动哪些杠杆?

7. 把自己挂上去:口述版口径与雷区 ​

面试聊到项目时,说错事实比不知道更糟。下面每条都是"怎么说才不会被问穿"。

别说要说为什么
"集成了 6 家视频供应商,都在用""历史接入过 6 家,当前新任务只走 1 家(腾讯云 VOD);老实现保留是为了让发布时在途任务还能被轮询"说"都在用"立刻会被追细节
"阿里云 DashScope 是视频生成供应商""DashScope 在项目里做分镜理解、生图、语音合成,不是视频生成通道"归属说错等于没看过自己的项目
"Seedance 是阿里的""Seedance 是字节跳动的,是即梦/剪映生态的底层模型;阿里的是通义万相 Wan"本岗位生态的核心事实,必答对
"我们用 OCR 处理图片文档""项目没有 OCR:图片是靠视觉模型出文本描述入库的,能力接口是可插拔的"细节一追问就露馅
"首尾帧是我们最常用的能力""带参考图时首尾帧会被降级为参考图,而我们的生产场景基本都带参考图,所以主力是'参考图 + 提示词接续'"这是打主动牌的机会
"进度条是真实的""真实进度多数供应商不给,进度是预估曲线;权威状态在服务端"诚实反而加分

口径纪律:代码/项目里有的照实说,没有的一律不编。 面试官最怕"讲得流畅、一问细节就露馅";你主动划界("这块是同事写的,我从恢复侧参与"),他反而更信你负责的那部分。

8. 0 基础专属 FAQ(10 个最容易卡住的问题) ​

卡点破法
"潜在空间到底长什么样?"别去想象画面。它就是一串浓缩过的数字(比如 64×64×4 个数),机器能算、人看不懂——它不是缩略图
"模型怎么'听懂'中文?"不是听懂,是转成数字:文字被编码成一串数字,表达"这句话在说什么",被叫做语义向量
"为什么噪声能'长出'图像?"换个角度想:模型不是从噪声里"找"出图,而是每一步都在往'更像图'的方向修一点点,几十步累积成图
"注意力到底是什么?"按相关度加权平均:每个位置去问"我该重点参考谁",相关度高就多吸收一点
"损失/优化这些词要不要懂?"知道"训练就是反复猜、猜错就调旋钮"就够了,面试不考你怎么算梯度
"要不要背公式?"只记 CFG 那一个方向的公式和"压缩比"两个数字,其余一律用大白话讲
"读 07 章读不下去"正常——07 是深读篇。先按本章顺序走完,再回去读 07,你会发现大部分段落都能看懂了
"面试官问论文怎么办?"说 2-3 个里程碑即可(扩散的开山框架、让扩散能落地的"潜在空间压缩"、视频时代的 DiT 架构),重点讲"解决了什么"
"答到一半忘了怎么办?"停下来画图。画图能救场:边画边说,比干讲流畅得多,面试官也喜欢
"被问'你做过什么'答不上"回到第 7 节的口径表,把 6 条事实背熟;你的强项是工程侧,就往工程侧引导

9. 学完之后(拿到面试/投递后继续深水) ​

方向做什么什么时候做
动手感受真正跑一次文生图/图生视频,调步数和引导强度看差别面试后,不占用 7 天
深读原理通读 07 章,把噪声调度、时间步嵌入、Latent Diffusion 补上面试后
读模型源码读 diffusers 的采样器实现,理解"跳步采样"到底怎么跳有余力时
评估能力学怎么评测生成质量(人工偏好 + 客观指标 + 业务可用率)进组后最有用

与既有文档联动 ​

持续学习,持续构建。