<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Text To Video on ICE-ICE-BEAR-BLOG</title><link>https://ice-ice-bear.github.io/ko/tags/text-to-video/</link><description>Recent content in Text To Video on ICE-ICE-BEAR-BLOG</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Thu, 14 May 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ice-ice-bear.github.io/ko/tags/text-to-video/index.xml" rel="self" type="application/rss+xml"/><item><title>NVIDIA AnyFlow — 스텝 수에 묶이지 않는 비디오 디퓨전 증류</title><link>https://ice-ice-bear.github.io/ko/posts/2026-05-14-nvidia-anyflow-wan-t2v/</link><pubDate>Thu, 14 May 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/ko/posts/2026-05-14-nvidia-anyflow-wan-t2v/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post NVIDIA AnyFlow — 스텝 수에 묶이지 않는 비디오 디퓨전 증류" /&gt;&lt;h2 id="개요"&gt;개요
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://www.nvidia.com/" target="_blank" rel="noopener"
 &gt;NVIDIA&lt;/a&gt;가 공개한 &lt;a class="link" href="https://nvlabs.github.io/AnyFlow" target="_blank" rel="noopener"
 &gt;AnyFlow&lt;/a&gt;는 비디오 &lt;a class="link" href="https://en.wikipedia.org/wiki/Diffusion_model" target="_blank" rel="noopener"
 &gt;디퓨전 모델&lt;/a&gt;을 &lt;strong&gt;추론 스텝 수에 묶이지 않게&lt;/strong&gt; 증류하는 프레임워크다. 기존 few-step 증류 모델은 4스텝이면 4스텝, 8스텝이면 8스텝에 고정돼 있었다 — AnyFlow는 같은 가중치 하나로 1스텝부터 수십 스텝까지 모두 돌아가고, 스텝을 늘릴수록 품질이 안정적으로 올라간다. 이 글은 &lt;a class="link" href="https://huggingface.co/nvidia/AnyFlow-Wan2.1-T2V-14B-Diffusers" target="_blank" rel="noopener"
 &gt;&lt;code&gt;nvidia/AnyFlow-Wan2.1-T2V-14B-Diffusers&lt;/code&gt;&lt;/a&gt; 모델 카드를 출발점으로, 그 밑에 깔린 &lt;strong&gt;온폴리시 플로우 맵 증류(On-Policy Flow Map Distillation)&lt;/strong&gt; 가 왜 기존 &lt;a class="link" href="https://arxiv.org/abs/2303.01469" target="_blank" rel="noopener"
 &gt;컨시스턴시 증류&lt;/a&gt;와 다른지를 본다.&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 Base["Wan2.1-T2V-14B &amp;lt;br/&amp;gt; (flow matching DiT, 50+ steps)"]
 Base --&gt; Problem["문제: few-step 증류는 &amp;lt;br/&amp;gt; 스텝 수에 고정 + test-time scaling 손실"]
 Problem --&gt; AnyFlow["AnyFlow &amp;lt;br/&amp;gt; On-Policy Flow Map Distillation"]
 AnyFlow --&gt; FM["Flow Map &amp;lt;br/&amp;gt; z_t to z_r 임의 구간 전이"]
 AnyFlow --&gt; BS["Flow Map Backward Simulation &amp;lt;br/&amp;gt; Euler rollout을 shortcut 구간으로 분해"]
 FM --&gt; Result["임의 스텝 추론 &amp;lt;br/&amp;gt; (1, 4, 8, 16, 32 steps)"]
 BS --&gt; Result
 Result --&gt; Tasks["T2V / I2V / V2V &amp;lt;br/&amp;gt; bidirectional + causal"]&lt;/pre&gt;&lt;h2 id="베이스-모델--wan21"&gt;베이스 모델 — Wan2.1
&lt;/h2&gt;&lt;p&gt;AnyFlow는 처음부터 학습한 모델이 아니라, 알리바바의 오픈소스 비디오 생성 모델 &lt;a class="link" href="https://github.com/Wan-Video/Wan2.1" target="_blank" rel="noopener"
 &gt;Wan2.1&lt;/a&gt; 위에 올라간 증류 레이어다. 베이스가 되는 &lt;a class="link" href="https://huggingface.co/Wan-AI/Wan2.1-T2V-14B-Diffusers" target="_blank" rel="noopener"
 &gt;&lt;code&gt;Wan-AI/Wan2.1-T2V-14B-Diffusers&lt;/code&gt;&lt;/a&gt;는 &lt;a class="link" href="https://arxiv.org/abs/2210.02747" target="_blank" rel="noopener"
 &gt;Flow Matching&lt;/a&gt; 프레임워크 위에 세운 14B 파라미터 &lt;a class="link" href="https://arxiv.org/abs/2212.09748" target="_blank" rel="noopener"
 &gt;Diffusion Transformer&lt;/a&gt;로, 다국어 &lt;a class="link" href="https://huggingface.co/docs/transformers/model_doc/t5" target="_blank" rel="noopener"
 &gt;T5 인코더&lt;/a&gt;로 텍스트를 받고 각 트랜스포머 블록에서 &lt;a class="link" href="https://en.wikipedia.org/wiki/Attention_%28machine_learning%29" target="_blank" rel="noopener"
 &gt;cross-attention&lt;/a&gt;으로 조건을 주입한다. 시간 축 압축은 비디오 전용으로 설계된 &lt;strong&gt;Wan-VAE&lt;/strong&gt; — 3D causal &lt;a class="link" href="https://en.wikipedia.org/wiki/Variational_autoencoder" target="_blank" rel="noopener"
 &gt;VAE&lt;/a&gt;가 담당한다.&lt;/p&gt;
&lt;p&gt;Wan2.1의 약점은 디퓨전 모델 전반의 약점과 같다: &lt;strong&gt;느리다&lt;/strong&gt;. 480P 5초 클립 한 편을 뽑는 데 50스텝 안팎의 &lt;a class="link" href="https://en.wikipedia.org/wiki/Ordinary_differential_equation" target="_blank" rel="noopener"
 &gt;ODE&lt;/a&gt; 적분이 필요하고, 14B 모델이라 한 스텝이 무겁다. 그래서 few-step 증류가 필요한데, 여기서 기존 방식의 한계가 드러난다.&lt;/p&gt;
&lt;h2 id="문제--few-step-증류는-왜-스텝-수에-묶이나"&gt;문제 — few-step 증류는 왜 스텝 수에 묶이나
&lt;/h2&gt;&lt;p&gt;few-step 샘플링을 위한 표준 도구는 &lt;a class="link" href="https://arxiv.org/abs/2303.01469" target="_blank" rel="noopener"
 &gt;컨시스턴시 모델&lt;/a&gt; 계열의 증류다. 핵심 아이디어는 noise가 섞인 어느 시점 &lt;code&gt;z_t&lt;/code&gt;에서든 곧장 깨끗한 출력 &lt;code&gt;z_0&lt;/code&gt;로 가는 매핑을 학습시키는 것 — endpoint consistency mapping이다. 문제는 이 과정에서 &lt;strong&gt;원래의 &lt;a class="link" href="https://arxiv.org/abs/2011.13456" target="_blank" rel="noopener"
 &gt;probability-flow ODE&lt;/a&gt; 궤적을 컨시스턴시 샘플링 궤적으로 통째로 갈아끼운다&lt;/strong&gt;는 점이다.&lt;/p&gt;
&lt;p&gt;그 결과 두 가지가 깨진다. 첫째, 모델이 특정 스텝 수에 최적화돼 그 밖의 예산에서는 성능이 떨어진다. 둘째, 더 치명적으로 — &lt;strong&gt;test-time scaling이 사라진다&lt;/strong&gt;. 일반 디퓨전 샘플링은 스텝을 늘리면 품질이 좋아지는데, 컨시스턴시 증류 모델은 스텝을 늘려도 좋아지지 않거나 오히려 나빠진다. ODE 궤적이 주는 &amp;ldquo;더 계산하면 더 정확해진다&amp;quot;는 성질을 버린 대가다. &lt;a class="link" href="https://arxiv.org/abs/2605.13724" target="_blank" rel="noopener"
 &gt;AnyFlow 논문&lt;/a&gt;은 바로 이 지점을 출발점으로 잡는다.&lt;/p&gt;
&lt;h2 id="anyflow의-답--온폴리시-플로우-맵-증류"&gt;AnyFlow의 답 — 온폴리시 플로우 맵 증류
&lt;/h2&gt;&lt;p&gt;AnyFlow의 전환은 한 줄로 요약된다: &lt;strong&gt;endpoint mapping(&lt;code&gt;z_t → z_0&lt;/code&gt;)을 버리고, 임의 시간 구간 전이 flow map(&lt;code&gt;z_t → z_r&lt;/code&gt;)을 학습한다.&lt;/strong&gt; &lt;code&gt;z_0&lt;/code&gt;라는 한 점이 아니라 궤적 위의 임의의 두 시점 사이 전이를 배우기 때문에, 추론 시 스텝을 어떻게 쪼개든 같은 모델이 대응한다. 이게 &amp;ldquo;any-step&amp;quot;의 기술적 근거다.&lt;/p&gt;
&lt;p&gt;핵심 학습 기법은 &lt;strong&gt;Flow Map Backward Simulation&lt;/strong&gt;이다. 전체 &lt;a class="link" href="https://en.wikipedia.org/wiki/Euler_method" target="_blank" rel="noopener"
 &gt;Euler rollout&lt;/a&gt;을 여러 개의 shortcut flow-map 구간으로 분해해서, 모델이 자기 자신이 만들어내는 중간 상태 위에서 학습하도록 — 즉 **온폴리시(on-policy)**로 — 만든다. 이 분해가 두 가지 오차원을 동시에 잡는다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Discretization error&lt;/strong&gt; — few-step 샘플링에서 스텝을 크게 건너뛸 때 쌓이는 적분 오차&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exposure bias&lt;/strong&gt; — causal(자기회귀) 생성에서 학습 분포와 추론 분포가 어긋나며 누적되는 오차&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="link" href="https://arxiv.org/abs/2303.01469" target="_blank" rel="noopener"
 &gt;컨시스턴시 증류&lt;/a&gt;와의 결정적 차이는 여기 있다. 컨시스턴시 증류는 원래 궤적을 &lt;strong&gt;대체&lt;/strong&gt;하지만, AnyFlow는 원래 &lt;a class="link" href="https://en.wikipedia.org/wiki/Ordinary_differential_equation" target="_blank" rel="noopener"
 &gt;ODE&lt;/a&gt; 궤적을 &lt;strong&gt;보존한 채 구간으로 분해&lt;/strong&gt;한다. 궤적을 그대로 두기 때문에 &amp;ldquo;스텝을 더 쓰면 더 정확해진다&amp;quot;는 성질이 살아남는다 — few-step 영역에서는 컨시스턴시 기반 방법과 비슷하거나 더 나으면서, 스텝을 늘리면 궤적 전체에 걸쳐 품질이 균일하게 올라간다.&lt;/p&gt;
&lt;h2 id="무엇을-지원하나--아키텍처와-태스크"&gt;무엇을 지원하나 — 아키텍처와 태스크
&lt;/h2&gt;&lt;p&gt;AnyFlow는 단일 모델이 아니라 &lt;a class="link" href="https://huggingface.co/collections/nvidia/anyflow" target="_blank" rel="noopener"
 &gt;HuggingFace 컬렉션&lt;/a&gt;으로 풀린 라인업이다.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;모델&lt;/th&gt;
 &lt;th&gt;태스크&lt;/th&gt;
 &lt;th&gt;아키텍처&lt;/th&gt;
 &lt;th&gt;해상도&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a class="link" href="https://huggingface.co/nvidia/AnyFlow-Wan2.1-T2V-14B-Diffusers" target="_blank" rel="noopener"
 &gt;AnyFlow-Wan2.1-T2V-14B-Diffusers&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;T2V&lt;/td&gt;
 &lt;td&gt;bidirectional&lt;/td&gt;
 &lt;td&gt;480P&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a class="link" href="https://huggingface.co/nvidia/AnyFlow-Wan2.1-T2V-1.3B-Diffusers" target="_blank" rel="noopener"
 &gt;AnyFlow-Wan2.1-T2V-1.3B-Diffusers&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;T2V&lt;/td&gt;
 &lt;td&gt;bidirectional&lt;/td&gt;
 &lt;td&gt;480P&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a class="link" href="https://huggingface.co/nvidia/AnyFlow-FAR-Wan2.1-14B-Diffusers" target="_blank" rel="noopener"
 &gt;AnyFlow-FAR-Wan2.1-14B-Diffusers&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;T2V / I2V / V2V&lt;/td&gt;
 &lt;td&gt;causal&lt;/td&gt;
 &lt;td&gt;480P&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a class="link" href="https://huggingface.co/nvidia/AnyFlow-FAR-Wan2.1-1.3B-Diffusers" target="_blank" rel="noopener"
 &gt;AnyFlow-FAR-Wan2.1-1.3B-Diffusers&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;T2V / I2V / V2V&lt;/td&gt;
 &lt;td&gt;causal&lt;/td&gt;
 &lt;td&gt;480P&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;FAR&lt;/code&gt; 변형은 &lt;a class="link" href="https://sites.google.com/view/showlab" target="_blank" rel="noopener"
 &gt;Show Lab&lt;/a&gt;의 &lt;a class="link" href="https://github.com/showlab/FAR" target="_blank" rel="noopener"
 &gt;FAR&lt;/a&gt;(Long-Context Autoregressive Video Modeling, &lt;a class="link" href="https://arxiv.org/abs/2503.19325" target="_blank" rel="noopener"
 &gt;arXiv 2503.19325&lt;/a&gt;) — next-frame prediction 기반 causal 비디오 모델 — 위에 AnyFlow를 올린 것으로, &lt;a class="link" href="https://en.wikipedia.org/wiki/Text-to-video_model" target="_blank" rel="noopener"
 &gt;Text-to-Video&lt;/a&gt; 외에 Image-to-Video, Video-to-Video까지 한 모델에서 처리한다. bidirectional(Wan2.1 본체)과 causal(FAR) 양쪽에서 검증됐고, 스케일도 1.3B부터 14B까지 커버한다. exposure bias를 잡는 backward simulation이 특히 causal 쪽에서 의미가 크다.&lt;/p&gt;
&lt;h2 id="써보기--diffusers"&gt;써보기 — Diffusers
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/huggingface/diffusers" target="_blank" rel="noopener"
 &gt;🤗 Diffusers&lt;/a&gt; 통합이 끝나 있어서 진입 장벽은 낮다. 표준 &lt;code&gt;DiffusionPipeline&lt;/code&gt;으로도 로드되고, 스텝 수까지 제어하려면 전용 &lt;code&gt;WanAnyFlowPipeline&lt;/code&gt;을 쓴다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;torch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;diffusers.utils&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;export_to_video&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;far.pipelines.pipeline_wan_anyflow&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;WanAnyFlowPipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;model_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;nvidia/AnyFlow-Wan2.1-T2V-14B-Diffusers&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;pipeline&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;WanAnyFlowPipeline&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;from_pretrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;cuda&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bfloat16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;video&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pipeline&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;CG game concept digital art, a majestic elephant running towards a herd.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;height&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;480&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;832&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;num_frames&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;81&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;num_inference_steps&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;# 4 -&amp;gt; 8 -&amp;gt; 16으로 올리면 품질이 올라간다&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;generator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Generator&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;cuda&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;manual_seed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;frames&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;export_to_video&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;video&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;output.mp4&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fps&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;핵심은 &lt;code&gt;num_inference_steps&lt;/code&gt;다. 같은 체크포인트에서 이 값만 바꿔 속도-품질 곡선 위 어디든 고를 수 있다 — few-step 증류 모델이라면 불가능한 일이다. 학습·추론 스크립트와 &lt;a class="link" href="https://github.com/Vchitect/VBench" target="_blank" rel="noopener"
 &gt;VBench&lt;/a&gt; 평가 설정은 &lt;a class="link" href="https://github.com/NVlabs/AnyFlow" target="_blank" rel="noopener"
 &gt;NVlabs/AnyFlow&lt;/a&gt; 저장소에 있고, &lt;a class="link" href="https://huggingface.co/docs/accelerate" target="_blank" rel="noopener"
 &gt;accelerate&lt;/a&gt;·&lt;a class="link" href="https://huggingface.co/docs/transformers" target="_blank" rel="noopener"
 &gt;transformers&lt;/a&gt;와 함께 &lt;a class="link" href="https://en.wikipedia.org/wiki/Bfloat16_floating-point_format" target="_blank" rel="noopener"
 &gt;&lt;code&gt;bfloat16&lt;/code&gt;&lt;/a&gt;으로 돌리는 게 권장된다.&lt;/p&gt;
&lt;p&gt;라이선스는 주의가 필요하다. GitHub 코드는 &lt;a class="link" href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank" rel="noopener"
 &gt;Apache 2.0&lt;/a&gt;이지만, HuggingFace에 올라간 &lt;strong&gt;모델 가중치는 NVIDIA One-Way Noncommercial License (NSCLv1)&lt;/strong&gt; — 비상업 용도 한정이다. 베이스인 Wan2.1 자체는 Apache 2.0이라는 점과 대비된다.&lt;/p&gt;
&lt;h2 id="인사이트"&gt;인사이트
&lt;/h2&gt;&lt;p&gt;AnyFlow가 흥미로운 이유는 단순히 &amp;ldquo;더 빠른 비디오 모델&amp;quot;이라서가 아니다. 이 작업은 &lt;strong&gt;증류라는 행위 자체의 디폴트를 다시 짠다&lt;/strong&gt;. 지난 몇 년간 few-step 증류의 암묵적 전제는 &amp;ldquo;추론 예산은 학습 시점에 정해진다&amp;quot;였다 — &lt;a class="link" href="https://arxiv.org/abs/2310.04378" target="_blank" rel="noopener"
 &gt;LCM&lt;/a&gt;, &lt;a class="link" href="https://arxiv.org/abs/2303.01469" target="_blank" rel="noopener"
 &gt;컨시스턴시 모델&lt;/a&gt;, 각종 step-distilled 체크포인트가 모두 그렇게 배포됐다. AnyFlow는 그 전제를 endpoint mapping 대신 flow map을 배우는 것만으로 풀어버린다. 결과적으로 &amp;ldquo;속도냐 품질이냐&amp;quot;가 배포 시점의 고정 선택이 아니라 &lt;strong&gt;추론 시점의 슬라이더&lt;/strong&gt;가 된다.&lt;/p&gt;
&lt;p&gt;더 깊은 통찰은 &lt;em&gt;무엇을 보존하느냐&lt;/em&gt;에 있다. 컨시스턴시 증류는 원래 ODE 궤적을 버리는 대가로 속도를 샀고, 그 과정에서 test-time scaling이라는 디퓨전의 핵심 자산을 함께 잃었다. AnyFlow는 궤적을 보존하고 구간으로 쪼개는 쪽을 택해 그 자산을 지킨다 — &amp;ldquo;근사하려면 무엇을 버려도 되는가&amp;quot;가 아니라 &amp;ldquo;무엇을 반드시 지켜야 하는가&amp;quot;를 먼저 묻는 설계다. 온폴리시 backward simulation이 discretization error와 exposure bias를 한 메커니즘으로 동시에 잡는 것도 같은 맥락이다: 별도의 패치 두 개가 아니라, 궤적을 제대로 분해하면 자연히 따라오는 한 가지 성질이다.&lt;/p&gt;
&lt;p&gt;남는 한계도 분명하다. 공개된 모델 카드와 프로젝트 페이지에는 정량 &lt;a class="link" href="https://github.com/Vchitect/VBench" target="_blank" rel="noopener"
 &gt;VBench&lt;/a&gt; 점수가 아직 명시돼 있지 않고 정성 비교와 상대 서술 위주이며, 해상도는 480P로 한정, 가중치 라이선스는 비상업이다. 그럼에도 방향은 분명하다 — 비디오 생성의 다음 라운드 차별화는 모델 크기가 아니라 &lt;strong&gt;하나의 가중치가 얼마나 넓은 속도-품질 스펙트럼을 커버하느냐&lt;/strong&gt;에서 나온다. AnyFlow는 그 스펙트럼을 배포가 아니라 추론으로 옮긴 첫 사례다.&lt;/p&gt;
&lt;h2 id="참고"&gt;참고
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;모델 &amp;amp; 코드&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://huggingface.co/nvidia/AnyFlow-Wan2.1-T2V-14B-Diffusers" target="_blank" rel="noopener"
 &gt;nvidia/AnyFlow-Wan2.1-T2V-14B-Diffusers&lt;/a&gt; — 이 글이 다룬 모델 카드&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://huggingface.co/collections/nvidia/anyflow" target="_blank" rel="noopener"
 &gt;AnyFlow HuggingFace 컬렉션&lt;/a&gt; — 1.3B/14B, bidirectional/causal 전체 라인업&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/NVlabs/AnyFlow" target="_blank" rel="noopener"
 &gt;NVlabs/AnyFlow&lt;/a&gt; — 학습·추론·평가 코드 (Apache 2.0)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://nvlabs.github.io/AnyFlow" target="_blank" rel="noopener"
 &gt;AnyFlow 프로젝트 페이지&lt;/a&gt; · &lt;a class="link" href="https://nvlabs.github.io/AnyFlow/demo" target="_blank" rel="noopener"
 &gt;데모&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://huggingface.co/Wan-AI/Wan2.1-T2V-14B-Diffusers" target="_blank" rel="noopener"
 &gt;Wan-AI/Wan2.1-T2V-14B-Diffusers&lt;/a&gt; · &lt;a class="link" href="https://github.com/Wan-Video/Wan2.1" target="_blank" rel="noopener"
 &gt;Wan-Video/Wan2.1&lt;/a&gt; — 베이스 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;논문&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2605.13724" target="_blank" rel="noopener"
 &gt;AnyFlow: Any-Step Video Diffusion Model with On-Policy Flow Map Distillation (arXiv 2605.13724)&lt;/a&gt; — Gu, Fang, Jiang, Mao, Han, Cai, Shou (NVIDIA / Show Lab NUS / MIT, 2026)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2503.19325" target="_blank" rel="noopener"
 &gt;Long-Context Autoregressive Video Modeling with Next-Frame Prediction — FAR (arXiv 2503.19325)&lt;/a&gt; — Gu, Mao, Shou (2025) — causal 변형의 베이스&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2303.01469" target="_blank" rel="noopener"
 &gt;Consistency Models (arXiv 2303.01469)&lt;/a&gt; — AnyFlow가 대비하는 증류 패러다임&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2310.04378" target="_blank" rel="noopener"
 &gt;Latent Consistency Models (arXiv 2310.04378)&lt;/a&gt; — few-step 증류의 대표 사례&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2210.02747" target="_blank" rel="noopener"
 &gt;Flow Matching for Generative Modeling (arXiv 2210.02747)&lt;/a&gt; — Wan2.1·AnyFlow가 깔고 있는 생성 프레임워크&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2011.13456" target="_blank" rel="noopener"
 &gt;Score-Based Generative Modeling through SDEs (arXiv 2011.13456)&lt;/a&gt; — probability-flow ODE의 원전&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2212.09748" target="_blank" rel="noopener"
 &gt;Scalable Diffusion Models with Transformers — DiT (arXiv 2212.09748)&lt;/a&gt; — Wan2.1 백본 아키텍처&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;배경 &amp;amp; 도구&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/huggingface/diffusers" target="_blank" rel="noopener"
 &gt;🤗 Diffusers&lt;/a&gt; — 모델이 통합된 라이브러리&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/showlab/FAR" target="_blank" rel="noopener"
 &gt;FAR&lt;/a&gt; · &lt;a class="link" href="https://github.com/guandeh17/Self-Forcing" target="_blank" rel="noopener"
 &gt;Self-Forcing&lt;/a&gt; · &lt;a class="link" href="https://github.com/WZDTHU/TiM" target="_blank" rel="noopener"
 &gt;TiM&lt;/a&gt; — AnyFlow가 빌드 기반으로 밝힌 선행 작업&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/Vchitect/VBench" target="_blank" rel="noopener"
 &gt;VBench&lt;/a&gt; — 비디오 생성 평가 벤치마크&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://en.wikipedia.org/wiki/Diffusion_model" target="_blank" rel="noopener"
 &gt;Diffusion model&lt;/a&gt; · &lt;a class="link" href="https://en.wikipedia.org/wiki/Text-to-video_model" target="_blank" rel="noopener"
 &gt;Text-to-video model&lt;/a&gt; — 개념 배경&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>