فاز 4 · درس 28

مدل‌های جهان و دیفیوژن ویدیویی: از شبیه‌سازی فیزیک تا کنترل ایجنت‌ها

نوع
مفهومی و ساختنی
زمان
حدود 75 دقیقه
زبان‌ها
Python
طرح شماتیک مکعبی فضا-زمانی شفاف معلق روی پایه‌ای مکانیکی که زنجیره‌ای از فریم‌های آینده جهان را شبیه‌سازی و پیش‌بینی می‌کند
فهرست مطالب
  1. اهداف یادگیری
  2. صورت مسئله
  3. مفهوم
  4. سه شاخه‌ی مدل‌سازی جهان
  5. معماری DiT ویدیویی
  6. شرطی‌سازی بر کنش‌ها: مدل‌های کنش نهفته
  7. باورپذیری فیزیکی
  8. مدل‌های جهان برای رانندگی خودران
  9. پشته‌ی رباتیک: VLM + مدل ویدیو + دینامیک معکوس
  10. ارزیابی
  11. چشم‌انداز مدل‌ها در سال 2026
  12. پیاده‌سازی گام‌به‌گام
  13. گام 1: پچ‌بندی سه‌بعدی برای ویدیو
  14. گام 2: کدگذاری چرخشی موقعیت به‌صورت سه‌بعدی
  15. گام 3: بلوک اتنشن تفکیک‌شده
  16. گام 4: ساخت یک DiT ویدیویی کوچک
  17. گام 5: بررسی ابعاد خروجی
  18. استفاده‌ی عملی
  19. خروجی نهایی
  20. تمرین‌ها
  21. اصطلاحات کلیدی
  22. برای مطالعه‌ی بیشتر

تولید ویدیو با هوش مصنوعی دیگر به خلق کلیپ‌های بصری چشم‌نواز خلاصه نمی‌شود؛ امروزه مدل‌های ویدیویی پیوسته در حال تکامل به «مدل‌های جهان» (World Models) هستند. این مدل‌ها به جای بازآفرینی کورکورانه پیکسل‌ها، قوانین پایه‌ای فیزیک مانند گرانش، بقای اشیا و علیت را شبیه‌سازی می‌کنند. اگر این پیش‌بینی‌ها را بر کنش‌های محیطی مشروط کنید، یک موتور شبیه‌سازی یادگیرنده در دست خواهید داشت که ستون اصلی نسل جدید عامل‌های هوشمند و رباتیک است.

درک معماری Video DiT، مکانیسم‌های اتنشن فضا-زمانی و نحوه متصل شدن مدل‌های زبانی-دیداری (VLM) به دینامیک معکوس، مهارتی کلیدی برای مهندسان هوش مصنوعی مدرن به شمار می‌آید. این ابزارها کاربردهایی ملموس از تولید داده‌های نادر در رانندگی خودران تا تعامل در محیط‌های شبیه‌سازی رباتیک بدون نیاز به آزمون‌وخطای خطرناک در دنیای واقعی دارند.

در صورتی که بخواهید با مدل‌های تجاری و متن‌باز معرفی‌شده در این درس کار کنید، در نظر داشته باشید که دسترسی مستقیم به برخی سرویس‌ها و APIهای خارجی از IP ایران ممکن است با محدودیت همراه باشد و خرید اشتراک یا اعتبار این سرویس‌ها نیز به دلیل عدم پشتیبانی از کارت‌های بانکی داخلی، به مسیرهای واسط نیاز دارد. با این حال، پیاده‌سازی ساختاری مدل‌ها و مفاهیم ریاضی این درس به سادگی روی محیط‌های محلی قابل اجرا و آزمایش است.

مدل ویدیویی که ثانیه‌های بعدی یک صحنه را پیش‌بینی می‌کند، در واقع یک شبیه‌ساز جهان (world simulator) است. اگر این پیش‌بینی را بر کنش‌ها (actions) شرطی کنید، یک موتور بازی آموزش‌دیده در اختیار خواهید داشت.

اهداف یادگیری

  • توضیح تفاوت بین یک مدل صرفاً تولید ویدیو (Sora 2) و یک مدل جهانِ شرطی‌شده بر کنش (Genie 3، DreamerV3)
  • تشریح معماری DiT ویدیویی: پچ‌های فضا-زمانی (spatio-temporal patches)، کدگذاری موقعیت سه‌بعدی و اتنشن مشترک روی توکن‌های (T, H, W)
  • ردگیری نحوه‌ی اتصال مدل جهان به رباتیک: برنامه‌ریزی VLM ← شبیه‌سازی توسط مدل ویدیو ← صدور کنش‌ها توسط دینامیک معکوس (inverse dynamics)
  • انتخاب آگاهانه بین Sora 2، Genie 3، Runway GWM-1 Worlds، Wan-Video و HunyuanVideo برای یک سناریوی مشخص (ویدیوی خلاقانه، شبیه‌سازی تعاملی، تولید داده برای رانندگی خودران)

صورت مسئله

در سال 2026، حوزه‌ی تولید ویدیو و مدل‌سازی جهان به یکدیگر پیوند خوردند. مدلی که بتواند یک دقیقه‌ی پیوسته و یکپارچه ویدیو تولید کند، به‌نوعی یاد گرفته است که جهان چطور حرکت می‌کند: بقای جسم (object permanence)، جاذبه، علیت و سبک بصری. اگر این پیش‌بینی را بر کنش‌ها شرطی کنید (حرکت به چپ، باز کردن در)، مدل ویدیو به شبیه‌سازی یادگیرنده تبدیل می‌شود که می‌تواند جایگزین موتور بازی، شبیه‌ساز رانندگی یا محیط رباتیک شود.

کاربردها کاملاً ملموس‌اند. Genie 3 از یک تک‌تصویر، محیطی قابل‌بازی می‌سازد. Runway GWM-1 Worlds صحنه‌های بی‌پایان با قابلیت گشت‌وگذار تولید می‌کند. Sora 2 ویدیوهای یک‌دقیقه‌ای را با صدای هماهنگ و فیزیک واقع‌گرایانه می‌سازد. مدل‌های NVIDIA Cosmos-Drive، Wayve Gaia-2 و Tesla DrivingWorld ویدیوهای واقع‌گرایانه‌ای از رانندگی تولید می‌کنند تا داده‌های آموزشی لازم را برای خودروهای خودران فراهم آورند. پارادایم مدل جهان بی‌سر‌و‌صدا در حال تسخیر حوزه‌ی شبیه‌سازی-به-واقعیت (sim-to-real) در رباتیک است.

این درس، نگاه کلان و همه‌جانبه‌ی فاز 4 به موضوع است؛ پیوندی میان تولید تصویر، درک ویدیو و استدلال ایجنت‌محور در قالب الگوی معماری حاکم بر پژوهش‌های پیشرو.

مفهوم

سه شاخه‌ی مدل‌سازی جهان

مدل‌های جهان برای یادگیری تقویتی (DreamerV3)مدل جهان مشروط به عملتولید صرف ویدیوپرامپت متن / تصویرVideo DiTفریم‌های ویدیوفریم‌های قبلی + عملLatent-action video DiTفریم‌های بعدیحالت + عملمدل انتقال نهفتهحالت نهفته بعدی + پاداش
  • Sora 2 صرفاً یک مدل تولید ویدیو است که بر اساس پرامپت‌ها شرطی‌سازی می‌شود؛ بدون هیچ رابطی برای کنش. نمی‌توانید در میانه‌ی تولید، مسیر آن را هدایت کنید.
  • مدل‌های Genie 3، GWM-1 Worlds و Mirage / Magica مدل‌های جهانِ شرطی‌شده بر کنش هستند. این مدل‌ها کنش‌های نهفته (latent actions) را از ویدیوی مشاهده‌شده استنباط می‌کنند و پیش‌بینی فریم‌های بعدی را بر آن کنش‌ها شرطی می‌سازند؛ یعنی تعاملی‌اند: کلیدها را فشار می‌دهید یا دوربین را تکان می‌دهید و صحنه واکنش نشان می‌دهد.
  • DreamerV3 و خانواده‌ی کلاسیک مدل‌های جهان در یادگیری تقویتی (RL)، پیش‌بینی را در یک فضای نهفته و با شرطی‌سازی صریح روی کنش‌ها، بر پایه‌ی سیگنال پاداش آموزش می‌دهند. این شاخه کمتر بصری است و بیشتر به کار یادگیری تقویتیِ بهره‌ور از داده (sample-efficient RL) می‌آید.

معماری DiT ویدیویی

Video latent:          (C, T, H, W)
Patchify (spatial):    grid of P_h x P_w patches per frame
Patchify (temporal):   group P_t frames into a temporal patch
Resulting tokens:      (T / P_t) * (H / P_h) * (W / P_w) tokens

کدگذاری موقعیت سه‌بعدی است: یک امبدینگ چرخشی یا یادگرفتنی به ازای هر مختصات (t, h, w). مکانیسم اتنشن می‌تواند به یکی از این حالت‌ها باشد:

  • مشترک کامل (Full joint) — همه‌ی توکن‌ها به تمام توکن‌های دیگر اتنشن دارند؛ پیچیدگی O(N2)O(N^2) با NN توکن. اجرای این روش برای ویدیوهای طولانی عملاً ناممکن است.
  • تفکیک‌شده (Divided) — جابه‌جایی نوبتی میان اتنشن زمانی (موقعیت مکانی یکسان، در طول زمان: (H*W) * T^2) و اتنشن مکانی (گام زمانی یکسان، در طول مکان: T * (H*W)^2). این روش در TimeSformer و اغلب DiTهای ویدیویی به کار می‌رود.
  • پنجره‌ای (Window) — پنجره‌های محلی در مختصات (t, h, w)؛ روشی که Video Swin از آن بهره می‌برد.

تمام مدل‌های دیفیوژن ویدیویی سال 2026 از یکی از این سه الگو در کنار شرطی‌سازی AdaLN (درس 23) و جریان تصحیح‌شده (rectified flow) استفاده می‌کنند.

شرطی‌سازی بر کنش‌ها: مدل‌های کنش نهفته

مدل Genie یک کنش نهفته را به ازای هر فریم یاد می‌گیرد؛ به این صورت که کنش رخ‌داده بین دو فریم متوالی را به‌طور تفکیک‌گرایانه (discriminatively) پیش‌بینی می‌کند. سپس دکودر مدل بر پایه‌ی این کنش نهفته‌ی استنباط‌شده شرطی‌سازی می‌شود، نه بر اساس دکمه‌های واقعی صفحه‌کلید. در زمان استنتاج، کاربر می‌تواند یک کنش نهفته را مشخص کند (یا آن را از یک پیشین تازه نمونه‌برداری کند) و مدل فریم بعدی را هماهنگ با همان کنش می‌سازد.

مدل Sora رابط کنش را کاملاً کنار می‌گذارد. دکودر آن توکن‌های فضا-زمانی بعدی را از روی توکن‌های فضا-زمانی گذشته پیش‌بینی می‌کند. پرامپت فقط نقطه‌ی آغاز را مشخص می‌کند و هیچ ابزاری برای تغییر مسیر مدل در میانه‌ی تولید وجود ندارد.

باورپذیری فیزیکی

در معرفی نسخه‌ی سال 2026 مدل Sora 2، صراحتاً روی باورپذیری فیزیکی تبلیغ شد: وزن، تعادل، بقای جسم و علت‌ومعلول. این شاخص را تیم توسعه با امتیازدهی دستی ارزیابی کرد؛ خروجی این مدل در شبیه‌سازی افتادن اشیا، برخورد شخصیت‌ها و خطاهای عمدی (مثل پرش ناموفق) در مقایسه با Sora 1 پیشرفت چشمگیری داشته است.

با این حال، باورپذیری فیزیکی همچنان پاشنه‌آشیل اصلی مدل‌هاست. ویدیوهای سال‌های 2024 و 2025 از اسپاگتی خوردن افراد یا آب نوشیدن از لیوان، نبود بازنمایی پایدار از اشیا را آشکار کرد. مدل‌های سال 2026 (مثل Sora 2، Runway Gen-5 و HunyuanVideo) این خطاها را کمتر کرده‌اند، اما از بین نبرده‌اند.

مدل‌های جهان برای رانندگی خودران

مدل‌های جهانِ رانندگی، صحنه‌های واقع‌گرایانه‌ی جاده را بر اساس مسیرهای حرکتی (trajectories)، کادرهای مرزی (bounding boxes) یا نقشه‌های ناوبری تولید می‌کنند. موارد کاربرد:

  • Cosmos-Drive-Dreams (از NVIDIA) — تولید چند دقیقه ویدیوی رانندگی برای آموزش RL.
  • Gaia-2 (از Wayve) — تولید صحنه‌ها بر پایه‌ی مسیر حرکتی برای ارزیابی خط‌مشی‌ها (policies).
  • DrivingWorld (از Tesla) — شبیه‌سازی شرایط جوی متغیر، ساعات مختلف شبانه‌روز و وضعیت‌های ترافیکی.
  • Vista (از ByteDance) — ساخت صحنه‌های تعاملی و واکنشی از رانندگی.

این مدل‌ها جایگزین جمع‌آوری پرهزینه‌ی داده در دنیای واقعی برای سناریوهای مرزی و نادر (corner cases) می‌شوند؛ موقعیت‌هایی مثل عبور عابر پیاده از وسط خیابان در تاریکی شب، تقاطع‌های یخ‌زده یا وسایل نقلیه‌ی نامتعارف که در غیر این صورت به میلیون‌ها مایل رانندگی نیاز داشتند.

پشته‌ی رباتیک: VLM + مدل ویدیو + دینامیک معکوس

چرخه‌ی سه‌مؤلفه‌ای نوظهور در رباتیک:

  1. مدل زبان-بینایی (VLM) هدف را تحلیل می‌کند («لیوان قرمز را بردار») و یک توالی از کنش‌های سطح‌بالا را برنامه‌ریزی می‌نماید.
  2. مدل تولید ویدیو اجرای هر کنش را شبیه‌سازی می‌کند — مشاهدات مربوط به N فریم آینده را حدس می‌زند.
  3. مدل دینامیک معکوس فرمان‌های حرکتی ملموس و دقیق را برای موتورها استخراج می‌کند تا همان مشاهدات حاصل شوند.

این روش جایگزین شکل‌دهی پاداش (reward shaping) و مدل‌های RL نیازمند داده‌های سنگین می‌شود. مدل جهان تخیل می‌کند و مدل دینامیک معکوس چرخه‌ی اعمال نیرو را می‌بندد. Genie Envisioner نمونه‌ای از این پشته است و گروه‌های پژوهشی متعددی دارند به این الگو گرایش پیدا می‌کنند.

ارزیابی

  • کیفیت بصری — معیار FVD (فاصله ویدیویی فرشه)، ارزیابی انسانی (user studies).
  • تطابق با پرامپت — معیار CLIPScore در سطح هر فریم، ارزیابی مشابه پرسش و پاسخ بصری (VQA).
  • باورپذیری فیزیکی — امتیازدهی دستی روی مجموعه‌ای از بنچ‌مارک‌ها (بنچ‌مارک داخلی Sora 2 و VBench).
  • کنترل‌پذیری (برای مدل‌های جهان تعاملی) — سازگاری میان کنش و مشاهده؛ آیا می‌توانید به وضعیت قبلی برگردید؟

چشم‌انداز مدل‌ها در سال 2026

مدل کاربرد پارامترها خروجی مجوز
Sora 2 متن به ویدیو، صدا — 1 دقیقه 1080p + صدا فقط API
Runway Gen-5 متن/تصویر به ویدیو — کلیپ‌های 10 ثانیه‌ای API
Runway GWM-1 Worlds جهان تعاملی — گشت‌وگذار سه‌بعدی بی‌پایان API
Genie 3 جهان تعاملی از روی تصویر بالای 11B فریم‌های قابل‌بازی پیش‌نمایش پژوهشی
Wan-Video 2.1 متن به ویدیو متن‌باز 14B کلیپ‌های باکیفیت غیرتجاری
HunyuanVideo متن به ویدیو متن‌باز 13B کلیپ‌های 10 ثانیه‌ای مجاز و آزاد
Cosmos / Cosmos-Drive شبیه‌ساز رانندگی خودران 7-14B صحنه‌های رانندگی متن‌باز NVIDIA
Magica / Mirage 2 موتور بازی مبتنی بر هوش مصنوعی — دنیاهای قابل ویرایش محصول نهایی
مدل‌های جهان · بازکردن مشروط به عملپیش‌بینی، عمل، بازخورد، تکرار
WORLD MODELS · ACTION-CONDITIONED ROLLOUTPure video generation predicts frames from a prompt and stops. A world model is the same video DiT run in a loop: each denoised chunk is appended to the context, an action token (turn left, open door) conditions the next prediction, and the model becomes a learned simulator you can steer. Drift is the failure mode, because every hallucinated pixel becomes future input.مدل جهان آینده را از روی پیش‌بینی‌های خودش باز می‌کندفریم t (کانتکست)گردش به چپفریم t+1، نویززداییباز کردن در?فریم t+2هر فریمِ تولیدشده دوباره وارد پنجره کانتکست می‌شود
تولید ویدئوی صرف، فریم‌ها را از روی یک پرامپت پیش‌بینی کرده و متوقف می‌شود. مدل جهان همان DiT ویدئویی است که در یک حلقه اجرا می‌شود: هر قطعه نویززدایی‌شده به کانتکست الحاق می‌گردد، یک توکن عمل (گردش به چپ، باز کردن در) پیش‌بینی بعدی را شرطی‌سازی می‌کند و مدل به شبیه‌ساز یادگیرنده‌ای تبدیل می‌شود که می‌توانید آن را هدایت کنید. انحراف (Drift) حالت خرابی این ساختار است، زیرا هر پیکسل توهم‌شده به ورودی آینده تبدیل می‌شود.

پیاده‌سازی گام‌به‌گام

گام 1: پچ‌بندی سه‌بعدی برای ویدیو

import torch
import torch.nn as nn


class VideoPatch3D(nn.Module):
    def __init__(self, in_channels=4, dim=64, patch_t=2, patch_h=2, patch_w=2):
        super().__init__()
        self.proj = nn.Conv3d(
            in_channels, dim,
            kernel_size=(patch_t, patch_h, patch_w),
            stride=(patch_t, patch_h, patch_w),
        )
        self.patch_t = patch_t
        self.patch_h = patch_h
        self.patch_w = patch_w

    def forward(self, x):
        # x: (N, C, T, H, W)
        x = self.proj(x)
        n, c, t, h, w = x.shape
        tokens = x.reshape(n, c, t * h * w).transpose(1, 2)
        return tokens, (t, h, w)

یک کانولوشن سه‌بعدی با ابعاد گام (stride) برابر با کرنل، مثل یک پچ‌ساز فضا-زمانی عمل می‌کند و شبکه‌ای از توکن‌ها با ساختار (T, H, W) -> (T/2, H/2, W/2) تحویل می‌دهد.

گام 2: کدگذاری چرخشی موقعیت به‌صورت سه‌بعدی

امبدینگ چرخشی موقعیت (RoPE) به‌طور مجزا در امتداد محورهای t، h و w اعمال می‌شود:

def rope_3d(tokens, t_dim, h_dim, w_dim, grid):
    """
    tokens: (N, T*H*W, D)
    grid: (T, H, W) sizes
    t_dim + h_dim + w_dim == D
    """
    T, H, W = grid
    n, seq, d = tokens.shape
    if t_dim + h_dim + w_dim != d:
        raise ValueError(f"t_dim+h_dim+w_dim ({t_dim}+{h_dim}+{w_dim}) must equal D={d}")
    assert seq == T * H * W
    t_idx = torch.arange(T, device=tokens.device).repeat_interleave(H * W)
    h_idx = torch.arange(H, device=tokens.device).repeat_interleave(W).repeat(T)
    w_idx = torch.arange(W, device=tokens.device).repeat(T * H)
    # ساده‌شده: صرفاً مقیاس‌دهی کانال‌ها با فرکانس‌ها. در RoPE واقعی جفت‌ها دوران داده می‌شوند.
    freqs_t = torch.exp(-torch.log(torch.tensor(10000.0)) * torch.arange(t_dim // 2, device=tokens.device) / (t_dim // 2))
    freqs_h = torch.exp(-torch.log(torch.tensor(10000.0)) * torch.arange(h_dim // 2, device=tokens.device) / (h_dim // 2))
    freqs_w = torch.exp(-torch.log(torch.tensor(10000.0)) * torch.arange(w_dim // 2, device=tokens.device) / (w_dim // 2))
    emb_t = torch.cat([torch.sin(t_idx[:, None] * freqs_t), torch.cos(t_idx[:, None] * freqs_t)], dim=-1)
    emb_h = torch.cat([torch.sin(h_idx[:, None] * freqs_h), torch.cos(h_idx[:, None] * freqs_h)], dim=-1)
    emb_w = torch.cat([torch.sin(w_idx[:, None] * freqs_w), torch.cos(w_idx[:, None] * freqs_w)], dim=-1)
    return tokens + torch.cat([emb_t, emb_h, emb_w], dim=-1)

این فرم جمع‌پذیرِ ساده‌شده است. RoPE واقعی کانال‌های زوج را با فرکانس‌های مشخص می‌چرخاند؛ محتوای اطلاعات مکانی در هر دو یکسان است.

گام 3: بلوک اتنشن تفکیک‌شده

class DividedAttentionBlock(nn.Module):
    def __init__(self, dim=64, heads=2):
        super().__init__()
        self.time_attn = nn.MultiheadAttention(dim, heads, batch_first=True)
        self.space_attn = nn.MultiheadAttention(dim, heads, batch_first=True)
        self.ln1 = nn.LayerNorm(dim)
        self.ln2 = nn.LayerNorm(dim)
        self.ln3 = nn.LayerNorm(dim)
        self.mlp = nn.Sequential(nn.Linear(dim, 4 * dim), nn.GELU(), nn.Linear(4 * dim, dim))

    def forward(self, x, grid):
        T, H, W = grid
        n, seq, d = x.shape
        # اتنشن زمانی: همان (h, w)، در طول t
        xt = x.view(n, T, H * W, d).permute(0, 2, 1, 3).reshape(n * H * W, T, d)
        a, _ = self.time_attn(self.ln1(xt), self.ln1(xt), self.ln1(xt), need_weights=False)
        xt = (xt + a).reshape(n, H * W, T, d).permute(0, 2, 1, 3).reshape(n, seq, d)
        # اتنشن مکانی: همان t، در طول (h, w)
        xs = xt.view(n, T, H * W, d).reshape(n * T, H * W, d)
        a, _ = self.space_attn(self.ln2(xs), self.ln2(xs), self.ln2(xs), need_weights=False)
        xs = (xs + a).reshape(n, T, H * W, d).reshape(n, seq, d)
        xs = xs + self.mlp(self.ln3(xs))
        return xs

اتنشن زمانی روی هر موقعیت مکانی در طول زمان اعمال می‌شود؛ اتنشن مکانی درون هر فریم روی کل موقعیت‌ها اجرا می‌گردد. دو عملیات O(T2+(HW)2)O(T^2 + (HW)^2) به جای یک عملیات O((THW)2)O((THW)^2). این ایده، هسته‌ی اصلی TimeSformer و همه‌ی DiTهای ویدیویی مدرن است.

گام 4: ساخت یک DiT ویدیویی کوچک

class TinyVideoDiT(nn.Module):
    def __init__(self, in_channels=4, dim=64, depth=2, heads=2):
        super().__init__()
        self.patch = VideoPatch3D(in_channels=in_channels, dim=dim, patch_t=2, patch_h=2, patch_w=2)
        self.blocks = nn.ModuleList([DividedAttentionBlock(dim, heads) for _ in range(depth)])
        self.out = nn.Linear(dim, in_channels * 2 * 2 * 2)

    def forward(self, x):
        tokens, grid = self.patch(x)
        for blk in self.blocks:
            tokens = blk(tokens, grid)
        return self.out(tokens), grid

این کد یک تولیدکننده‌ی ویدیوی واقعی نیست؛ دمویی ساختاری است تا نشان دهد ابعاد همه‌ی بخش‌ها درست کنار هم جفت‌وجور می‌شوند.

گام 5: بررسی ابعاد خروجی

vid = torch.randn(1, 4, 8, 16, 16)  # (N, C, T, H, W)
model = TinyVideoDiT()
out, grid = model(vid)
print(f"input  {tuple(vid.shape)}")
print(f"tokens grid {grid}")
print(f"output {tuple(out.shape)}")

پس از پچ‌بندی، انتظار داریم خروجی به شکل grid = (4, 8, 8) و out = (1, 256, 32) باشد؛ در ادامه، سرِ مدل (head) این مقادیر را روی پچ‌های فضا-زمانی توکن‌ها تصویر می‌کند تا برای بازسازی فریم‌های ویدیو آماده شوند.

استفاده‌ی عملی

الگوهای دسترسی در محیط‌های پروداکشن سال 2026:

  • API مدل Sora 2 (از OpenAI) — متن به ویدیو، صدای همگام‌شده. قیمت بالا.
  • Runway Gen-5 / GWM-1 (از Runway) — تصویر به ویدیو، جهان‌های تعاملی.
  • Wan-Video 2.1 / HunyuanVideo — متن‌باز با امکان میزبانی شخصی (self-host).
  • Cosmos / Cosmos-Drive (از NVIDIA) — وزن‌های متن‌باز برای شبیه‌سازی رانندگی.
  • Genie 3 — پیش‌نمایش پژوهشی، نیازمند درخواست دسترسی.

برای ساخت دموی یک مدل جهان تعاملی: از Wan-Video برای دریافت کیفیت تصویر بالا شروع کنید و یک آداپتور کنش نهفته را برای تعاملی شدن روی آن قرار دهید. برای شبیه‌سازی رانندگی خودران، Cosmos-Drive مرجع باز سال 2026 است.

در رباتیک، پشته‌ی عملیاتی در دنیای واقعی به این ترتیب است:

  1. هدف متنی ← مدل VLM (مثل Qwen3-VL) ← برنامه‌ریزی سطح‌بالا.
  2. برنامه ← مدل ویدیوییِ مبتنی بر کنش نهفته ← شبیه‌سازی مراحل اجرا در ذهن مدل.
  3. خروجی شبیه‌سازی ← مدل دینامیک معکوس ← کنش‌های سطح‌پایین حرکتی.
  4. اجرای کنش‌ها ← بازخورد داده‌های حسی جدید به گام 1.

خروجی نهایی

در این درس فایل‌های زیر را می‌سازید:

  • outputs/prompt-video-model-picker.md — راهنمایی برای انتخاب میان Sora 2، Runway، Wan، HunyuanVideo یا Cosmos بر اساس سناریو، نوع لایسنس و میزان تأخیر.
  • outputs/skill-physical-plausibility-checks.md — مهارتی که بررسی‌های خودکار (بقای شیء، جاذبه، تداوم صحنه) را روی هر ویدیوی تولیدی پیش از تحویل اجرا می‌کند.

تمرین‌ها

  1. (ساده) تعداد توکن‌های یک ویدیوی 5 ثانیه‌ای با رزولوشن 360p را در شرایطی محاسبه کنید که patch-t=2، patch-h=8 و patch-w=8 باشد. حجم حافظه‌ی مورد نیاز اتنشن را در این ابعاد تحلیل کنید.
  2. (متوسط) بلوک اتنشن تفکیک‌شده‌ی بالا را با یک بلوک اتنشن مشترک کامل عوض کنید و ابعاد و تعداد پارامترها را بسنجید. توضیح دهید چرا در مدل‌های ویدیویی واقعی چاره‌ای جز استفاده از اتنشن تفکیک‌شده نداریم.
  3. (سخت) یک مدل ویدیویی مینیمال با کنش‌های نهفته بسازید: دیتاستی از سه‌گانه‌های (frame_t, action_t, frame_{t+1}) مربوط به یک بازی دوبعدی ساده بردارید، یک DiT ویدیویی کوچک با شرطی‌سازی روی امبدینگ‌های کنش آموزش دهید و نشان دهید که کنش‌های مختلف، فریم‌های بعدی متفاوتی تولید می‌کنند.

اصطلاحات کلیدی

اصطلاح در گفت‌وگوها تعریف دقیق فنی
مدل جهان (World model) «شبیه‌ساز یادگیرنده» مدلی که مشاهدات آینده را بر اساس وضعیت فعلی و کنش پیش‌بینی می‌کند
DiT ویدیویی (Video DiT) «ترنسفورمر فضا-زمانی» ترنسفورمر دیفیوژن با پچ‌بندی سه‌بعدی و اتنشن تفکیک‌شده
کنش نهفته (Latent action) «کنترل استنباط‌شده» متغیر نهفته‌ی پیوسته یا گسسته که از جفت‌فریم‌ها استنباط می‌شود و برای شرطی‌سازی تولید فریم بعدی به کار می‌رود
اتنشن تفکیک‌شده (Divided attention) «اول زمان بعد مکان» دو عملیات اتنشن مجزا در هر بلوک — در طول زمان و سپس در طول مکان — برای مهار پیچیدگی O(N2)O(N^2)
بقای جسم (Object permanence) «اشیا غیب نمی‌شوند» ویژگی بنیادین صحنه که مدل باید یاد بگیرد؛ چالش همیشگی در شبیه‌سازی غذا یا ظروف شیشه‌ای
FVD «فاصله ویدیویی فرشه» معادل معیار FID برای ویدیو؛ شاخص اصلی ارزیابی کیفیت بصری
مدل دینامیک معکوس (Inverse dynamics model) «تبدیل تصویر به کنش» ورودی گرفتن (وضعیت فعلی، وضعیت بعدی) و تحویل کنشی که این دو را به هم وصل می‌کند؛ تکمیل‌کننده‌ی چرخه‌ی کنترل در رباتیک
Cosmos-Drive «شبیه‌ساز رانندگی انویدیا» مدل جهان با وزن‌های باز برای یادگیری تقویتی و ارزیابی در رانندگی خودران

برای مطالعه‌ی بیشتر

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پیش از درسچه تفاوت معماری، یک مدل جهان مشروط به عمل (مانند Genie 3) را از یک مدل تولید ویدئوی صرف (مانند Sora 2) متمایز می‌کند؟
  2. پیش از درسمفهوم اتنشن تفکیک‌شده (divided attention) در یک ترنسفورمر ویدئویی چیست؟
  3. پس از درسنسخه 2026 مدل Sora 2 با وعده باورپذیری فیزیکی بهتر عرضه شد. این بهبود کدام حالت‌های خطای خاص را هدف قرار داد؟
  4. پس از درسدر استک رباتیک نوظهور (شامل VLM + تولید ویدئو + مدل دینامیک معکوس)، وظیفه مدل دینامیک معکوس (inverse dynamics) چیست؟
  5. پس از درستیم‌های رانندگی خودران از مدل‌های جهان (Cosmos-Drive، Gaia-2، DrivingWorld) برای جایگزینی چه هزینه‌ای استفاده می‌کنند؟

سؤالات متداول

تفاوت اصلی یک مدل صرفاً تولید ویدیو مثل Sora 2 با یک مدل جهان مانند Genie 3 چیست؟

مدل‌هایی مثل Sora 2 فقط بر اساس متن اولیه ویدیو تولید می‌کنند و در میانه‌ی کار نمی‌توان آنها را کنترل کرد؛ اما مدل‌های جهان تعاملی مثل Genie 3 بر کنش‌ها (actions) شرطی می‌شوند و کاربر می‌تواند با فرستادن ورودی یا حرکت دوربین، رفتار صحنه را تغییر دهد.

چرا در معماری DiTهای ویدیویی به جای اتنشن مشترک کامل از اتنشن تفکیک‌شده (Divided Attention) استفاده می‌شود؟

چون در اتنشن مشترک کامل، پیچیدگی محاسباتی با افزایش تعداد توکن‌های زمان و مکان به‌صورت درجه دوم جهش می‌کند و ویدیوهای طولانی حافظه را اشغال می‌کنند؛ اتنشن تفکیک‌شده ابتدا در طول زمان و سپس در طول مکان اعمال می‌شود تا بار محاسباتی کنترل شود.

مدل جهان چطور در زنجیره کنترل رباتیک ادغام می‌شود؟

ابتدا یک مدل VLM هدف را تحلیل و حرکات کلی را برنامه‌ریزی می‌کند؛ سپس مدل جهان فریم‌های آینده را تخیل و شبیه‌سازی کرده و در نهایت یک مدل دینامیک معکوس، کنش‌ها و فرمان‌های حرکتی فیزیکی موتورها را بر اساس آن فریم‌ها استخراج می‌کند.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.