
提到生成式建模大家第一時間想到的往往是擴散模型Diffusion Model在圖像、視頻、語音等領域的驚艷效果。但擴散模型有一個很現(xiàn)實的問題采樣速度太慢——從噪聲到清晰數(shù)據(jù)需要幾十步甚至上百步迭代這在真實業(yè)務場景中非常影響體驗和成本。為了解決這個問題業(yè)界陸續(xù)提出了大量蒸餾方法、一致性模型、流匹配Flow Matching以及 Rectified Flow 等方案。本文要討論的 XYZFlow從標題來看正是圍繞Multi-dimensional Shortcut Flows多維度捷徑流這一方向展開的生成建模優(yōu)化方法。與其說它是一個具體工具不如說它是一種思路把“長距離的生成路徑”通過多維度的方式“縮短”讓模型用更少的步驟完成高質(zhì)量的生成。下面我會從背景概念、核心原理、多維度擴展思路、代碼示例、常見問題、工程建議幾個維度完整拆解這條技術路線。這篇內(nèi)容適合正在研究擴散模型優(yōu)化、做生成式 AI 落地或者對流匹配和加速采樣感興趣的算法工程師。讀完你可以掌握 Shortcut Flow 的核心思想理解多維度擴展的切入點并配套得到一個可以繼續(xù)擴展的 PyTorch 示意代碼框架。1. 背景與核心概念為什么生成模型需要“捷徑流”1.1 生成模型到底在做什么生成建模這件事本質(zhì)上是在學習一個數(shù)據(jù)分布 p_data(x)并希望從該分布中采樣新樣本。傳統(tǒng)生成模型有幾種路線GAN生成對抗網(wǎng)絡生成器 判別器訓練對抗易不穩(wěn)定。VAE變分自編碼器編碼器 解碼器訓練穩(wěn)定但生成質(zhì)量有限。擴散模型Diffusion Model前向逐步加噪反向逐步去噪生成質(zhì)量極高但采樣較慢。流匹配Flow Matching學習一個從噪聲分布到數(shù)據(jù)分布的常微分方程ODE路徑兼顧質(zhì)量和速度。擴散模型和流匹配都屬于“基于路徑”的生成模型它們通過學習一個時間相關的向量場把簡單分布高斯噪聲逐步變換成復雜數(shù)據(jù)分布。這個過程可以理解為給定一個初始點 x_0沿著向量場 v_t(x) 走一條路徑最后落在數(shù)據(jù)流形附近。1.2 采樣慢的根源在哪里擴散模型乃至 Flow Matching 的采樣速度瓶頸主要來自生成路徑太長需要很多離散化步數(shù)每一步都需要經(jīng)過一次神經(jīng)網(wǎng)絡前向推理如果網(wǎng)絡較大推理成本會線性增長。打個比方從家里出發(fā)去公司如果有一條直達高架只需要 5 分鐘但如果導航路徑繞了很遠可能需要 30 分鐘。擴散模型的概率路徑就像是繞遠路雖然最終能到達但效率不高。1.3 Shortcut Flow 的核心思想Shortcut Flow捷徑流指的是在概率路徑上尋找一條更短的“捷徑”讓模型從噪聲到數(shù)據(jù)僅需很少的步數(shù)甚至 1 步。這不同于常見的蒸餾Knowledge Distillation方法它直接對 ODE 軌跡本身做“縮短”。我們可以把它分為兩層理解原始路徑學習先用標準的 Flow Matching 或擴散過程學習一個從噪聲到數(shù)據(jù)的路徑。捷徑構造在原始路徑中尋找一個更短的曲線使得用少量離散步也能逼近最終數(shù)據(jù)分布。如果這條“捷徑”能做到接近直線那么模型就只需一步近似即可完成生成例如 Rectified Flow、Consistency Model 也是類似思想。而 XYZFlow 的“Multi-dimensional”則強調(diào)這種捷徑構造不只是在一維時間 t 上縮短而是在多個維度噪聲維度、樣本維度、特征維度同時進行 scaling。1.4 為什么多維度擴展重要在現(xiàn)實數(shù)據(jù)中不同樣本、不同特征維度對生成路徑的長度需求可能不一樣。比如圖像中高頻紋理可能只需要局部較短路徑而全局結構需要更長路徑。如果我們只對時間步 t 做統(tǒng)一縮短容易出現(xiàn)某些區(qū)域過擬合、某些區(qū)域生成不足。多維度擴展的思路是對不同的維度/分量分配不同的路徑長度或步長策略從而讓模型在更少的整體步驟中保持生成質(zhì)量。2. 從 Diffusion ODE 到 Shortcut Flow原理解析2.1 概率流 ODE 基礎擴散模型有一個著名的性質(zhì)前向加噪過程的期望軌跡對應一個概率流 ODEProbability Flow ODE任意噪聲點 z 和對應數(shù)據(jù)點 x 之間都存在某種確定性映射。用公式直觀表示dx_t / dt v_t(x_t) x_1 ~ 數(shù)據(jù)分布 x_0 ~ 噪聲分布這里 t 從 1 到 0 或者從 0 到 1 取決于習慣。Flow Matching 就是直接回歸這個向量場 v_t(x_t)。一旦學好了 v_t(x)我們就可以從 x_0 開始用歐拉法或龍格-庫塔法逐步積分x_{tΔt} x_t v_t(x_t) * Δt步數(shù)越多近似越好但也越慢。2.2 捷徑流的數(shù)學直覺假設我們已經(jīng)學到一個 v_t它定義了一條從噪聲點到數(shù)據(jù)點的路徑。我們希望在時間維度上“壓縮”它讓一步的 ODE 跳躍也能覆蓋原本需要 N 步的范圍。數(shù)學上捷徑流通常是訓練一個新模型使其學習一個更加平直的向量場。比如給定同一對端點 (x_0, x_1)我們可以定義一種更直的插值x_t (1 - t) * x_0 t * x_1這就是 Rectified Flow 的關鍵。它把路徑拉直后歐拉法的數(shù)值誤差會大大降低所以用更少的步數(shù)就能得到不錯的效果。Shortcut Flow 則更進一步它不僅考慮端點直連還會考慮在路徑中自動發(fā)現(xiàn)“是否有更短的中間可達路徑”。這類似于路徑規(guī)劃里的“有向圖剪枝”。2.3 與蒸餾、一致性模型的區(qū)別方法核心思路是否需要教師模型采樣步數(shù)知識蒸餾用大模型監(jiān)督小模型是4~8 步一致性模型Consistency Model讓同一軌跡上的點映射到同一端點否可自蒸餾1~2 步Rectified Flow拉直噪聲到數(shù)據(jù)的線性插值路徑否1~8 步Shortcut Flow自動尋找可縮短的多維路徑可選1~8 步Shortcut Flow 與 Rectified Flow 有些相似但 Shortcut Flow 更關注路徑的“非線性縮短”尤其是在多個維度上聯(lián)合優(yōu)化。2.4 Multi-dimensional Scaling 的含義Multi-dimensional 在 XYZFlow 標題中我認為包含三層意思時間維度縮放將時間步 t 按區(qū)域動態(tài)分配例如在數(shù)據(jù)結構復雜的階段增加步長密度在平緩階段減少步數(shù)。噪聲分布維度縮放不同初始噪聲水平可以對應不同路徑長度而不是所有樣本統(tǒng)一用相同步數(shù)。數(shù)據(jù)特征維度縮放針對數(shù)據(jù)的不同通道或特征組比如圖像的結構/紋理、視頻的時間幀使用不同速率的路徑規(guī)劃。整體上這是一種比“均勻時間步”更精細的生成路徑控制方案。3. XYZFlow 的多維度擴展思路拆解由于目前公開資料中關于 XYZFlow 的確切源碼并不統(tǒng)一我這里基于標題和技術趨勢給出我認為比較合理的實現(xiàn)思路。這里不做官方背書而是作為技術方向推導。3.1 時間維度擴展自適應步長傳統(tǒng)擴散模型在采樣時采用均勻步長比如timesteps torch.linspace(1, 0, 50)但均勻步長可能不是最優(yōu)的。我們可以用可學習的步長映射或者根據(jù)向量場梯度大小動態(tài)調(diào)整步長。比如在 loss 較大的時間區(qū)域多放幾個采樣點在 loss 較小的區(qū)域減少采樣點。# 示意根據(jù)梯度強度自適應選擇時間點 def sample_timesteps(num_steps, sigma_function, device): # 先均勻采樣再根據(jù) sigma 函數(shù)做變換 t torch.linspace(0, 1, num_steps * 10, devicedevice) # 通過某種密度函數(shù)重采樣 weights sigma_function(t, t) weights weights / weights.sum() idx torch.multinomial(weights, num_steps, replacementFalse) return t[idx].sort(descendingTrue).values這種自適應步長的好處是在生成質(zhì)量要求高的區(qū)域步數(shù)更密集在平滑區(qū)域一步跨過即可。3.2 噪聲維度擴展多噪聲尺度流在 Shortcut Flow 中我們不只是學習一條從純噪聲到數(shù)據(jù)的路徑而是學習多條不同噪聲水平的路徑。對于接近數(shù)據(jù)的低噪聲區(qū)域路徑可以很短對于高噪聲區(qū)域路徑相對長。實現(xiàn)時可以引入一個“噪聲水平”維度 s把生成路徑從 2D時間 t空間 x擴展成 3D時間 t噪聲尺度 s空間 x。然后學習一個條件向量場v_theta(x, t, s) - 預測速度我們可以在訓練時同時采樣 t 和 s讓模型理解不同噪聲水平下的路徑變換。這樣可以針對不同噪聲輸入選擇合適的步數(shù)策略。3.3 特征維度擴展通道分組路徑圖像或者視頻數(shù)據(jù)存在多通道特征例如 RGB 圖像的結構和紋理在生成難度上是不同的。我們可以將特征通道分組對不同的組分配不同的時間調(diào)度。以圖像為例我們可以把 latent feature 分為低頻組和高頻組低頻組走大步長高頻組走小步長。這樣做可以在同樣步數(shù)下保留更多紋理細節(jié)。# 示意對通道分組使用不同時間步長 def forward_with_group_timesteps(model, x_t, t_group_map): results [] for group_id, t in t_group_map.items(): x_group x_t[:, group_id] out model(x_group, t) results.append(out) return torch.cat(results, dim1)當然這會增加模型輸入的復雜度需要設計合理的條件機制讓網(wǎng)絡知道當前生成的是哪一組通道。3.4 聯(lián)合縮放端點扭曲與重映射多維度的最終目標不是機械地劃分維度而是通過模型自動學習一條最優(yōu)路徑。常見做法是讓插值曲線帶有額外參數(shù)而不僅僅是簡單線性插值。在 Flow Matching 中常見定義是線性路徑x_t (1 - t) * x_0 t * x_1在 Multi-dimensional Shortcut Flow 中我們可以定義扭曲路徑x_t (1 - f(t)) * x_0 f(t) * x_1 κ * g(t) * noise其中 f(t) 是一個可學習的單調(diào)函數(shù)g(t) 控制額外的擾動注入。這樣模型可以自主決定在不同階段“需要多少噪聲”或“走多快”。4. 最小實驗框架PyTorch 示意代碼為了讓概念落地這里給出一個簡化的 Shortcut Flow 訓練框架。注意這不是任何官方庫的實現(xiàn)目的是幫助你理解核心模塊。你可以基于它改造和擴展。4.1 環(huán)境準備建議環(huán)境Python 3.9PyTorch 2.0torchvision 或基礎數(shù)據(jù)集模塊可選CUDA 11.8 或更高版本不需要完全一致因為核心算法思路是通用的。4.2 項目結構xyzflow_demo/ ├── config.py ├── model.py ├── flow.py ├── train.py └── sample.py4.3 配置模塊# config.py import torch class Config: def __init__(self): self.device torch.device(cuda if torch.cuda.is_available() else cpu) self.data_dim 64 # 示例中數(shù)據(jù)向量的維度 self.hidden_dim 512 self.num_flow_steps 2 # 捷徑流目標采樣步數(shù) self.batch_size 256 self.learning_rate 1e-4 self.num_epochs 20 self.log_interval 200 self.use_multi_dim True # 是否啟用多維度縮放4.4 基礎網(wǎng)絡模型這里使用一個簡單的多層感知機MLP作為演示實際項目可以換成 UNet 或 Transformer。# model.py import torch import torch.nn as nn class SimpleVelocityNet(nn.Module): 速度網(wǎng)輸入 x 和 t輸出 dx/dt 的估計值。 def __init__(self, data_dim, hidden_dim512): super().__init__() self.net nn.Sequential( nn.Linear(data_dim 1, hidden_dim), nn.SiLU(), nn.Linear(hidden_dim, hidden_dim), nn.SiLU(), nn.Linear(hidden_dim, data_dim) ) def forward(self, x, t): # t shape: [B, 1] x_t torch.cat([x, t], dim-1) return self.net(x_t)4.5 Shortcut Flow 核心邏輯在這里我們實現(xiàn)一個簡化的“單階段拉直”流程。訓練時它使用一對噪聲樣本 x0 和數(shù)據(jù)樣本 x1生成插值路徑并監(jiān)督速度預測。不同之處在于我們可以用扭曲的時間函數(shù) f(t) 來模擬“捷徑”。# flow.py import torch def lerp_path(x0, x1, t, k0.0): 線性插值路徑k 用于控制非線性程度。 當 k0 時就是標準 Rectified Flow 路徑。 # 單調(diào)扭曲函數(shù)讓 t 的進程非線性 f_t t k * torch.sin(t * 3.14159).detach() f_t torch.clamp(f_t, 0.0, 1.0) xt (1 - f_t) * x0 f_t * x1 target x1 - x0 return xt, target注意這里為了示意圖方便用了 sin 函數(shù)做扭曲。實際項目中這個 f_t 通常可以是可學習網(wǎng)絡也可以是為了減少數(shù)值誤差而構造的顯式調(diào)度。4.6 訓練主循環(huán)# train.py import torch import torch.nn as nn from torch.utils.data import DataLoader, TensorDataset from config import Config from model import SimpleVelocityNet from flow import lerp_path def random_data(batch_size, data_dim): 模擬 8 個高斯簇組成的數(shù)據(jù)分布。 centers torch.randn(8, data_dim) * 2.0 idx torch.randint(0, 8, (batch_size,)) return torch.randn(batch_size, data_dim) * 0.2 centers[idx] def main(): cfg Config() model SimpleVelocityNet(cfg.data_dim, cfg.hidden_dim).to(cfg.device) optimizer torch.optim.AdamW(model.parameters(), lrcfg.learning_rate) loss_fn nn.MSELoss() for epoch in range(cfg.num_epochs): for step in range(1000): x1 random_data(cfg.batch_size, cfg.data_dim).to(cfg.device) x0 torch.randn_like(x1).to(cfg.device) t torch.rand(cfg.batch_size, 1, devicecfg.device) if cfg.use_multi_dim: # 多維度縮放隨機生成不同的捷徑強度 k k torch.rand(cfg.batch_size, 1, devicecfg.device) * 0.2 else: k torch.zeros_like(t) xt, target lerp_path(x0, x1, t, k) pred model(xt, t) loss loss_fn(pred, target) optimizer.zero_grad() loss.backward() optimizer.step() if step % cfg.log_interval 0: print(fEpoch {epoch}, Step {step}, Loss: {loss.item():.6f}) torch.save(model.state_dict(), xyzflow_demo.pth) if __name__ __main__: main()4.7 采樣與驗證采樣時我們只使用少量步數(shù)。由于模型學習的是從噪聲 x0 到數(shù)據(jù) x1 的速度我們可以用歐拉法近似# sample.py import torch from config import Config from model import SimpleVelocityNet from flow import lerp_path def sample(model, noise, num_steps2, k0.0): x noise dt 1.0 / num_steps with torch.no_grad(): for i in range(num_steps): t torch.full((noise.shape[0], 1), 1 - i * dt, devicenoise.device) # 注意這里預測的是 x1 - x0而不是嚴格 dx/dt所以還需要乘 dt # 這里為了演示直接用預測速度做歐拉迭代 pred model(x, t) x x pred * dt return x def main(): cfg Config() model SimpleVelocityNet(cfg.data_dim, cfg.hidden_dim) model.load_state_dict(torch.load(xyzflow_demo.pth, map_locationcpu)) model.eval() noise torch.randn(16, cfg.data_dim) samples sample(model, noise, num_stepscfg.num_flow_steps) print(采樣完成輸出張量形狀:, samples.shape) if __name__ __main__: main()這里要說明示例代碼是教學性質(zhì)的嚴格來說Flow Matching 模型在采樣時應當遵循 ODE solver 的邏輯而且預測目標通常也不是簡單回歸 x1 - x0而是根據(jù)具體路徑設計而定。上面的代碼只演示核心流程生產(chǎn)環(huán)境中建議閱讀相關論文的官方實現(xiàn)。5. 多維度 Scaling 的幾種可行技術路線在這一節(jié)我們展開說說在實際項目中如何把“多維度”落到實處而不是停留在概念層面。5.1 時間維度基于重要性采樣的訓練調(diào)度訓練 Flow Matching 時我們是隨機采樣時間 t 的。不同 t 對最終生成質(zhì)量的貢獻不同因此在訓練時給不同 t 不同權重也能間接改善少步采樣質(zhì)量。一種簡潔實現(xiàn)def sample_t_with_importance(batch_size, beta0.8): u torch.rand(batch_size) t torch.pow(u, beta) # beta 1 時會更多采樣接近 1 的區(qū)域 return t.view(-1, 1)這種做法的本質(zhì)是讓模型“多練習”關鍵階段從而在少步采樣時減少誤差。5.2 噪聲維度多尺度流匹配Multi-scale Flow Matching我們可以將原數(shù)據(jù) x1 分解成多個不同頻帶 x1^1, x1^2, ..., x1^L。每個頻帶學習自己的捷徑流。生成時分別從各頻帶噪聲出發(fā)快速生成再合并成完整樣本。這種做法的優(yōu)點是不同頻帶的路徑長度可以單獨控制高頻細節(jié)可以用較少步數(shù)補齊模型分工明確訓練更穩(wěn)定。代價是需要定義多尺度分解和重建算法模型參數(shù)可能增加。5.3 特征維度條件通道生成在 Transformer 架構中我們可以為不同 token 組分配不同的步長信息。比如圖像 patch 中平滑區(qū)域的 token 用大步長邊緣區(qū)域的 token 用小步長。模型輸入除了 x_t 外還應包含每個 token 的局部時間步長。# 示意不同 patch 組使用不同 t t_map torch.zeros(B, N) t_map[:, smooth_indices] 0.9 t_map[:, edge_indices] 0.5當然這要求模型具備分組控制能力實際實現(xiàn)復雜度較高。5.4 路徑維度可學習捷徑調(diào)度更高級的做法是用一個小網(wǎng)絡預測“捷徑調(diào)度”參數(shù)。例如生成一個從常數(shù)到扭曲系數(shù) k 的映射模型自動判斷當前樣本需要多直的路徑。class ShortcutScheduler(nn.Module): def __init__(self, data_dim): super().__init__() self.net nn.Sequential( nn.Linear(data_dim, 64), nn.ReLU(), nn.Linear(64, 1), nn.Sigmoid() ) def forward(self, x): return self.net(x) * 0.5在訓練時調(diào)度器和速度網(wǎng)絡可以聯(lián)合優(yōu)化但要注意調(diào)度的穩(wěn)定性通常需要加正則項。6. 常見問題與排查思路在實際復現(xiàn) Shortcut Flow 或類似加速采樣方法時我遇到過不少坑。下面整理一些高頻問題。6.1 訓練損失下降但采樣質(zhì)量差問題現(xiàn)象常見原因解決思路訓練損失很低但采樣效果不理想過擬合訓練路徑但 ODE 累計誤差大增加訓練時的時間點采樣密度避免模型只學會局部插值損失低但少步采樣崩潰目標速度與真實 ODE 積分不太一致檢查路徑定義使用更精確的數(shù)值 solver 生成目標訓練正常但多步采樣發(fā)散步長過大或速度場 Lipschitz 常數(shù)大降低采樣步長或對速度場增加正則項排查建議先嘗試在測試集上做“重建”從真實數(shù)據(jù) x1 生成對應 x0再用模型采樣回 x1。如果重建誤差大說明路徑或網(wǎng)絡對數(shù)據(jù)覆蓋不夠。檢查時間 t 的范圍。Flow Matching 中 t0 和 t1 的邊界條件是否清晰。查看速度場的 Lipschitz 常數(shù)。可以用有限差分法估算相鄰點速度差異如果差異過大說明路徑很彎曲需要更直。6.2 多維度縮放導致訓練不穩(wěn)定問題現(xiàn)象常見原因解決思路加入多維縮放后 loss 震蕩各維度的尺度不一致對輸入特征做標準化并對不同維度損失做加權均衡部分維度生成好部分維度生成差調(diào)度器對不同維度權重分配不均衡監(jiān)控每個維度的目標 loss調(diào)整損失權重采樣結果出現(xiàn)棋盤格或偽影高頻維度的步長策略不合理減小高頻維度的步長或增加該維度的訓練采樣密度6.3 顯存或耗時超預期Shortcut Flow 在訓練時通常需要額外保存多個路徑樣本因此顯存開銷會比普通 Flow Matching 高。解決思路使用 gradient checkpointing減小 batch size混合精度訓練在訓練階段只對部分維度做 shortcut而不是全部。6.4 與擴散模型蒸餾混淆很多讀者把 Shortcut Flow 理解成“蒸餾教師模型”其實不完全是。Shortcut Flow 更側重在路徑幾何上做文章而不是僅僅把大模型能力遷移到小模型。如果你的目標是壓縮模型本身需要額外做知識蒸餾如果目標是減少采樣步數(shù)Shortcut Flow 更對口。7. 最佳實踐與工程建議7.1 從 Rectified Flow 切入如果之前沒有接觸過相關方向建議先從 Rectified Flow 的實現(xiàn)開始。它簡單直觀只做線性插值拉直路徑。在它跑通之后再引入 Shortcut Flow 的扭曲調(diào)度和多維度擴展。這樣能隔離不同變量便于定位問題。7.2 用簡單數(shù)據(jù)驗證思路生成模型項目里我強烈建議先在 toy dataset 上驗證。比如2D 螺旋線8 個高斯簇簡單的圖像數(shù)據(jù)集MNIST 或 FashionMNIST。由于低維數(shù)據(jù)可視化直觀你能快速看出“捷徑”是否真正縮短了路徑。不要一上來就在高分辨率圖像上調(diào)試那只會浪費時間。7.3 記錄每個維度的指標多維度擴展最容易出現(xiàn)的問題就是“某一維變好另一維變差”。建議你在訓練時分別記錄不同維度的 loss、采樣指標不要只看平均 loss。比如loss_dict { time_dim_loss: time_loss.item(), noise_dim_loss: noise_loss.item(), feature_dim_loss: feature_loss.item(), }這樣你能快速定位是哪一部分出了問題。7.4 探索與穩(wěn)定性平衡在時間維度上做非線性調(diào)度時不要一開始就用強非線性。建議把調(diào)度參數(shù) k 設成可學習的并加上 L2 正則。比如loss loss_fn(pred, target) 0.01 * torch.mean(k ** 2)這樣模型不會走極端。7.5 安全與合法訓練原則如果你要在真實業(yè)務數(shù)據(jù)上訓練生成模型請注意確認數(shù)據(jù)來源合法授權使用對涉及個人信息的圖片、文本做脫敏處理生成模型輸出內(nèi)容需要人工審核機制避免被濫用。7.6 工程化部署要點在部署少步采樣模型時需要關注模型推理延遲用 TensorRT、ONNX Runtime 或 vLLM 等方式加速。步數(shù)與質(zhì)量動態(tài)調(diào)整做一個簡單的質(zhì)量評估器在低質(zhì)量時自動增加采樣步數(shù)。緩存機制對于靜態(tài)輸入如文本 prompt可以緩存中間表示減少重復計算。8. 總結與下一步學習路線圍繞 XYZFlow 這個主題本文從生成建模的采樣瓶頸出發(fā)梳理了 Shortcut Flow 的核心思想——把從噪聲到數(shù)據(jù)的概率路徑“拉直”或“縮短”并以多維度擴展的方式進一步提升少步采樣質(zhì)量。我們討論了時間維度、噪聲維度、特征維度和路徑維度的實現(xiàn)思路也給出了一個簡化可運行的 PyTorch 示意框架。如果你正準備進入這個方向我建議按下面的路線推進先讀 Rectified Flow 和 Flow Matching 相關材料理解路徑和向量場的基本數(shù)學框架。搭建一個 2D toy dataset 的 Flow Matching 訓練流程觀察路徑質(zhì)量。嘗試把線性插值路徑換成帶調(diào)度參數(shù)的扭曲路徑模擬 Shortcut Flow。在你的數(shù)據(jù)上加入多維度控制比如噪聲尺度條件、通道分組條件。最后再考慮大模型、高分辨率圖像或視頻生成的優(yōu)化。這個方向目前仍在快速發(fā)展中各種新想法層出不窮。無論你最終是復現(xiàn)論文還是自研優(yōu)化建議把注意力放在兩個指標上采樣步數(shù)、生成質(zhì)量。如果能在兩者之間取得更好的平衡你的方案在實踐中就很有競爭力。如果本文對你有幫助可以收藏備用后續(xù)迭代時隨時回來查閱。如果你在實際復現(xiàn)中遇到問題也歡迎留言交流。祝你在生成式建模的優(yōu)化路上一路順利。