把 Google Colab 顶级算力(RTX PRO 6000 Blackwell 98GB VRAM + 176GB DDR5 RAM)变成你 Mac 上的原生级 SwiftUI 3D 世界与 AIGC 创作工作站
Squeeze 100% out of Google Colab Cloud GPUs (G4 Blackwell 98GB / A100 80GB / L4 / T4) inside a Native SwiftUI + AppKit macOS Studio App & Zero-Dependency Local Daemon.
📖 保姆级教程:我把 Colab 打造成了一个工作台 · 1 分钟极速上手 · 为什么比 EasyColab 强 100 倍 · 原生 SwiftUI 零卡顿架构 · Blackwell 极限压榨与 PCIe DMA 热交换 · Lyra 2.0「一直在穿梭」核心秘籍 · API 契约
Google Colab Pro+ 已经悄然上线了地表最强的单卡云工作站之一 —— G4 实例(NVIDIA RTX PRO 6000 Blackwell Server Edition,整整 98 GB GDDR7 显存 + 176 GB DDR5 主机内存)。
然而,无论你是手搓 Jupyter Notebook,还是使用市面上的简易套壳脚本(如 easycolab),都会遭遇六个致命瓶颈:
- 每次生成都要重新读盘加载模型(3~5 分钟冷启动):传统脚本每点一次「生成」就起一个新 Python 进程,100 GB 的
Lyra 2.0 (Wan2.1-14B)或 57 GB 的Qwen-Image-2.1-Turbo每次都要从磁盘重读并初始化 CUDA 上下文,90% 的 CU(计算单元)都在空转等磁盘 IO。 - 多模型切换直接 OOM 崩溃或同步换页巨慢:想先用
Qwen-Image-2.1-Turbo生成一张 2K 宫崎骏天空之城原画,再无缝喂给NVIDIA Lyra 2.0生成 3D 穿梭世界?两个 50GB+ 巨无霸同时塞进显存必炸;而普通pipe.to("cpu")使用非锁页(Pageable)内存,无法利用 PCIe Gen5 DMA 异步带宽。 - Blackwell (
sm_120) 算力架构水土不服:NVIDIA 官方Lyra 2.0强依赖transformer_engine与旧版flash_attn,在最新 Blackwell 架构上直接编译失败或因compute_cap in [90, 100]硬编码报错退出。 - Colab 单一 SSH 连接限制导致断连与误开机器:
google-colab-cli每个实例同一时刻只允许 1 条colab ssh隧道;普通工具并发执行 SCP 传图和状态查询就会互相踢下线,甚至在断线重连时因--proxy-mode机制意外创建新的计费实例。 - 跑出来的 Lyra 2.0 视频「晃动、变形、飞一半就停」:不懂官方
Frozen-Tableau静止世界提示词工程、缺少DA3 + MoGe逆深度尺度对齐、缺少「后退段时序倒放 + 前推段无缝拼接」,跑出来的 16fps 原始视频既卡顿又失真。 - 高分辨率大图与多路视频预览卡死主线程:一张
2752×1536的 2K 原画解码后占数十 MB 位图内存,普通客户端在主线程同步解码图像或同时加载十几个AVPlayer会瞬间引发 macOS 彩虹轮卡顿。
WorldForge(世界工坊)就是为了彻底榨干 Colab 每一滴性能、并在 Mac 上提供 120Hz 原生丝滑创作体验而生。
| 核心维度 | EasyColab / 传统 Notebook 套壳 | WorldForge 世界工坊 | 性能 / 体验代差 |
|---|---|---|---|
| macOS 客户端形态 | 简陋终端脚本或卡顿网页 | 原生 SwiftUI + AppKit 编译级 WorldForge.app (macos_app/) + 内嵌 Web 工作台双引擎 |
0.0ms 主线程掉帧,⌘1–⌘7 秒级切换 7 大专业工作区 |
| 异步媒体与缩略图架构 | 主线程直接加载原图/视频,多图滚动必卡 | ThumbnailCacheActor 双层缓存 (256MB L1 NSCache + L2 .thumbs/ 磁盘层) + 后台 CGImageSource 640px 降采样 + HoverVideoPlayerPool (上限 2 路解码器) |
瀑布流画廊 120Hz ProMotion 满帧滚动,支持 12 帧胶片悬停预演与 A/B 60fps 实时卷帘对比 |
| 模型驻留架构 | 每次点击生成新开 CLI 子进程,跑完即毁 | 常驻 Worker 进程池 (Worker + @@FORGE@@ 流式事件总线) |
连续生图/生视频 0 秒重加载 vs 每次苦等 3~5 分钟 |
98GB 显存 ↔ 176GB 内存 ↔ 88GB /dev/shm ↔ 30TB 云盘 4级存储金字塔 |
不支持,多模型切换只能杀进程从磁盘重读 | L1 98GB GDDR7 显存 (1.8TB/s) ↔ L2 176GB 锁页 DDR5 (63GB/s PCIe Gen5 DMA) ↔ L3 88GB /dev/shm 零延迟内存盘 (2.4GB/s) ↔ L4 30TB Google Drive 云盘金库 (rclone 8路后台同步) |
30~50GB 模型切换仅需 1.2~1.5 秒;8 路 HTTP Range 并发下载高达 1.38 GB/s 直写内存盘并自动持久化至 30TB 云盘 |
| 内置模型矩阵与音视频大模型支持 | 仅支持写死的少数脚本,不支持 /tree/main/ 子目录权重 |
内置 11 大旗舰模型(榜首预置 MiniMax-H3 v1.8 Hybrid Turbo 8 步音视频同生 + NVIDIA Lyra 2.0 + Qwen-Image 2.1 + Breeze-TTS-2) + 粘贴任意 HF 子目录/Safetensors/Diffusers 地址一键部署 |
一键切换 MiniMax-H3 v1.8 Hybrid / Lyra 2.0 / Qwen-Image 2.1 / Z-Image Turbo / FLUX.1 / Wan 2.1 14B / Breeze-TTS-2 |
| NVIDIA Lyra 2.0 30s–45s 长片与 3DGS 对角线分屏 | 无原生支持;在 Blackwell (sm_120) 上报错无法运行 |
一等公民级内置:Blackwell sm_120 Flash SDPA 补丁 + 禁用 import 期 cudnn.enabled=False 显存泄漏 + DA3 + MoGe 逆深度对齐 + 原生复刻 @NVIDIAAI 官方推特 3DGS / Video 对角线分屏 |
单张图一键生成 481~721 帧(30.1s~45.1s 长片) 电影级可漫游 3D 世界连续穿梭视频与 3DGS 几何投影对比母带 |
| 云端 GPU + 本地 Apple Silicon 混合流水线 | 纯云端输出低帧率原始 MP4,需手动下载再剪辑 | Colab Blackwell 算潜空间 + 本地 Mac (M1–M4 Max) Metal/Vulkan 自动后期:自动拉回本地 → rife-ncnn-vulkan 光流插帧(直达 60fps)→ 2×/4× 变速 → 1080p/4K Lanczos 超采 → 尾帧 3.0s 交叉淡化缓推 |
云端算力 100% 留给 14B 大模型推理,本地 Apple Silicon 空闲 GPU 秒级完成影院级母带编码 |
| 硬件极限遥测与算力压测 | 看不到显存/频率/PCIe 状态,忘记关机扣光 CU | 扩展级 nvidia-smi 实时遥测(核心频率/显存带宽利用率/PCIe 代数/功耗//dev/shm/Drive)+ 一键 1.5s TensorCore TFLOPS & 带宽压测 (/api/benchmark) + 空闲自动关机看门狗 |
实时掌握 G4 Blackwell 380+ TFLOPS 与 1500+ GB/s 显存带宽,绝不多扣 1 分钱冤枉算力 |
WorldForge 采用 「原生 SwiftUI Studio 客户端 + 本地零依赖守护进程 + 单 SSH ControlMaster 多路复用隧道 + 云端 PCIe DMA 常驻显存/内存仲裁器」 的四层混合架构:
flowchart TB
subgraph Mac["🍎 macOS Studio Workstation (Apple Silicon M1/M2/M3/M4 Max)"]
SwiftApp["💎 Native SwiftUI + AppKit App (WorldForge.app / macos_app/)\n• 7 大工作区 (⌘1 3D世界 / ⌘2 2K生图 / ⌘3 视频 / ⌘4 超分 / ⌘5 A/B对比 / ⌘6 作品库 / ⌘7 Web台)\n• ThumbnailCacheActor (L1 256MB NSCache + L2 Disk + 后台 CGImageSource 0ms 主线程解码)\n• HoverVideoPlayerPool & DualSyncVideoController (16fps vs 60fps 实时分屏卷帘核验)"]
WebUI["🌐 Studio Web UI (web/ :7788)\n• 交互式 3D 摄像机轨迹画布 & 8 大单点透视预设\n• 实时 GPU/VRAM/RAM/PCIe/TFLOPS 遥测仪表盘"]
Daemon["⚙️ Local Daemon (forge.py :7788)\n• 100% Python 3 标准库(零 pip 依赖)\n• 会话生命周期管理 & 空闲自动关机看门狗\n• 自动轮询拉取远端成品 (auto_fetch)"]
Post["🎞️ Apple Silicon Local Mastering (postproc.py)\n• rife-ncnn-vulkan (Metal/MoltenVK) 2×/4×/8× 光流插帧\n• 0.1×–32× 变速 & 1080p/4K Lanczos 缩放\n• 尾帧 3.0s xfade + zoompan 电影定格 (libx264 CRF 16)"]
Gallery[("📂 本地作品库 & 缩略图缓存\n~/Movies/WorldForge (.thumbs/)")]
end
subgraph Tunnel["🔐 Single-SSH Multiplexed Transport"]
Mux["OpenSSH ControlMaster (ctl-<session>.sock)\ncolab ssh --proxy-mode\n• 端口转发 127.0.0.1:17860 ──▶ :7860\n• tar.gz 流式代码同步 & 远端进程守护"]
end
subgraph Colab["☁️ Google Colab VM (NVIDIA RTX PRO 6000 Blackwell 98GB VRAM + 176GB DDR5 RAM)"]
Orch["🧠 FastAPI Orchestrator (remote/forge_server.py :7860)\n• 单卡 GPU 队列仲裁器 (_ensure_on_gpu) & 实时热切换带宽遥测\n• /api/benchmark 1.5s TensorCore TFLOPS + GDDR7 + PCIe DMA 极限压测\n• 16 线程 + hf_transfer 极速下载 & 环境自愈安装器 (setup_env.py)"]
subgraph Pool["⚡ 常驻进程池 (98GB GDDR7 VRAM ↔ 176GB Pinned DDR5 RAM Non-Blocking DMA 热交换)"]
W_Qwen["🎨 Qwen-Image-2.1-Turbo Worker\n• 57GB bf16 · 8 步原生 2K (2752×1536)\n• TF32 + Flash SDPA + 自动 VAE Tiling"]
W_Lyra["🌐 NVIDIA Lyra 2.0 Worker (lyra_worker.py)\n• Wan2.1-14B DiT + UMT5-XXL + DA3 + MoGe\n• Realism / Detail / DMD 3-LoRA 热切换\n• Blackwell sm_120 PyTorch SDPA 补丁"]
W_Diff["🧩 Universal Diffusers Worker (diffusers_worker.py)\n• 内置 Z-Image / FLUX.1 / Wan2.1 / LTX / CogVideoX\n• 任意 HF repo 动态反射 + OOM 自动 Tiling/折半重试"]
end
end
SwiftApp <-->|"Async Actor REST + Direct Disk Index"| Daemon
SwiftApp <-->|"Zero-Copy File & L2 Cache"| Gallery
WebUI <-->|"HTTP REST + 实时状态流"| Daemon
Daemon -->|"调起本地 GPU 后期"| Post
Post -->|"写入母带 MP4/PNG"| Gallery
Daemon <-->|"自动归档 & 缩略图"| Gallery
Daemon <-->|"HTTP over SSH (-L) + Mux Commands (-S)"| Mux
Mux <-->|"127.0.0.1:7860"| Orch
Orch <-->|"Pinned Memory + CUDA Stream (non_blocking=True)\n~25–64 GB/s PCIe Gen5 DMA Swap"| W_Qwen
Orch <-->|"Pinned Memory + CUDA Stream (non_blocking=True)\n~25–64 GB/s PCIe Gen5 DMA Swap"| W_Lyra
Orch <-->|"Pinned Memory + CUDA Stream (non_blocking=True)\n~25–64 GB/s PCIe Gen5 DMA Swap"| W_Diff
为了彻底解决高分辨率 2K 原画与多路 60fps 视频在桌面端的渲染卡顿问题,WorldForge 提供了纯原生编译的 WorldForge.app(源码位于 macos_app/Sources/):
在 macos_app/Sources/AsyncMediaEngine.swift 中,所有图像与视频封面的加载均由独立的 Swift Concurrency actor 驱动,主线程永远只消费已解码完成的 NSImage:
- L1 内存缓存 (
NSCache<NSString, NSImage>):提供256 MB解码后位图预算(上限 400 张)与128 MB视频 12 帧胶片条缓存,支持nonisolated同步零延迟命中; - L2 磁盘持久化缓存 (
~/Movies/WorldForge/.thumbs/<id>.jpg):首次解码 2K 大图或提取 MP4 首帧后自动持久化为高压缩比 JPEG,二次冷启动耗时< 0.8ms; - In-Flight 并发请求合并 (
inFlight: [String: Task<NSImage?, Never>]):同一张作品被多个视图同时请求时只触发一次底层解码; - 硬件级降采样 (
CGImageSourceCreateThumbnailAtIndex):设置kCGImageSourceCreateThumbnailFromImageAlways与kCGImageSourceShouldCacheImmediately: true,在Task.detached(priority: .userInitiated)后台线程直接将2752×1536原图按maxPixelSize: 640一步解码为 GPU 就绪位图,内存占用降低 94%,主线程掉帧严格为0.0 ms。
- 解码器上限保护 (
HoverVideoPlayerPool):画廊支持鼠标悬停时的 12 帧胶片条丝滑擦洗(Scrubbing),并严格限制全局最多同时激活 2 个硬件AVQueuePlayer+AVPlayerLooper实例,杜绝多视频同屏解码引发的 WindowServer 掉帧。 - A/B 实时卷帘对比工作台 (
⌘5):通过DualSyncVideoController将云端 Lyra 2.0 原始输出(832×480 @ 16fps)与本地 M1 Max RIFE 超分插帧成品(1920×1080 @ 60fps)绑定至同一时钟源,支持无极拖拽分割线实时对比细节与流畅度。
WorldForge 的云端引擎(remote/)针对 Google Colab G4 (RTX PRO 6000 Blackwell 98GB)、A100 (80GB/40GB)、L4 (24GB) 与 T4 (16GB) 进行了全方位底层优化:
在 remote/diffusers_worker.py 与 remote/lyra_worker.py 中,当多模型接力需要切换 GPU 归属权时:
- 非阻塞锁页卸载 (
_dma_offload_pipeline/_dma_offload_modules): 在独立的DMA_STREAM = torch.cuda.Stream()上遍历模型的所有参数与 Buffer,直接分配 锁页主机内存 (torch.empty(..., device="cpu", pin_memory=True)),通过pinned.copy_(old_cuda, non_blocking=True)与old_cuda.record_stream(DMA_STREAM)发起异步 DMA 传输,绕过 CUDA 驱动的临时分页拷贝缓冲(Staging Buffer); - 满带宽异步唤醒 (
_dma_onload_pipeline/_dma_onload_modules): 因为权重在 176GB DDR5 内存中已处于 Page-Locked 锁页状态,唤醒时在DMA_STREAM中调用.to("cuda", non_blocking=True)即可触发真正的硬件级连续cudaMemcpyAsync (HostToDevice),将 30~50GB 模型的显存换页时间压缩至 1.2~1.5 秒; - 实时带宽遥测:每次热切换均在
@@FORGE@@事件流与任务日志中实时打印精确传输体积、耗时与 PCIe 吞吐率:显存热切换完成: 30.9 GB 用时 1.38s (22.4 GB/s) [176GB Pinned RAM → GPU]
- 启动时自动开启
torch.backends.cuda.matmul.allow_tf32 = True、torch.backends.cudnn.benchmark = True、torch.set_float32_matmul_precision("high")以及 PyTorch 2.x Flash / Memory-Efficient / cuDNN SDPA 内核; - 当生成分辨率
>= 2048px、或运行在<= 32GB显存的实例(如 L4 / T4)上、或捕获到torch.cuda.OutOfMemoryError时,remote/diffusers_worker.py会全自动启用 VAE Slicing & Tiling 分块解码 并折半批大小无感重试,彻底告别高分大图 OOM。
在 remote/forge_server.py 中新增了 /api/benchmark 端点,支持在 UI 中一键触发 1.5 秒硬件微基准测试:
- BF16 / FP16 TensorCore GEMM 峰值算力 (
TFLOPS):基于torch.cuda.Event(enable_timing=True)硬件时钟精确测量8192×8192矩阵乘吞吐; - HBM3e / GDDR7 显存带宽 (
vram_bw_gbps):测量设备端大张量读写拷贝峰值带宽(G4 Blackwell 实测可达1500+ GB/s); - PCIe Host↔Device 双向 DMA 带宽 (
pcie_h2d_gbps/pcie_d2h_gbps):实测锁页内存与显存之间的非阻塞 DMA 吞吐率。
remote/presets.py 与 remote/forge_server.py 预置了覆盖全模态、全显存档位的 11 大明星模型,开箱即用:
模型 ID (id) |
HuggingFace 仓库 (repo) |
类型 | 体积 / 存储与显存架构 | 核心定位与亮点 |
|---|---|---|---|---|
minimax-h3-hybrid |
MiniMax-AI/MiniMax-H3-Hybrid-1.8 |
t2v |
39.8 GB · /dev/shm + G4/A100 |
音视频一体 1.8-Hybrid Turbo 旗舰,支持一句话生图与 32kHz 立体声电影视频直出 |
minimax-h3-int8 |
MiniMax-AI/MiniMax-H3-Hybrid-1.8 |
t2v |
25.6 GB · L4/A100/G4 |
Int8 量化极速版音视频引擎,单卡 24GB 显存流畅直出 |
breeze-tts-2 |
BreezeBlue/Breeze-TTS-2 |
tts |
7.2 GB · 30TB 谷歌云盘 (0 MB 显存) |
Artificial Analysis 榜首中英双语拟真语音/克隆,支持一句话音色设计与 [笑]/[叹气] 副语言,常驻云盘与内存、占用 0 MB GPU 显存 |
qwen-image-2.1-turbo |
Qwen/Qwen-Image-2.1-Turbo |
t2i |
57.7 GB · G4/A100 |
8 步极速原生 2K (2752×1536) 旗舰,中英文海报排版与电影级首帧直出 |
lyra-2 |
nvidia/Lyra-2.0 |
lyra |
98.4 GB · G4/A100 |
单张图片/一句话 → 可漫游 3D 世界穿梭长镜头(Wan2.1 14B + DA3 + MoGe + 3DGS 分屏) |
z-image-turbo |
Tongyi-MAI/Z-Image-Turbo |
t2i |
12.8 GB · 全系通用 |
8 步超写实摄影与海报模型,单流 DiT 架构,L4/T4 亦可流畅生图 |
flux-1-schnell |
black-forest-labs/FLUX.1-schnell |
t2i |
23.8 GB · G4/A100/L4 |
4 步极速 Rectified Flow 旗舰,电影级光影与欧美构图质感标杆 |
wan2.1-t2v-14b |
Wan-AI/Wan2.1-T2V-14B-Diffusers |
t2v |
32.5 GB · G4/A100 |
通义万相 14B 旗舰文生视频,大幅度物理运动与大师级镜头调度 |
wan2.1-i2v-14b-720p |
Wan-AI/Wan2.1-I2V-14B-720P-Diffusers |
i2v |
34.2 GB · G4/A100 |
通义万相 14B 720P 旗舰图生视频,首帧完美保持与高动态演进 |
ltx-video-2b |
Lightricks/LTX-Video |
t2v |
9.4 GB · 含免费 T4 |
实时级 DiT 视频生成引擎,连免费 T4 (16GB) 都能秒级出片 |
cogvideox-5b-i2v |
THUDM/CogVideoX-5b-I2V |
i2v |
20.6 GB · G4/A100/L4 |
智谱清影 5B 电影感图生视频,支持 L4 24GB 显存流畅推理 |
(同时完全支持在模型中心粘贴任意 HuggingFace owner/repo 链接,自动解析 model_index.json 并调用 hf_transfer + 16 线程并发极速拉取!)
- macOS 系统(推荐搭载 Apple Silicon
M1 / M2 / M3 / M4芯片的 Mac,系统自带python3即可,无需配置任何本地虚拟环境)。 - FFmpeg(用于本地视频缩略图提取与母带重编码):
(注:
brew install ffmpeg
rife-ncnn-vulkan光流插帧引擎无需手动安装,首次使用本地插帧时 WorldForge 会自动下载适配 macOS Metal/Vulkan 的二进制包并自动解除 Gatekeeper 隔离属性。) - Google Colab CLI (
colab):已完成账号登录并拥有可用计算单元(推荐选用G4Blackwell 98GB 或A10080GB 运行时)。
直接在 Finder 中双击仓库根目录下的 WorldForge.app(或 start.command):
WorldForge.app会自动在后台守护拉起本地:7788服务(ForgeClient.ensureDaemonRunning()),并呈现原生 SwiftUI 120Hz 暗黑毛玻璃工作台;start.command会检测本地:7788服务并以獨立窗口模式弹出工作台。
git clone https://github.com/designfuchen/worldforge.git
cd worldforge
open WorldForge.app # 启动原生 SwiftUI 客户端(自动拉起后台 forge.py)
# 或仅启动本地守护进程 + Web 工作台:
python3 forge.py --open如果你手里有 RTX 4090 (24GB) 或 RTX 5090 (32GB)(Linux / WSL2 / 局域网工作站),完全不需要安装 google-colab-cli,一行脚本即可直接跑满本地显卡:
- 在你的 4090 / 5090 机器上启动推理后端:
chmod +x start_local_gpu.sh ./start_local_gpu.sh # 等价于:python3 remote/forge_server.py --local --host 0.0.0.0 --port 17860- 自动将模型与输出目录挂载至
~/worldforge_data(可通过WORLDFORGE_ROOT=/path/to/ssd自定义); - RTX 5090 (
sm_120, 32GB) 与 RTX 4090 (sm_89, 24GB) 自动激活 PyTorch 2.x Flash SDPA 补丁、VAE Tiling 以及 超大容量模型智能 CPU-GPU 分块热卸载(FLUX.1、Z-Image Turbo、MiniMax-H3 INT8、Breeze-TTS-2满血直出;Wan 2.1 14B、Qwen-Image 2.1、Lyra 2.0自动开启防 OOM 分块流式卸载)。
- 自动将模型与输出目录挂载至
- 连接工作台:
- 本机直连:直接运行
python3 forge.py --open(自动探测本地:17860/:7860端口,0 秒免配置即连); - Mac 跨局域网直连 4090/5090 主机:在 Mac 上运行:
python3 forge.py --gpu-url http://192.168.1.88:17860 --open
- 本机直连:直接运行
很多开发者自己部署 NVIDIA Lyra 2.0 时都会困惑:为什么官方宣传片里的镜头能一镜到底、丝滑穿过整座森林和城堡,而自己跑出来的视频要么画面像果冻一样扭曲、要么飞出几十帧后景深就彻底崩塌停滞?
WorldForge 在 remote/lyra_worker.py、remote/presets.py 与 forge_local/postproc.py 中内置了整套官方级「一直在穿梭 (flythrough)」五重秘籍:
自回归视频扩散模型(每个 chunk 80 帧)如果只朝着单一前推方向硬推超过 6~8 段,累积重投影误差会导致画面中心迅速糊化。
WorldForge 的 mode: "flythrough" 与 mode: "chained" 完整复刻了 @NVIDIAAI 官方长片(30.1s · 481帧 与 45.1s · 721帧)的黄金拍法:
- 双向倒放拼接 (
flythrough):以你的原画作为「旅途中间锚点」:- 前推段 (
zoom_in/frames_in):从原画出发,沿视线正前方推进241~481 帧(direction="right",strength=3.0),深入场景腹地; - 后退抬升段 (
zoom_out/frames_out):同样从原画出发,向后拉远并轻微抬升俯仰角241 帧(direction="left",strength=1.5,upward_ratio=0.15); - 张量级无损倒放缝合:在内存中直接将后退段沿时间维翻转(
res_out["video"].flip(dims=[2])),去掉重复的首帧后与前推段无缝拼接:# remote/lyra_worker.py video = torch.cat([res_out["video"].flip(dims=[2]), res_in["video"][:, :, 1:]], dim=2) warp = torch.cat([res_out["warp_video"].flip(dims=[2]), res_in["warp_video"][:, :, 1:]], dim=2)
- 前推段 (
- 多镜接力漫游 (
chained/segments):在前推段结束后,自动提取末帧并通过DA3 × MoGe重新解算 3D 深度与内参(Re-Anchoring),无缝衔接第三段horizontal_spiral或orbit_horizontal轨迹,实现 721 帧(45.1 秒 @ 16fps) 跨轨迹一镜到底。 @NVIDIAAI同款3DGS vs Video斜切分屏直出 (split_3dgs.mp4+warp.mp4):每次生成不仅输出高清world.mp4,还同步从res["warp_video"]导出 3D 高斯/点云前向投影视频warp.mp4,并自动合成左上角3DGS点云、右下角Video渲染成片、带抗锯齿白线/分割的split_3dgs.mp4!- WAN 3D 因果 VAE 的
cuDNN Conv3D防爆显存修复:针对lyra2_ar_inference.py在导入时全局关闭torch.backends.cudnn.enabled = False导致 3D 卷积退化至高内存原生算子的问题,remote/lyra_worker.py在导入后强制恢复cudnn.enabled = True与cudnn.benchmark = False,确保 481~721 帧超长序列 VAE 解码既快又稳。
Lyra 2.0 的底座是 Wan2.1-14B 视频生成模型。如果你只输入一句简单的 "A floating castle in the sky",模型会本能地让云彩飘动、树叶摇晃、水面起波纹 —— 而任何场景内物体的自发运动都会严重破坏 3D 高斯/Plücker 光线重投影的几何一致性!
WorldForge 在 remote/presets.py 中内置了经过反复调校的 Frozen-Tableau(时间冻结舞台)母版提示词:
"A cinematic drone shot glides smoothly forward through the scene:
{scene}. The scene is a frozen tableau, frozen in time; every element is perfectly still. All structures, foliage, water, clouds, light and shadows remain absolutely stationary and unchanging. As the camera advances, more of the world is revealed, maintaining the same lighting, color palette, materials and textures. No wind, no motion of any kind; a silent, timeless, static world through which only the camera travels."
要让穿梭感极强,首帧原画必须具备**「前景两侧遮挡物(石拱门/鸟居/冰柱/石柱)+ 中央纵深通道 + 远景视觉焦点」**的单点透视结构(WorldForge 内置的 8 大 3D 世界预设:宫崎骏天空之城、千本鸟居·红枫、雨林失落神殿、极光冰晶宫殿、灯笼古镇长街、赛博朋克雨夜、深海亚特兰蒂斯、敦煌鎏金石窟全部采用此黄金构图)。
在进入扩散采样前,remote/lyra_worker.py 会先后调用 ByteDance Depth-Anything-3 (DA3) 与 Microsoft MoGe,在有效掩码区域内通过最小二乘法对逆深度(Inverse Depth)进行精确的物理尺度对齐,并在对齐后立即将 MoGe 卸载回 CPU 释放显存。
Lyra 2.0 原生工作分辨率为 832×480(宽高比 1.733:1)。WorldForge 的 _prepare_image() 会在推理前自动按目标宽高比执行像素级中心裁剪(Center-Crop),同时在文生图面板提供 Lyra 原生 832×480 (1664×960) 画幅预设,实现零裁切完美对接。
当云端生成的原始 16fps 穿梭视频自动同步回 Mac 后,在「M1 Max 超分 (⌘4)」面板开启黄金配方:
- 变速 (
speed: 2×或4×) + RIFE 光流插帧 (interp: 2×或4×):消除扩散模型微小的帧间闪烁,将原始素材升级为1080p @ 60fps的丝滑穿越机镜头; - 尾帧高清定格 (
end_hold_image):可选挂载一张 2K 高清目标原画,在穿梭结尾自动执行0.6s xfade交叉淡化 +3.0s zoompan缓慢推镜定格,输出libx264 -crf 16 -preset slow影院级成片。
仓库与本地作品库预置了由 Qwen-Image 2.1 Turbo (2K) + ARRI Alexa 65 / Cooke Anamorphic 电影摄影机光学预设 + NVIDIA Lyra 2.0 (14B) + M1 Max RIFE 1080p60 全链路实机跑出的标杆作品集:
| 🌸 岩井俊二·黄金逆光柔焦 (2K 直出) | 🌸 《情书》镰仓樱花夕阳逆光 (2K 直出) | 🌧️ 王家å� 8 «《花æ 8E4A ·年华》香港霓虹雨窗 (2K 直出) |
|---|---|---|
| 🏰 宫崎骏《天空之城》30s 3D 世界穿梭胶片轨 | 🏮 江南灯笼古镇 30s 3D 世界穿梭胶片轨 | 🌃 赛博朋克雨夜 30s 3D 世界穿梭胶片轨 |
|---|---|---|
- 10 张原生 2K 单点透视大师概念原画 (
drafts/):涵盖吉卜力天空之城(手绘与 CG 双版本)、京都伏见稻荷千本鸟居、雨林失落神殿、极光冰晶宫殿、江南灯笼古镇、赛博朋克雨夜窄巷等; - 多部 3D 世界连续穿梭长镜头与 1080p @ 60fps 精修母带 (
~/Movies/WorldForge/):宫崎骏天空之城_3D平滑穿梭_2x_1080p60fps.mp4/宫崎骏天空之城_3D高速穿梭_1080p60fps.mp4失落神庙_3D平滑穿梭_2x_1080p60fps.mp4/失落神庙_3D高速穿梭_4x_1080p60fps.mp4- 以及京都千本鸟居、极光冰晶宫殿、赛博朋克雨夜等多组
world.mp4原始 16fps 流,可直接在 A/B 帧率对比 (⌘5) 中与 1080p60 精修版同屏核验。
worldforge/
├── WorldForge.app # 💎 原生编译 macOS SwiftUI + AppKit 工作站应用包(支持 120Hz ProMotion)
├── macos_app/ # 🍎 原生 SwiftUI 客户端源码
│ └── Sources/
│ ├── AsyncMediaEngine.swift # ThumbnailCacheActor (L1+L2 双层缓存/0ms 主线程解码) + HoverVideoPlayerPool
│ ├── ForgeClient.swift # 原生 URLSession Actor 客户端、守护进程自启动与磁盘索引直读
│ ├── Models.swift # 全量强类型数据模型、7 大工作区路由与智能推荐引擎
│ └── Views/ # 3D 世界、2K 生图、M1 Max 超分、A/B 帧率卷帘对比、极速瀑布流画廊视图
├── forge.py # ⚙️ Mac 本地守护进程入口(100% Python 3 标准库,监听 127.0.0.1:7788)
├── start.command # 🚀 macOS 双击启动脚本
├── drafts/ # 🎨 内置 10 张原生 2K 单点透视大师场景母版原画
├── docs/
│ └── API.md # 📜 本地 (:7788) 与远端 (:7860) 完整 REST API 契约文档
├── forge_local/ # 🔧 Mac 本地核心模块(零第三方依赖)
│ ├── app.py # 核心状态机:会话编排、自动拉取成品 (auto_fetch)、空闲自动关机看门狗
│ ├── colab.py # google-colab-cli 封装、CU 余额轮询、SSH ControlMaster 多路复用与 tar 流上传
│ ├── tunnel.py # SSH 端口转发守护、指数退避重连、防误开机器校验、远端流式 HTTP 客户端
│ ├── postproc.py # Apple Silicon 本地后期:自动部署 rife-ncnn-vulkan、插帧、变速、尾帧 zoompan 定格
│ ├── gallery.py # 本地作品库管理 (~/Movies/WorldForge)、ffprobe 元数据解析与缩略图生成
│ ├── server.py # 多线程 HTTP Server 与 /api/remote/* 透明反向代理
│ ├── tasks.py # 本地异步任务队列与实时日志偏移流
│ └── config.py # 路径、端口与持久化配置管理
├── remote/ # ☁️ 自动同步并运行于 Google Colab GPU VM (/content/forge) 的云端引擎
│ ├── forge_server.py # FastAPI 仲裁器 (:7860):GPU 队列、Pinned DMA 热置换、/api/benchmark 压测、扩展遥测
│ ├── lyra_worker.py # NVIDIA Lyra 2.0 常驻进程:Blackwell TF32/SDPA + Pinned DMA 热交换 + 双向倒放拼接
│ ├── diffusers_worker.py # 通用 Diffusers 常驻进程:Pinned DMA 热交换 + 自动 VAE Tiling + 动态签名反射
│ ├── setup_env.py # 幂等一键环境安装器 + hf_transfer 极速下载 + Blackwell (sm_120) SDPA 自动补丁
│ └── presets.py # 8 大内置旗舰模型 (DEFAULT_MODELS)、9 种 Lyra 3D 轨迹、8 大单点透视场景预设
└── web/ # 🌐 原生暗黑 Studio 风格 Web 界面(零构建步骤,纯原生 ES Modules + CSS)
完整协议定义请查阅 docs/API.md。
| 端点 (Endpoint) | 作用域 | 说明 |
|---|---|---|
GET /api/local/state |
本地 :7788 |
获取 Colab CU 余额/速率、SSH 隧道状态、远端健康度与空闲倒计时 |
POST /api/local/connect |
本地 :7788 |
建立单路复用 SSH 隧道 + 流式部署 remote/ + 启动远端 FastAPI 服务 |
POST /api/local/post |
本地 :7788 |
调用本地 Apple Silicon 执行 RIFE 插帧(1/2/4/8×)、变速、缩放与尾帧定格 |
GET /api/remote/metrics |
远端 :7860 |
实时获取 GPU 利用率/频率/PCIe代数/显存带宽利用率、176GB RAM、/dev/shm、Drive 与热切换速率 |
POST /api/remote/benchmark |
远端 :7860 |
运行 1.5s 云端 GPU 极限算力压测(返回 BF16/FP16 TFLOPS、显存带宽 GB/s、PCIe DMA GB/s) |
POST /api/remote/models |
远端 :7860 |
粘贴任意 HuggingFace owner/repo 地址,自动解析并注册为可常驻模型 |
POST /api/remote/jobs |
远端 :7860 |
提交 t2i / t2v / i2v / lyra / setup / download / load 异步任务 |
本项目基于 MIT License 开源。欢迎 Star ⭐、Fork 并提交 PR,一起把云端 GPU 与本地 Mac 的混合创作体验推向极致!