Table of Contents

If you’ve used Sora, Kling, Runway, or any AI video generation tool, you’ve probably noticed the same failure mode: the first few seconds look good, then something starts to drift. A character’s face changes subtly between frames. Background details shift. Motion becomes unnatural. By thirty seconds in, the video barely resembles what you asked for. This is temporal drift — and it’s been the defining unsolved problem in AI video generation since these tools emerged. In 2025, several research groups converged on systematic solutions. Here’s what they found.

TL;DR

  • Core problem: forgetting (early frames fall out of context window, details lost) and drifting (autoregressive error accumulation) — two problems that trade off against each other
  • Root cause: video diffusion models have finite temporal context windows; beyond that, only compressed representations survive
  • 2025 solutions:
    • FramePack: inverted temporal generation + fixed context length — enables hour-long video in theory
    • Mixture of Contexts (MoC): sparse attention with learned routing selects the most relevant historical frames
    • A2RD: multimodal memory + closed-loop self-correction for story-consistent long video
    • Direct Forcing: closes the training-inference distribution gap to reduce error accumulation
  • Key insight: forgetting and drifting are a fundamental trade-off; every solution attacks this differently

Why AI Video Generation Is Structurally Hard

Still image generation models only need spatial consistency within one frame. Video generation adds temporal consistency across potentially hundreds of frames. The same character’s face must match at frame 1 and frame 300. Moving objects must follow plausible physics. Lighting and shadows must evolve coherently.

Modern video generation models handle this through diffusion models with 3D spatiotemporal attention — the denoising network processes spatial and temporal tokens together, enabling it to model frame-to-frame relationships. The constraint: context windows are finite.

graph TD
    A[Video generation task] --> B[Short clips<br>under 10 seconds]
    A --> C[Long video<br>30+ seconds]
    B --> D[All frames fit<br>in context window]
    C --> E[Early frames fall<br>out of context]
    E --> F1[Forgetting<br>Detail loss]
    E --> F2[Drifting<br>Error accumulation]
    F1 --> G[Face changes<br>Background objects shift]
    F2 --> H[Quality degrades<br>Motion becomes unnatural]

The Trade-off That Makes This Hard

Forgetting: The longer the video, the sooner early frames fall out of the context window. The model is left working with compressed embeddings instead of pixel-level detail. Character faces “drift” toward a different face. Background objects change shape or disappear.

Drifting: Autoregressive generation means each step depends on the previous step’s output. During training, the model sees real frames; during inference, it sees its own generated frames. Errors accumulate and amplify across steps (exposure bias / observation bias).

Here’s the dilemma: strengthening memory to address forgetting can worsen drifting, because erroneous early frames get amplified. Reducing memory dependency to address drifting accelerates forgetting. Every solution in 2025 attacks this trade-off from a different angle.

The 2025 Solutions

FramePack: Inverted Generation Order

FramePack’s core idea is counterintuitive: don’t generate from the beginning forward. Instead, generate anchor frames at key points first, then fill gaps working backward from each endpoint.

When the model generates any given frame, it can see both the start and end of its local segment — two high-quality anchors. Error accumulation paths are shortened because every generation step has bounded bidirectional distance to reference frames.

More importantly: FramePack maintains a fixed-length context window regardless of total video length. Per-step compute cost stays constant. This is what makes hour-long video generation theoretically tractable (demonstrated in lab settings on H100 hardware for 60-minute outputs).

Mixture of Contexts (MoC): Sparse Memory Retrieval

MoC reframes long video generation as an internal information retrieval problem. Rather than attending to all historical frames (computationally explosive), the model learns a sparse routing module that dynamically selects the most relevant historical frames for each new generation step.

Mandatory anchors — certain key frames like scene beginnings and first character appearances — are always included in the attention window regardless of video length. This directly addresses forgetting without requiring full attention over the entire history. Compute scales sub-quadratically.

A2RD: Agentic Self-Correction

Agentic Autoregressive Diffusion (A2RD) introduces three mechanisms working together:

  1. Segment-based autoregressive generation: long videos are divided into manageable segments with clean memory reset points between them
  2. Multimodal memory: memory includes not just visual frames but text descriptions, object states, and scene summaries — richer conditioning for long-range coherence
  3. Closed-loop self-correction: after generating each segment, the model evaluates consistency and revises before proceeding

This approach is particularly suited for narrative-heavy content where character state tracking matters across scenes.

Direct Forcing: Closing the Training-Inference Gap

A complementary solution to drifting: during training, expose the model to its own generated frames (not only ground truth frames). This trains the model to remain consistent even when starting from imperfect inputs, reducing the distributional shift that causes cascading errors during inference. It’s a single-step approximation strategy with modest compute overhead and measurable improvement in autoregressive stability.

What Changed in Practice

Video length: From the previous practical ceiling of 10-30 seconds to several minutes of coherent generation. Seedance 2.0 (early 2026) generates 120-second continuous video; FramePack research has demonstrated much longer.

Character consistency: Consistent character appearance across scenes is now viable for real production workflows — advertising, short films, educational content.

Open-source integration: MoC and FramePack techniques are being integrated into ComfyUI and Hugging Face Diffusers, making long-form video accessible to engineers without custom infrastructure.

What’s Still Open

  • Face detail in close-ups: Micro-level facial consistency in extreme close-ups remains a hard problem
  • Physics consistency: Object motion that reliably respects physics is still research territory (DiffPhy and related approaches are promising but not broadly deployed)
  • Evaluation metrics: FVD and LPIPS don’t fully capture human perception of temporal consistency; the field lacks a definitive benchmark
  • Compute at training time: FramePack’s inference efficiency doesn’t eliminate the training cost; these models require significant infrastructure to train

References

Ask this article

Answers come from this article only. Click any prompt below or open the chat at the bottom right.

🇺🇸 English

If you've used Sora, Kling, Runway, or any AI video generator, you've probably run into the same weird failure. The first few seconds look fantastic. Then something starts to slip. A character's face shifts, just slightly, from one moment to the next. The background quietly rearranges itself. The motion gets a little off, a little dreamlike. And by the thirty-second mark, the video barely resembles what you asked for in the first place.

That slow-motion collapse has a name. It's called temporal drift, and it has been the defining unsolved problem in AI video generation basically since these tools existed. But in 2025, something shifted. Several research groups, working more or less independently, converged on real, systematic solutions. So let's talk about what was actually going wrong — and how they fixed it.

Here's the thing to understand up front: there isn't one bug. There are two, and they pull against each other. The first is forgetting. The second is drifting. And the tension between them is the whole story.

So why is video generation structurally so much harder than making a still image? With a single image, the model only has to be consistent within one frame — everything in that picture has to make sense together, spatially. But video adds a whole new dimension: consistency across time. That same character's face has to match at frame one and at frame three hundred. Moving objects have to obey something like real physics. Lighting and shadows have to evolve smoothly. It's a much bigger promise to keep.

Modern models handle this with what's called 3D spatiotemporal attention. Don't let the term scare you — it just means the model looks at space and time together, processing the relationships between frames rather than treating each one in isolation. That works beautifully, but only up to a point. Because the model can only hold so much in its head at once. Its context window is finite.

And that's where the two problems come from. Think of it this way. For a short clip — under ten seconds — every frame fits comfortably inside the context window. The model can see everything. Great. But push past thirty seconds, and the earliest frames start falling out the back of that window. And the moment they do, both failure modes kick in.

Let's take them one at a time. Forgetting is about lost detail. Once those early frames drop out of context, the model isn't working with crisp, pixel-level information anymore — it's working with a compressed, fuzzy summary. So the character's face slowly drifts toward some other, generic face. Background objects change shape or just quietly vanish. The model literally forgot what things looked like.

Drifting is a different beast. It comes from the fact that generation is autoregressive — each new frame is built on top of the previous one. Now, during training, the model always got to see real, clean frames as its starting point. But at inference time — when it's actually generating for you — it has to build on its own output. Its own imperfect, slightly-wrong output. So a tiny error in one frame becomes the foundation for the next frame, which adds its own small error, and it compounds. Researchers call this exposure bias, and it's why quality tends to degrade the longer the video runs.

And here's the cruel part — the dilemma that made this so hard to crack. These two problems trade off against each other. If you beef up the model's memory to fight forgetting, you make drifting worse — because now those early, possibly-flawed frames get held onto and amplified. But if you cut down memory dependence to fight drifting, you speed up forgetting. Push on one, the other pops out. Every 2025 solution is, at its heart, a different clever way of attacking this exact trade-off.

So let's go through them, because the approaches are genuinely interesting.

First, FramePack. Its core idea is almost backwards, and I love it for that. The intuition most people have is: generate the video from the beginning, moving forward in time. FramePack says — no. Instead, lay down anchor frames at key points first, and then fill in the gaps by working backward from each endpoint. So when the model generates any given frame, it can actually see both the start and the end of its little local segment — two high-quality anchors bracketing it on either side. That shortens the error-accumulation path dramatically, because every frame is only ever a bounded distance away from a solid reference point.

But the real magic is this: FramePack keeps a fixed-length context window no matter how long the total video is. The cost per step stays constant. That's the breakthrough that makes hour-long video even theoretically possible — and they've actually demonstrated sixty-minute outputs in the lab, running on H100 hardware.

Second approach: Mixture of Contexts, or MoC. This one reframes the whole problem in a really elegant way. It treats long video generation as an information retrieval problem. Instead of paying attention to every single historical frame — which gets computationally explosive fast — the model learns a routing module that dynamically picks out just the most relevant past frames for whatever it's generating right now. And crucially, certain frames are marked as mandatory anchors — the beginning of a scene, the first time a character appears — and those are always kept in view, no matter how long the video gets. That directly attacks forgetting, without forcing the model to attend to the entire history. The compute cost scales sub-quadratically, which is a fancy way of saying: it stays manageable.

Third: A2RD, Agentic Autoregressive Diffusion. This one's built for storytelling. It bundles three mechanisms together. It chops long videos into manageable segments with clean memory reset points between them. It uses multimodal memory — meaning the memory isn't just visual frames, it's also text descriptions, object states, scene summaries. Richer context to stay coherent over long stretches. And then, my favorite part: closed-loop self-correction. After the model generates each segment, it stops, evaluates its own consistency, and revises before moving on. It checks its own work. That makes A2RD especially good for narrative content where you need to track a character's state across multiple scenes.

And fourth, a more targeted fix called Direct Forcing. Remember that gap between training and inference — where the model trains on clean frames but has to run on its own messy output? Direct Forcing closes that gap by deliberately feeding the model its own generated frames during training. So it learns to stay consistent even when it's starting from imperfect input. It's a relatively cheap technique with a measurable payoff in autoregressive stability. Modest overhead, real improvement.

So what does all this actually add up to, in practice? The headline is video length. We went from a practical ceiling of maybe ten to thirty seconds, to several minutes of coherent generation. Seedance 2.0, in early 2026, generates a hundred-and-twenty seconds of continuous video, and FramePack's research points to much longer. Character consistency across scenes is now solid enough for real production — advertising, short films, educational content. And these techniques, MoC and FramePack especially, are getting folded into open tools like ComfyUI and Hugging Face Diffusers. So you don't need to be a big lab with custom infrastructure to use them anymore.

But let's be honest about what's still broken. Facial detail in extreme close-ups is still shaky — micro-level consistency when the camera's right up in someone's face remains genuinely hard. Physics is still mostly research territory; objects that reliably move the way real objects would is not a solved thing. Our evaluation metrics are frankly inadequate — the standard ones don't really capture how a human perceives temporal consistency, and the field still lacks a definitive benchmark. And FramePack's efficiency is all about inference — training these models still costs a fortune.

So here's what I'd want you to walk away with. First: temporal drift was never one bug. It's two opposing problems — forgetting and drifting — locked in a trade-off, and that tension is why it resisted a fix for so long. Second: 2025's breakthroughs all work by being smart about memory rather than just piling on more of it — FramePack generating out of order with a fixed window, MoC retrieving only what matters, A2RD checking its own work. And third: long-form AI video crossed from party trick to production tool this year, but the last mile — close-up faces, real physics, honest evaluation — is still wide open. Which, if you're the kind of person who likes hard problems, is exactly where the fun is.

🇹🇼 中文

現在只要打一段文字 prompt,就能生出畫質好到嚇人的影片,可控性還特別強——你甚至可以做三段畫面完全不同、卻收在同一個結局的短片。幾乎任何你想得到的畫面,都變得又便宜又唾手可得。

但這些系統幾乎都藏著同一個大問題。你猜問題在哪?是擬真度嗎?

不是。論擬真,這些 AI 已經是頂尖水準。那些做光線傳輸研究、靠寫程式生成擬真影像的人會告訴你,這些模型的成果幾乎無可挑剔。人類要磨十幾年的手藝,AI 正用驚人的速度學會。

真正破功的,是「動作」。

問題可以濃縮成一句話:單看一幀,畫面完美無缺;但一旦動起來,物理就整個垮掉。

面對這現象,多數研究者的直覺反應是:沒事,給它更多資料、更多算力就好。那我們就來實測一下這套「算力萬能論」。以兩年前 OpenAI Sora 的基準算力生成的影片為例——基準算力下,畫面慘不忍睹,細看根本是惡夢素材;拉到四倍算力,還是不完美,但趨勢已經在對你招手;拉到三十二倍,動作明顯變好,結果開始「唱起來」了。

所以算力確實有用,趨勢也很明確。但問題是——誰現在還有閒置算力?那退一步,是不是多塞點訓練資料就行?這恰恰就是錯的,而這篇研究要講的,正是為什麼。

研究者開發出一種技術,能在 AI 生成某個動作時,反問它:「這招你是跟誰學的?」也就是把生成結果「歸因」回它看過的訓練影片。

舉個例子,給它一塊泡棉方塊漂在水上。技術會指出這個動作的知識來源——海浪拍打碼頭、衝浪、海浪飛濺,這些就是讓它學會這種水面運動的正樣本。

那反過來,最糟的學習素材長什麼樣?答案很合理:卡通。卡通教的是互相矛盾的物理——角色會在半空中停住,甚至撐把小傘才慢慢掉下來;身體像橡膠一樣彈跳,下一刻又彈回原狀。對人類很有趣,但對一個想學真實物理的模型來說,這是災難。

於是就有了那個反直覺的點子:不要塞更多資料,而是塞更少——把這些壞影響直接剔除掉。

實測結果是:基準模型生成一枚旋轉的硬幣,但它繞錯了旋轉軸;剔除壞影響、再用好樣本微調之後,就是一枚漂亮、物理正確的旋轉硬幣。

當然,幾個精挑細選的例子不算數,要看使用者研究才算數。他們用五十段影片、十七位受測者,總共八百五十次比較,請人判斷新舊方法哪個比較好。結果,新方法對上原始模型,拿下百分之七十四點一的勝率。

那這一切是怎麼做到的?兩個關鍵步驟。

第一步,把「怎麼動」從「長怎樣」裡分離出來。要做歸因,得先把運動資訊跟外觀資訊拆開。他們用了一個老技術,叫光流,optical flow,很擅長追蹤點在影片中的移動軌跡,拿來做運動遮罩剛剛好。但真正的巧思在這裡——他們不是把這個遮罩套在影片上,而是套在 AI 的「內部學習訊號」上。這樣才看得出來,模型的決策到底是從哪裡冒出來的。

第二步,把十億個數字壓成五百一十二個。點子很棒,但有個大麻煩:現代模型動輒超過十億個參數。要為上千支影片儲存並比對完整的學習訊號,記憶體跟時間都吃不消,根本不可行。他們的解法,是把這超過十億個數字,壓縮成五百一十二個,而且結果幾乎不變。

用的技術叫 Johnson–Lindenstrauss 投影,Google 的 TurboQuant 壓縮演算法也用到它,用來緩解大模型在 GPU 上的記憶體壓力。它的作用,是把高維資料投影到一個極小的空間,同時保留資料點之間的相對距離。

打個比方:一張木椅活在三維空間,它在地板上的影子活在二維——影子需要的資料少得多,但只要場景擺對,椅子四隻腳之間的距離,在影子裡依然保持不變。JL 投影就是這樣,砍掉大量冗餘,卻留住最重要的性質。

所以整套流程兜起來,只為了做一件事:找出哪些影片影響了 AI 的決策,然後把垃圾知識切掉。

而這個結論,其實已經超出影片生成本身了。我們常以為讀得越多就越聰明、越睿智,但這在很多領域根本不成立——當資訊品質低落時,你讀得越多反而越笨。低品質的資訊不會教育你,它會扭曲你的思考。解法不是「更多」,而是「更少、更好」。真相才是最好的老師,而且你不需要太多。慢下來,別照單全收,盡量去驗證你聽到的,刻意攝取得更少一點。順帶一提,研究者也承諾會免費釋出程式碼。

好,收個尾,這集記住三件事。第一,AI 影片真正的破口不是畫質,而是動作——單幀完美,動起來物理就垮。第二,關鍵不是加資料,而是減資料,用光流加歸因找出那些教壞模型的卡通式爛素材,剔除後再微調,勝率衝到七成四。第三,把十億維壓成五百一十二維這件事,靠的是 JL 投影,保住相對距離、砍掉冗餘,讓大規模比對變得可行。而這背後最值得帶走的一句話是:一點點乾淨的訊號,勝過一整座垃圾山。

Tags

Related Articles