Một phút video 720p từ một GPU duy nhất - chúng ta tiến nhanh đến thế sao?
Hồi học đại học tôi có ông thầy hay nói: “Làm toán mà không kiểm tra lại thì giống như nấu cơm không bao giờ mở nắp nồi.” Câu đó tôi nhớ không phải vì nó đúng, mà vì lần nào ông cũng nói sau khi tôi đã mắc lỗi tính toán ngớ ngẩn nào đó.
Nghĩ lại, AI generation video cũng có nhịp điệu tương tự. Cứ mỗi năm tôi lại ngồi nhìn màn hình và tự nhủ: “Không thể nhanh hơn nữa được rồi.” Rồi lại sai. Hồi 2022 thì tôi kinh ngạc vì Stable Diffusion tạo được ảnh decent trong 30 giây trên laptop. Hồi 2024 thì Sora ra, video 20 giây, đẹp như phim. Còn bây giờ, NVIDIA vừa thả ra SANA-WM - một model 2.6 tỉ tham số có thể tạo ra một phút video 720p liên tục trên một GPU duy nhất.
Tôi đã ngồi xem loop video giấy máy bay bay trong hẻm núi rừng rậm - 60 giây, không nhảy cóc, không vỡ cảnh - và cảm giác lại như cái nắp nồi vừa bay mất.
Một câu để hiểu nó là gì
SANA-WM là world model mã nguồn mở 2.6B tham số, nhận đầu vào là một ảnh tĩnh và một quỹ đạo camera 6-DoF, rồi sinh ra video 720p dài tới một phút - được huấn luyện trên 64 H100 trong 15 ngày, chạy inference trên một H100 duy nhất.
Bốn quyết định kỹ thuật làm nên chuyện
Hybrid Linear Attention. Softmax attention thuần túy trên video dài sẽ cạn bộ nhớ rất nhanh. SANA-WM dùng Gated DeltaNet (linear attention dạng hồi quy) cho phần lớn sequence, xen kẽ với các cửa sổ softmax để giữ coherence. Trong benchmark của paper, model softmax thuần túy bị OOM ở 60 giây trên H100. Variant hồi quy thì không nhân nhượng.
Dual-Branch Camera Control. Một nhánh xử lý pose tổng thể (camera ở đâu), một nhánh xử lý chi tiết pixel-aligned (camera trỏ chính xác đến đâu). Kết quả là 6 bậc tự do thực sự - không phải camera thả trôi theo cảm tính như mấy model cũ.
Two-Stage Generation. Backbone 2.6B tạo rollout dài. Sau đó một long-video refiner 17B làm sắc nét texture và motion, đặc biệt ở các đoạn cuối clip nơi coherence hay bị suy giảm nhất. Giai đoạn 2 tốn tiền nhưng tùy chọn - backbone đơn độc đã đủ đập benchmark rồi.
Annotation Pipeline chuẩn. Chỉ 213K video clip công khai - con số khiêm tốn khủng khiếp theo tiêu chuẩn 2026. Bí quyết là nhãn pose 6-DoF theo tỷ lệ metric thực, không phải tín hiệu aesthetic. Giám sát geometry chính xác, không phải “trông đẹp là được”.
--> // making it invisible to querySelectorAll. // // `data-cfasync="false"` keeps this rescue script executable even when // Rocket Loader is active. It rescues module scripts via two strategies: // 1. Query the DOM for type$="-module" + src (covers case A) // 2. Regex-parse the raw HTML for commented-out script tags (covers case B) // Dynamically-created scripts bypass Rocket Loader entirely. (function () { if (window.__markdyRescue) return; window.__markdyRescue = true; var rescued = false; function rescueModuleScripts() { if (rescued) return; rescued = true; var srcs = []; // Strategy 1: Rocket Loader kept the tag in DOM but changed the type. // type="module" → type="{uuid}-module" (still has src attribute) document.querySelectorAll('script[type$="-module"][src]').forEach(function (s) { srcs.push(s.src); }); // Strategy 2: Rocket Loader COMMENTED OUT the script tag entirely: // // These are invisible to querySelectorAll, so we parse the raw HTML. // We handle both attribute orderings (type-first or src-first). var html = document.documentElement.innerHTML; var reSrcFirst = //g; var reTypeFirst = //g; var m; while ((m = reSrcFirst.exec(html)) !== null) { srcs.push(m[1]); } while ((m = reTypeFirst.exec(html)) !== null) { srcs.push(m[1]); } // Re-inject each found src as a real module script. // Deduplicate first, then inject. Dynamically-created scripts bypass // Rocket Loader entirely. Modules with the same URL are only executed // once by the browser (cached), so re-injecting already-running scripts // is safe. var seen = {}; srcs.forEach(function (src) { if (seen[src]) return; seen[src] = true; var fix = document.createElement('script'); fix.type = 'module'; fix.src = src; fix.setAttribute('data-cfasync', 'false'); document.head.appendChild(fix); }); } // Rescue when user clicks the placeholder (fallback if autoplay failed). document.addEventListener('click', function (e) { var t = e.target; if (t && typeof t.closest === 'function' && t.closest('.markdy-placeholder')) { rescueModuleScripts(); } }); // Rescue automatically after a short delay for autoplay. // Only fires if initAll() never ran (no data-markdy-init on any root). setTimeout(function () { if (document.querySelector('.markdy-root:not([data-markdy-init])')) { rescueModuleScripts(); } }, 1500); }());Con số hiệu năng chủ chốt: throughput cao hơn 36 lần so với các world model mã nguồn mở trước đó ở chất lượng tương đương.
Tại sao nó lên top HN
Cái khiến SANA-WM thú vị không chỉ là kết quả - mà là khoảng cách giữa chi phí huấn luyện và chi phí inference. 64 H100 trong 15 ngày để train, nhưng chỉ cần một H100 để dùng. Khoảng cách đó là thứ quyết định một model có trở nên thực sự hữu dụng hay chỉ là giấy thú vị.
Bản distilled chạy trên RTX 5090 với NVFP4 quantization: 34 giây để sinh một clip 60 giây 720p. Đây không còn là datacenter-only nữa.
Thread HN đang cãi nhau về điều gì
Thread chia thành ba phe khá rõ.
Phe nghi ngờ. Comment được upvote nhiều nhất là của jubilanti: “Model weights ‘coming soon’ = hiện còn là vaporware. Weights hay là không có gì hết.” Đây là phản xạ lành mạnh của HN trước một trang demo đẹp nhưng nút download bị disable.
Phe thực tế hơn. w10-1 chỉ ra rằng đã có SANA-Video model trên HuggingFace (Efficient-Large-Model/SANA-Video_2B_720p), license code Apache 2.0, model license NVIDIA cho phép dùng thương mại tự do. World model variant trong paper này vẫn còn “sắp ra,” nhưng nền tảng đã tồn tại và một phần đã public.
Phe triết học. alloyed hỏi câu nhiều người ngại hỏi: “Cái gì ‘world’ trong cái này? Có representation thực sự về không gian vật lý không, kiểu như scene graph trong game engine không? Hay chỉ có nghĩa là ‘video generator này coherent hơn về mặt vật lý so với cái trước’?”
Câu trả lời thành thật: là cái sau. Không có scene graph, không có physics simulation tổng quát hóa được qua các prompt khác nhau. SANA-WM là một video generator mạnh và hiệu quả với camera control. Cái tên “world model” bán nó như một environment simulator cho robotics hoặc embodied AI. Liệu cái framing đó là chính xác hay đang aspirational - tùy vào mức độ nghiêm túc bạn định nghĩa thuật ngữ.
Một người làm game dev nêu điểm thú vị: video trông đẹp nhưng có gì đó sai sai - không phải vì kém chất lượng, mà vì mọi thứ đều cảm giác tất yếu, như được sinh ra theo thủ tục, không có ai đặt thứ gì ở vị trí đó một cách có ý định. Từng vật thể trong game FromSoftware đều được đặt có chủ đích. World models thì không có gì như vậy.
| Điểm mạnh | Điểm còn tranh luận |
|---|---|
| Hiệu năng: 1 GPU cho inference | Weights của model này: chưa có |
| Coherence: 60 giây không drift | ”World model” hay “long video generator”? |
| Camera control: 6-DoF metric | Dữ liệu training (từ Unreal Engine?) |
| Throughput: gấp 36 lần open-source trước | Disclaimer “research only” |
Bạn có nên quan tâm không?
Nếu bạn cần video có camera control lập trình được - cutscene game, training data cho robotics, preview môi trường ảo - thì có. Theo dõi HuggingFace model page và arXiv (2605.15178) khi weights thực sự drop.
Nếu bạn thuộc phe hoài nghi muốn chạy được ngay hôm nay: hợp lý. Quay lại sau vài tuần.
Còn nếu bạn là người đã bị autoplay tiêu tốn 350 Mbps bandwidth chỉ để đọc được phần comments… tôi xin chia buồn.
Thảo luận trên Hacker News · Nguồn: nvlabs.github.io · Đăng bởi mjgil
Hoang Yell
Một nhà phát triển phần mềm và là người kể chuyện kỹ thuật. Tôi đọc Hacker News mỗi ngày và kể lại những câu chuyện hay nhất ở đây — bằng tiếng Việt và tiếng Anh, cho người tò mò nhưng không có thời gian.