本项目是一个现代扩散模型推理学习与实现项目,位于 diffusion/ 子目录内,与旧 minivLLM/ 引擎完全隔离。
项目目标是从零理解现代扩散模型的推理路径,落地一个最小但完整的 diffusion_engine/,并在一块可用的 CUDA GPU 上跑通至少一个真实 reference inference。文档使用中文,以纯静态 HTML 发布,不做生产部署。
| 维度 | 目标 | 状态 |
|---|---|---|
| 理解 | 通过论文卡片、学习笔记、静态知识库,系统建立对 rectified flow、DiT/MMDiT、文生图/文生视频推理数据流的认识 | 完成 |
| 实现 | 从零构建最小 diffusion_engine/,覆盖 scheduler、rectified flow、DiT transformer block、text conditioning、pipeline、memory manager | 完成 |
| 运行 | 可用的 CUDA GPU 上至少跑通一个真实文生图 reference inference;视频小规格尝试并如实记录 blocker | 脚手架就绪,环境未跑通 |
| 优化 | 设计并运行 prompt cache、latent buffer、scheduler benchmark、CFG batching、attention memory、VAE tiling 对照实验 | 完成 |
这里跳过 DDPM/U-Net 的入门路线,直接从 rectified flow 与 DiT/MMDiT 开始。原因很具体:
6 周内完成的文件和实验如下:
file:// 协议可打开core/scheduler.py:Euler + rectified flow sampler,支持 image (B,C,H,W) 和 video (B,C,T,H,W)core/rectified_flow.py:矢量场构造 + ODE 积分core/timestep_embedding.py:sinusoidal + linear timestep embeddingcore/attention.py:full attention(非 causal),支持 self-attention 和 joint attentioncore/transformer_block.py:AdaLN-Zero modulationcore/dit.py:完整 DiT forward(patchify → blocks → unpatchify)core/text_conditioning.py:toy text encoder + prompt embedding cache 接口core/pipeline.py:6 步主循环(prompt→encode→init→denoise→CFG→scheduler→decode)core/memory_manager.py:latent buffer 预分配、ping-pong swap、显存统计core/vae_stub.py:toy VAE encode/decode(含 tiling 支持)toy_rectified_flow/:toy vector field 仿真 + trajectory 可视化toy_dit_inference/:最小 DiT denoising loopreference_image_inference/:3 个真实模型脚手架(Sana/SD3/FLUX)+ memory profilerreference_video_inference/:3 个视频模型脚手架(CogVideoX/Wan/LTX)+ blocker 记录diffusion_inference_optimization/:6 个系统优化对照实验engine_inventory.md:旧引擎 14 模块逐一审计(515 行)week_1.md ~ week_6.md:6 周进度周报final_report.md:最终报告,回答 5 个问题这是一个现代扩散模型推理学习项目,入口是 rectified flow + DiT/MMDiT。6 周内完成了 13 页 HTML、10 篇笔记、10 篇论文卡片、一个最小可运行的 diffusion_engine/、5 组实验目录、6 份周报和一份最终报告。远程 GPU 环境尚未就绪,因此真实 reference inference 还没有运行;所需脚本已经写好。
本页只做索引,不讲实现。scheduler、DiT shape 和 CFG 分别在 02-11 页展开;项目范围和已有产出列在本页,具体实现见对应章节。