AI Engineer Europe 2026 · 演講 · 2026-04-21 · 41 分
擴散模型從資料到控制的全流程
Building Generative Image & Video models at Scale · Sander Dieleman,Google DeepMind
Sander Dieleman 用八個環節快速走過圖像與影片生成模型的訓練:資料、壓縮表示、去噪原理、架構、取樣、蒸餾到控制訊號,並在 Q&A 補充 guidance 的細節。
概要
- 先看資料,再調模型Sander 說自己讀博士時被鼓勵用大家共用的資料集,現在得反過來學會盯著資料看,也認為花時間改資料,有時比調模型或優化器更划算,但這部分能公開的細節不多。
- 先壓縮成 latent 再訓練像素張量太大,Sander 舉 30 秒、1080p、30fps 的影片就要好幾 GB。做法是用 autoencoder 學出自己的壓縮表示,再在上面訓練生成模型,最後用 decoder 還原成像素。
- 去噪是一小步一小步走模型只看得到加噪後的樣子,單步預測會是所有可能原圖的平均,所以是模糊的。取樣時只沿預測方向走一小步,再重新預測,區域逐步縮成一點。
- 頻譜角度解釋為什麼有效影像的頻譜在 log-log 圖上近似直線,加噪會從高頻先蓋掉。Sander 因此把擴散形容成「頻譜上的自回歸」,由粗到細生成。
- guidance 幾乎是必開把有 prompt 與沒有 prompt 的預測差值放大,品質大幅提升、多樣性下降,代價是每一步要算兩次模型。
- 蒸餾是減步數,控制訊號多在後訓練加蒸餾的目標是減少取樣步數而不是縮小模型;相機運動、參考影像這類控制,常在後訓練階段才加進去。
原話
▶ 03:27“you really just have to look at your data”
真的得去看你的資料
▶ 18:52“diffusion is basically spectral autoregression”
擴散基本上就是頻譜上的自回歸
▶ 27:07“nobody ever turns it off anymore because it's so essential to getting good samples from these models”
沒人再把 guidance 關掉,因為它對取得好樣本太關鍵
▶ 27:38“guidance is sort of a no-brainer these days”
現在開 guidance 是理所當然的事
▶ 34:58“It seems like guidance just works better when you have that gap”
看起來有那段語意落差時,guidance 效果更好
延伸
- Sander 說資料策展與後訓練的細節屬於不能公開的部分,這場只講到概念層級。
- Sander 提到另有一個更長的版本放在 YouTube 上,可看到各環節更多細節,但這場沒有給出具體連結。
- Sander 在 Q&A 提到 rectified flow 這類研究,但沒有展開做法。
章節
點時碼直接跳到原片的那一段。
- 自我介紹與八個環節Sander 在 Google DeepMind 的 generative media 團隊,做 Veo 與 Nano Banana 這類模型;這場聚焦擴散模型,並預告資料、表示、建模、架構、訓練、取樣、蒸餾、控制八個部分。
- 資料策展資料品質對結果很關鍵,研究圈卻沒有誘因去看資料;Sander 說這塊少有公開論文,也屬於不能多談的部分。
- 學出自己的壓縮器像素直接進模型在規模上不可行;現成編碼格式會掩蓋資料結構,所以改用 autoencoder 學 latent 表示,再接生成模型。
- latent 的實際尺寸以 Stable Diffusion 為例,256 x 256 的圖壓成 32 x 32 的格子並加通道;影片可縮小約兩個數量級,同時保留網格結構。
- 自回歸與擴散自回歸要先排出序列,擴散則是先逐步加噪、再學一個去噪器;加噪時先丟細節、後丟整體輪廓。
- 去噪取樣的圖解用二維圖說明:單步預測是平均而模糊,所以沿預測方向小步前進,必要時補回新噪聲,區域逐步縮成一點。
- 頻譜觀點影像頻譜呈冪律、噪聲頻譜是平的;噪聲越大蓋掉越多頻率,所以擴散等於由粗到細的生成,也能把權重放在感知上重要的尺度。
- 去噪器的網路架構從 U-Net 轉到 transformer,可沿用 LLM 的擴展經驗,且不需要 causal mask;影片可整個 3D 體積一起去噪,或逐幀自回歸再用擴散生成每一幀。
- 大規模訓練模型通常比大型語言模型小;規模上去後要做資料與模型平行,他們用 JAX 並靠它的 pjit 自動分片。
- 取樣與 guidance取樣可加或不加噪聲:確定性演算法讓噪聲與樣本一對一、利於蒸餾,隨機的較能抵抗誤差累積;guidance 放大有無 prompt 的預測差值,用多樣性換品質,現在沒有人會關掉它。
- 蒸餾目標是減少步數而非縮小模型;consistency model 直接預測路徑終點,一步通常撐不住,所以可以分段、例如用三步取樣。
- 控制訊號文字之外還需要參考影像、相機運動、事件時間點等條件;沒有這類標註的預訓練資料,常留到後訓練階段再加,並接偏好調整。
- Q&A:飽和與後訓練畫面過於飽和通常是 guidance scale 太高;也有論文建議在取樣開頭與結尾不做 guidance、中間拉高,但後訓練的影響可能更大。
- Q&A:文字擴散可以用 guidance 嗎原則上可以,把 prompt 當條件即可;但 guidance 在條件與生成目標之間有語意落差時最有效,所以在語言模型上沒那麼常用。
- Q&A:JAX 還是 PyTorchSander 先聲明自己沒有 PyTorch 的實戰經驗,再說 JAX 從一開始就是為了好用的 TPU 多晶片擴展而設計,但 PyTorch 也做得到。
- Q&A:放慢去噪會更好嗎步數越多越能逼近真實的非線性路徑,但有上限;也有 rectified flow 這類研究想用更少步數取得準確近似。
- Q&A:相機控制怎麼加Sander 不能談實際做法,也沒參與那部分;只談 transformer 可以加額外 token,或把條件廣播到所有 token。
- Q&A:不加噪聲就是確定性的嗎對,一旦有去噪器就能建出隨機與完全確定兩種模型;確定性版本可以雙向走,也是許多蒸餾技術對教師模型的要求。
名詞
- Sander Dieleman
- Google DeepMind 的 research scientist,generative media 團隊成員
- latent representation
- 用 autoencoder 壓縮出來的較小表示,保留網格結構、丟掉局部紋理這類細節,擴散模型實際訓練的對象
- denoiser
- 輸入加噪後的樣本、預測乾淨版本的模型,取樣就是反覆呼叫它
- guidance scale
- 放大有條件與無條件預測差值的超參數,調高會降低多樣性、提高品質
- consistency model
- 蒸餾擴散模型的一種做法,直接預測取樣路徑的終點,以減少步數
- Stable Diffusion
- Sander 舉例的 latent diffusion 模型,早期版本以 U-Net 為基礎
- EQVAE
- 一篇改善 autoencoder 訓練的論文,Sander 借它的 latent 可視化來說明 latent 仍看得出動物
- GLIDE
- OpenAI 的早期大規模像素空間擴散模型,Sander 用它的論文展示有無 guidance 的差異
- Genie
- Sander 舉的「逐幀自回歸、每幀用擴散」混合做法的例子
- JAX
- Sander 的團隊用來建模的框架,用它的 pjit 做自動分片








