From d02c308791c6ef96c5bf8cf5a602fa70c5003163 Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Mon, 13 Jul 2026 15:10:23 +0000 Subject: [PATCH 1/9] feat(lingbot): refactor chunk sessions and cache lifecycle Main changes: - add the four-GPU LingBot offline and streaming examples, assets, configuration, and documentation - expose an action-driven single-chunk API with externally owned generation sessions - keep KV, scheduler, timestep, and RNG state in worker-local cache registries addressed by cache handles - isolate VAE streaming decode state per session and add transactional poison/release semantics - add LingBot model, attention, parallelism, runtime, service-loop, and cache lifecycle regression coverage Verification: - python -m pytest tests/unit/pipelines/lingbot_world_fast tests/unit/models/test_lingbot_world_fast_dit.py -q - python -m ruff check telefuser/models/wan_video_vae.py telefuser/pipelines/lingbot_world_fast examples/lingbot/lingbot_world_fast_image_to_video_h100.py tests/unit/pipelines/lingbot_world_fast - python -m ruff format --check telefuser/models/wan_video_vae.py telefuser/pipelines/lingbot_world_fast examples/lingbot/lingbot_world_fast_image_to_video_h100.py tests/unit/pipelines/lingbot_world_fast - four-GPU H100 81-frame smoke test with byte-identical Stage 0/1/2 output --- .gitignore | 4 + README.md | 4 +- docs/en/service.md | 4 +- docs/en/stream_server.md | 6 +- docs/zh/service.md | 4 +- docs/zh/stream_server.md | 6 +- examples/data/lingbot_world_fast/image.jpg | Bin 0 -> 1245451 bytes .../data/lingbot_world_fast/intrinsics.npy | Bin 0 -> 4432 bytes examples/data/lingbot_world_fast/poses.npy | Bin 0 -> 17344 bytes examples/example_config.yaml | 15 + .../lingbot_world_fast_image_to_video_h100.py | 207 ++++++++++++ examples/lingbot/stream_lingbot_world_fast.py | 113 +++---- telefuser/models/lingbot_world_fast_dit.py | 95 +++++- telefuser/models/wan_video_vae.py | 44 ++- telefuser/ops/attention/backends.py | 2 +- .../pipelines/lingbot_world_fast/__init__.py | 8 + .../pipelines/lingbot_world_fast/denoising.py | 168 +++++++++- .../pipelines/lingbot_world_fast/pipeline.py | 301 ++++++++++++------ .../pipelines/lingbot_world_fast/service.py | 79 +++-- .../pipelines/lingbot_world_fast/session.py | 64 +++- .../models/test_lingbot_world_fast_dit.py | 97 ++++++ tests/unit/ops/test_attention_backends.py | 31 ++ .../lingbot_world_fast/test_parallelism.py | 76 +++++ .../lingbot_world_fast/test_pipeline_call.py | 244 ++++++++++++++ .../test_runtime_baseline.py | 212 ++++++++++++ .../test_service_action_loop.py | 83 +++++ .../lingbot_world_fast/test_session_cache.py | 115 +++++++ .../lingbot_world_fast/test_stream_example.py | 45 +++ 28 files changed, 1791 insertions(+), 236 deletions(-) create mode 100644 examples/data/lingbot_world_fast/image.jpg create mode 100644 examples/data/lingbot_world_fast/intrinsics.npy create mode 100644 examples/data/lingbot_world_fast/poses.npy create mode 100644 examples/lingbot/lingbot_world_fast_image_to_video_h100.py create mode 100644 tests/unit/models/test_lingbot_world_fast_dit.py create mode 100644 tests/unit/ops/test_attention_backends.py create mode 100644 tests/unit/pipelines/lingbot_world_fast/test_parallelism.py create mode 100644 tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py create mode 100644 tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py create mode 100644 tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py create mode 100644 tests/unit/pipelines/lingbot_world_fast/test_session_cache.py create mode 100644 tests/unit/pipelines/lingbot_world_fast/test_stream_example.py diff --git a/.gitignore b/.gitignore index b6dfd4c..194bb09 100755 --- a/.gitignore +++ b/.gitignore @@ -151,3 +151,7 @@ INSTALL_HYS.md AGENTS.md _version.py.mcp.json telefuser/_version.py +# LingBot regression example assets +!examples/data/lingbot_world_fast/image.jpg +!examples/data/lingbot_world_fast/poses.npy +!examples/data/lingbot_world_fast/intrinsics.npy diff --git a/README.md b/README.md index b6186f4..94e22fb 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,8 @@ video = pipe( TeleFuser includes a bidirectional WebRTC demo for `LingBot-World-Fast`. ```bash -export TF_MODEL_ZOO_PATH=/path/to/model_zoo -# Expected subdirectories: Wan2.2-I2V-A14B and lingbot-world-fast +# Set TF_MODEL_ZOO_PATH and PPL_CONFIG["parallelism"] in: +# examples/lingbot/stream_lingbot_world_fast.py telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ -p 8088 \ diff --git a/docs/en/service.md b/docs/en/service.md index fe2a4bb..fd7daf9 100644 --- a/docs/en/service.md +++ b/docs/en/service.md @@ -45,8 +45,8 @@ telefuser serve \ --parallelism 1 # For real-time world model streaming (WebRTC support is included in the default install) -export TF_MODEL_ZOO_PATH=/path/to/model_zoo -# Expected subdirectories: Wan2.2-I2V-A14B and lingbot-world-fast +# Set TF_MODEL_ZOO_PATH and PPL_CONFIG["parallelism"] in +# examples/lingbot/stream_lingbot_world_fast.py telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py -p 8088 --skip-validation ``` diff --git a/docs/en/stream_server.md b/docs/en/stream_server.md index bcc1393..16da624 100644 --- a/docs/en/stream_server.md +++ b/docs/en/stream_server.md @@ -557,19 +557,18 @@ LingBot-World-Fast requires two sets of weights: | Setting | Example | Description | |---------|---------|-------------| -| `TF_MODEL_ZOO_PATH` | `/storage/model_zoo` | Root model directory read by the example script | +| `TF_MODEL_ZOO_PATH` | `/storage/model_zoo` | Model root constant configured in the example script | | Base model subdirectory | `/storage/model_zoo/Wan2.2-I2V-A14B` | Base Wan2.2 I2V weights containing VAE, T5 text encoder, and tokenizer | | Fast model subdirectory | `/storage/model_zoo/lingbot-world-fast` | LingBot-World-Fast DiT weights | #### Start the Server -Recommended launch with two GPUs: DiT on GPU 0, text encoder and VAE on GPU 1. If GPU 1 VRAM is tight, move VAE back to CPU. +Set `TF_MODEL_ZOO_PATH` and `PPL_CONFIG["parallelism"]` in `examples/lingbot/stream_lingbot_world_fast.py`. The default configuration uses four GPUs and creates Ulysses workers internally, so the server command does not need `torchrun` or distributed environment variables. ```bash TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478' \ TELEFUSER_TURN_USERNAME=telefuser \ TELEFUSER_TURN_CREDENTIAL=your-turn-password \ -TF_MODEL_ZOO_PATH=/storage/model_zoo \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ -p 8088 --host 0.0.0.0 --skip-validation ``` @@ -626,7 +625,6 @@ Server: env -u TELEFUSER_TURN_SERVER \ -u TELEFUSER_TURN_USERNAME \ -u TELEFUSER_TURN_CREDENTIAL \ -TF_MODEL_ZOO_PATH=/storage/model_zoo \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ -p 8088 --host 0.0.0.0 --skip-validation ``` diff --git a/docs/zh/service.md b/docs/zh/service.md index c4adbcd..51de42c 100644 --- a/docs/zh/service.md +++ b/docs/zh/service.md @@ -45,8 +45,8 @@ telefuser serve \ --parallelism 1 # 实时世界模型流式推理(默认安装已包含 WebRTC 支持) -export TF_MODEL_ZOO_PATH=/path/to/model_zoo -# 预期子目录:Wan2.2-I2V-A14B 和 lingbot-world-fast +# 在 examples/lingbot/stream_lingbot_world_fast.py 中设置 +# TF_MODEL_ZOO_PATH 和 PPL_CONFIG["parallelism"] telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py -p 8088 --skip-validation ``` diff --git a/docs/zh/stream_server.md b/docs/zh/stream_server.md index 3469b50..2342f16 100644 --- a/docs/zh/stream_server.md +++ b/docs/zh/stream_server.md @@ -557,19 +557,18 @@ LingBot-World-Fast 需要两类权重: | 配置 | 示例 | 说明 | |----------|------|------| -| `TF_MODEL_ZOO_PATH` | `/storage/model_zoo` | 示例脚本读取的模型根目录 | +| `TF_MODEL_ZOO_PATH` | `/storage/model_zoo` | 在示例脚本中配置的模型根目录常量 | | 基础模型子目录 | `/storage/model_zoo/Wan2.2-I2V-A14B` | 基础 Wan2.2 I2V 权重,包含 VAE、T5 文本编码器和 tokenizer | | Fast 模型子目录 | `/storage/model_zoo/lingbot-world-fast` | LingBot-World-Fast DiT 权重 | #### 启动服务端 -两张 GPU 的推荐启动方式如下。DiT 放在 GPU0,文本编码器和 VAE 放在 GPU1;如果 GPU1 显存紧张,可以把 VAE 改回 CPU。 +在 `examples/lingbot/stream_lingbot_world_fast.py` 中设置 `TF_MODEL_ZOO_PATH` 和 `PPL_CONFIG["parallelism"]`。默认配置使用四张 GPU,并由 TeleFuser 在服务内部创建 Ulysses worker,因此启动命令不需要 `torchrun` 或分布式环境变量。 ```bash TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478' \ TELEFUSER_TURN_USERNAME=telefuser \ TELEFUSER_TURN_CREDENTIAL=your-turn-password \ -TF_MODEL_ZOO_PATH=/storage/model_zoo \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ -p 8088 --host 0.0.0.0 --skip-validation ``` @@ -626,7 +625,6 @@ http://localhost:8091 env -u TELEFUSER_TURN_SERVER \ -u TELEFUSER_TURN_USERNAME \ -u TELEFUSER_TURN_CREDENTIAL \ -TF_MODEL_ZOO_PATH=/storage/model_zoo \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ -p 8088 --host 0.0.0.0 --skip-validation ``` diff --git a/examples/data/lingbot_world_fast/image.jpg b/examples/data/lingbot_world_fast/image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..98e4431f850eb3806b73fd34e1a86725fa2aa35f GIT binary patch literal 1245451 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

>D4%j+{ruGKEbgmkX#o5@KWh*5|Z6*r87uIg> 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

<9?k5D;0E0 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 &6CKyY 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 !$++k}X znE6{&+LX|m z*e+4*caswrdE-iJ+9S)93ij5yi8!7oxi%&te+%BbFsRC4Rmxg_d^o=N7LO0F)=J+7%cTN~d=Hen|wW&VS3nqO~ocok1JC0I}~%&+mMG{e#*HWbg0(e%E@|^E_+q0>OhB zPo0!Nc;ixC&pRm(##VbDD)9KW>N^(A_sCJQ?WD{+H(_>31rI17T^`<{v|np3bf7op|KSs&~RGXW$#(bHScK$NA5e7~zca zk2b=AtEebnovMD6%!xEzuUvf617ioe>I>7tJ$Fq4BqB|n6kru@6=ot-(o6ylubgwG z881+tW(lww=V=9Aew}U=oKjE`d24IyjuKvhxU0ro(!W%FN7MFA<%9=l-q~2~`n{>r z(kgq??bG8>iCWrjII55T?Rd2FgdP8Dh=<#-SW_q~YllcHSJ-+5EzGUzh55BD{15wY z2_#d$=%{WGQ1{ZI097ObR1wpp&!Yt>_Gkbe>t;ZcBcR7Zv41`y-^$#Q?d%WW8r}#4 z3ffcxV*4KR9-~50e(U^|cAXq|APSa6MZrjfiaTg*HnRk&`4^->&xaFO9jlp>0WIk` za^ZTM(FZ-(wH;NS_)*@3Q_}j$wZku#Kt50@NM-Hu<55hsgr+RXJ)kxRGY;c1!%J%O zmdEp@ugRJ&uAdYzYy#BkFCsdGLC#+5LQ}1!r)OVhyE7ti2pva$)^rZV+cuu)>qN}) z02>jYygHl-h%Q3GEl_zdvQKZ|lRCkgYa?SBBdr*K7dXujwGtpcN>6e*!r{i9wQ`jZ z&bD)-2THInwSfJ;N5thz(ZRuiY*OL1l`jv}(+`u6AIO0WQ0)|y6XJUdA`NksQ!%gtN}4sP#i__K#_X% ze%C{(u&VD(Dj@rs$qKh-H6+txfIMg@HjrD&;w-(0)Sf28JMLi__b_Rq0pXIkRNMoLYP3tBq+-=uE z8xP(Iz-K*@aH7CFUajhM!TEuawOR^)s6h&qs(_wEUMgw;0+taS>T`u;?CcZSAN74G zQ@>)y!coo_#w5?b_ShiL|9+&CRiAT#$erz;@Yx|>faKi;@zOW1HFHyma6zf5I_gY; z=%f@2sgvEyHoWZ?6nub;AISZF+nzGc;@LRX9O8|@_q6#xfMAu3Jb!k~y`I*k54AsDR350v@^#0=S?#rG%ez$ya?EaYszvG&M zftoMaiAZGME_yr4aH&X}0#@SDGu=yS(I5?J#HVt4D}SM4d;9@pJWRALI03H30kEUh zcMV|Cn5lgLA;)73G>R4{CQ#sfeO;rT3Q^^#_s-YTS7$FnaZ6Dz;<ZrKw1`v%arn`sDuTSshTz)=$2wbKn7+j|8|sBOz}1Bv)ELq?7gu^In%RE z-)K!Uu0SI~m9u-dILjA$if6mgDNNbDU7|IA;R&I+GcD5E_%2tF8vvv-zyGP;aUmmjGDG!O(ndZA*Kbc82SoufEhyV-8n578`qo=1!YlgGl zIvd3{-j-&p?*w>8FBO~U`KVNYnexo{`i6}g2Z0{9N3(yIyxbf=V7k50ZU1gB>PVvP znw&E0R6=nTDbHO!xOP^+Q7bUA!wkT}JIeQCCbC|Zo}nyId5H^W%is~17U(tl6!nM- z@1&P7brpt4MpE-N6-Aza7*&14S<+gLmcB1ina`|Vdrnr$BE}STP47x;NWg!PX2s}G z3-2X~1EhXQ@goXH1BEbpgbdNaja8JH@mx0{7vPUh)4O(artMciK)*VjeA6oIdYNwj zi?c+bBMZm12AwKp{cF?t?;r$y^D9pbEHQ&%saB{2T*9-!{oWKEQEpx$6(L$=6aCb zmi`Soe=s21(VyMA%~=*_kp7K?%oT%WeECiSg$ zP|vV(P9MGXAdjlNyoH)_dM~MHIww-EPzD$Ols=J$G<(T9+hj!r z9CU5<8ckN_^?-=($aoFcx|@mC62#p))@_XJOHI)VFo;WN2wYq#55!F;WxoJ?DS8mV z+E(Av1%V@)y&2!!b!mRB1Zq1q70=u{K(v7BemyhB;kl?|ysGb9-`fhg-}nKe$R&NkLd`%#*`7ek!-UgNCWi__Yc7my z%q|chd=lTJQr{|YY3ih@LBv6a3IlG8Q~vd|28y}&fTF4L49CiEbd7q4n*Q;D>?!pW zH*V&9d<-&xmvV8f4tR(eyljCtjRp@>AyK)7c5S(s=RMYdE;PsK`>seWPuLw*5{IM+s?Zpzt~V* zjB;t@C;M~7QD$oa!b;Jgx&l+40!OL~R2D4*Y5iuQr`r&z!)=hM;gqKV?FivC@n_jy zJkA9YV%3oe!fZ|Vpv3R0@(HC$c#nW8yY99?IFAP#rGjMt0HvY)+okn;=2x1&8T5um z9;}$3@xF&iSrm*AA@6T5V7_4S!A(My2rC0iSpdR>2tqO{MnXc7dVFHyd0zI8s*XnilZ1Owxx6hRJER$!9%nDX*)RK57e4%OuJUghQDE!pn6W4vo~ zh@*sw7$#2Js%w4wKeKXP&Y}H;yn-q#Hs$gZcnOtFoyzy)zKRM`(9^2(@tlWsa7l74 ziePY2olqRY=Y69Ee2+V9u+W?umeIl!xHn@jA$djce7Kc(f!XK_LL2=RYq$1U+jP;D`hx(kR_nEKL zGc($$42q?0JdOHsO%iQ#Q&OqJM|~$vg_k1KQI<|C4~#lr;2J9`aGMTNgo1&A0-_>H z^0N5v4AWS{wS>ePLpzrGtxKEJXx}{0M|aN zMDt4O4cmFKT8U$Xzfz;XH}vbLIP?)~t1xZW3KUl5vawM(H?211M$gYekBkL$-Y4Ji z;J+Yqth8s{Ix5lvc0!RBcT!=M6QLUtT$QDI#`})!|4l58Ff3-$DUu>5jaBv5V+XWP zNL1AK$89Ysi(OahLGMt*;YeAFL52Z!6@{b*$G|kx+2^S*5xXoJM;0%N7Eykud^2S< zS+$w|c+O-`F8xV5Z&b+r)Ix-Z#dS`$o~_Gd&Aq^VQLqbWwmTL!7%7ATqFdOFmB{@; zl6KH{`JkAl|F!Htm>zH3~b!yNSv_x}O1K6gEMtu+YdCHJzD@98&^6cmOM(TFG(>MXTO+0- zicWVDJ{LSB$gHDOYOAb>NY1x`a@BN_Ds&bgPafbwIYviPTPAhYv8A|{A33=8oPVfZ z-}hdSy!Y%B7cRQW);GM`^zExMo;)|2WB6q*Zn48h5YO%2_{ittu#Ge`|k7B(9i@=C-_rzRCHFfDhz8KwHSfKyNHaE=0yRMy&y`7asw{jz}PL+SZYZ^@fKc@|GYV!4{b^XHvu^p3B zaq*~|S5aY113+7#mlT1&3>>caTn?gCKP8@jvz*QpP;Da1QR>`VX_v-XbY0+k2%a-f!JwNM4m$0p4hJ}wkw^`q7-Uv?`+OtJ;)($ns6aPZe~qUv;tpR z8u$qFz(e^D-o%KF65XOyR?M|dL-wIo{E~QHBt*am2{qwu?hXPc)y;)&(VB4ss<-@f z6b#!Ba${Eo^bC|p6|C=VRjzy@r@L$#xJm_H-vl|jy82L)&vtqUTP3YU`6yO?yGK&= zldSf%9HrW~hh$lWZcIT##aYfzlmp>cu=CD>04~MnQgKq)E9ZxR(!3m?;3-d~1+xRC%a!CW!k8S^0TAmvNim*6^wVv!8{{_pYtvi}kR)>|*KCpdK zK~+G90l=5`$nnRVr|Zg>hx#mf*d3oHXid1w_<3F=%27E44~u{|9}|%^+pGtBnog!s zJXKU~We%p;;{Bjrm6=k1g^|>`@ZxxWU6|`+)nmLIu#f93TqgdQg`Mq8O+r3C0__QSAx;wuoMMoK#MxT`m))$THkcaVFGJV+m|D^IR9s53lN8o+)k5Ed50Va20Ysx zzfB8=l5iBs%F3j^0-S!c<}<|a;9P*j`a^(U<8JuianzVum;}c{40&%VO_dLXFhtWn zmjLO0FuOX2X+?{3LMwmvD)3aAc)IyHy)RQl^&BY3?Lc*MLMTS);H|}h!^F%ZeJ)%f z<;{&UP!P`RNjrx{RdYsA!i}?eh|sA3$NE37!*|1D1MpG2_KfWC^sM26MIkHm=ic+g zLv-MA0rLEoe{RJbzUaKQ3|Cn;7oelIyeMxJ`V{~7JK!2EfcJgNf3mq?;2OB z(5vy4wt9x0fdNU}jCfG+#LxE)v<0LG*VCP(fZ|H%qM4@LwPVr@a6zy+#W`O)QWUKy zsRnZ_=v1U4djQfuTpUq6W9##*hJ=T4092+bFpg~Sulk1_%_` zakv?=nKOEG<4+0NVHiMUEJ4d`@LQO98o@RN+cP(!ain14f`S4Hs8deN@BH0IM(*HHQ}>xK<&unJ{p+*Ke?B^AuuQY z&q6e}dv z*>DSj@EE`z@`@o8F_FU*I2?ZihvDa2NKp#v>P? zHvVN{@4+Q4NkOm>!u4Uq9bV3VAQfT4S{9j`oUE^xBjO|+T$V|w`4DV0%p6bfv&zd! zB6WqE?-D#LDUq`jQeD^b?S7zCE(4mWzR&ghzIhKnv59S`E~E(-dsU-nu{!vPoOA)x z3*aF1Xq_&1%LKkMGMNfXn! ztv3GehZRXl^j)u1_4NvAT&J?WQCL&(V>j>w3eYp#o#n9(9o)4zBvbc&#&hJZ zeU6$(yg_aCy^7UK^1k;U&%dZPbFT^(tp-fa99Pqx7CMh{H+r>9om?W}zYh$k=TTeb z2pCVmVX)VL3*V}qX%Y5*kI>p~_pbl?8Sin~Q?x%^hCAAiF>u2OnASd$9jQ%^ zb8FuA^@Nz_-+JF_6zWRB(GkLX=BhjcFSUrkM(PP{LTM~<^=1BhocUrvWnep;Fn0>O zH1gbg6^fL~=F~+Rw?6c3{4!rB{@UyZ& zm0g-~OUr704R6MUdiZ_i8$Y(+A%W21Ty9!=l7B+L=*H-og0y>9{O!CiIJ+C9O1 z6c02CtGokN;bX`pO!8w(zeiyof0R>~_@yq1QB4heT0dj-1_9Ute!1_z~HW8xzin zN{St9=z;tUbql(B}#8_>HLIz0udfT;3sjV;gybL2Uw zJXs-L&+to{9l}hcR|~H4|8Ap9Z2ljX<=`!?E(nKGOs3lpjKJQEj|=F$0X>DX;*2;l z84EZg#r-r2%4rV&FKr9s!Aa8Kz@O~w>|DU*Nojc3XYA}V-bAwZ+GN)!MR6)#|1$nW zkjGMf=g5>*UbE4;0u-t6*_`pS0?K07QX#zRXb|H~?KgpRM=^r=Ho;xME&R_Hurv%C zLm3Yw9R+%Zr$Em4tEQmhh=0dF?a0dmn=()Cjt7`ewlDY$9VVdH{FQpe%O8p}W$9*a zpstZ>=ov!N8SQ=Wg5~XxJZ^!n8p*K-RQP$~?1fwf(_Q5w+G3fd)zKFJ>jbl4Q+I*ltM4RE-4C~hh@jI5ju#Zk-2RhvNdO#9 zWNWzhmiEUKEk!jBH2xVdp)@TEjIawSooUIpYj0hA;Hz`4hUktTM>^7Ra?c+A71EWj zYQdkwG|=!+l%L`KU?KjBd=sHYU1JnGYjP9$Qw0+swt#aj0tZ>)F}|pfca)0B0j55w z8>&a}p=sGrT~^s-CCW!Xr33)RArZ6uA#u~;vuu1TZB*)3f6Ex5_5fF$!w*bBbJns? z^Qd()(H)z~EAkxZ?5K*=7C|Bfa|tx}BHaJ~@dX=2B+o#pRF8bbKY34IWF2ztFW`oR zJsqZ5n%o8f?s1`*$jet%AW&35m`-)Qr zdj%T9n#rnm&qgh34#{q;#DAzFF9s%z?4BLcUyMkMs*^Oz#qjh9ZLW9t88j_R*qZQe zt~TAAVvn}HD}!ziyls^ZZOooi6D3cca6XSDJYCSf%*_&B$Py_a$^6f@HHLVGQugmA z@eq_}NlX~V(o?@Awb& zmzu}$#FRT*#ZOSccG+OdZg)b2gK!{Y0wDYzSt$@5{w?cuYWC4OYNUjSvYqBPq`ENC zjXKRoc~cD&Y0^~L$tv$~J-4ndeIk!IEnE!YHds~&_{JdDudecB+dK&qk*f;uaZ5UF zQeSkm4q^2N>k*Pd$zdmUmCAG;dV}Yew8gOLn`hD6u{t#a8iamO^Z;%?J*Gop$ub&hlroE(kDcfYGfoE z+F;_JN)x8r#C8*3fVD63WYC{hTT-dme^7Q3OzKDpx6VaH5Ivd(DEKs7(=G0!c5Q(f zkE=_V$2JF3+VYtCNnp&juq=7oQS*<8EhD~ez-Y}IJfxe#nFp6=|E<~BnFq7qDHb&B zPJuv>@Us38Zb|wN)SoAm_7r^zkhL&_YlL;CU^|irLSW%$IDx8-HG&2VAALryp5ShL zAVop*x1dB<#IC}d9huT!bVU(d4S6GqniCz6r=M}x4mwa?l%r{0P2vhaWB%2hb4gBG z^9l@h8OYy&QU}@8RKmdZIoT$Sv}hb%|NgXtb^_Rqtaifof1sm zj7}_!KyYj>rHG`MSnD}DGAxy;4$ZyhZOouCy zgENVaL=-f0UlUMr7^rN&2bLOm{r&`9*S|Eo(tl%~d@{?PjN9-D@Js^@rSQs|OQH(6(^#>F6vz$tcfEp?vS&m_Grnq{geDTkHXAr>hsj>o=gKjF0 zdTmsNLbf#+MS|?U0iH4vCQ3>n?c>uUu<-=+>y@J|!lW!&Vsb+N(lyWAlWcZ!w-4o7 zq5}ft0+Z-nCKOO}uD@92s%LwE8n4`AhNt5XI5nDHj4(uKBpU+oNZ;^dMNej=3LSZ1 zGg)OGsZyk@A84f!CxNtoir#MJ(Wn^1`2xu6k*0+ylOA<+T?q+CK$J_+%uER65bR{N zU?Ul0(QAx2lLE=f(oyBvk33_^lA%))`@CvOZ>SJyUvO2q;`#n8W~o@?fzC(-&rDgu zBy=;jY7C^MJbYiu0@I8JPoeZ#tTZX?Mk82zGDeo&;|_-d)Lyv@`e{qe!VC+-U~RVE zj_+~O)}BVoCVQs$Oca##;AyxoNJ%)qWhGd=6E?y;j69w|sGclo3PeQE-6_62ISa3{ z{4!}XC!!(4w)Y8V_wq#BbuiwaS-a$eyZj1@*suIninl%6-%X*+|D2Y@ zD^OY8q=m}D7`T0~+c)}hO0qplZ4@awU3&X>76-~Q*ji+$!(nmW{;99PrS%$KtB%r8n z-Hrn(&yBkhWqH#{X$qZ1r5Y$PjV9jAPU4zJI@z9HDrVde3YpB(XPjVmjg>DA7~YqZ zXDrS?sK)IuJ4X!u5|K99{RU3FiRIPe23i5W+P}DB7DMdg)W`u`paLpNC~$(Lvy?o0 zIq0E85Lki{u=D~Glt|PuMdJ@BD5G)$Z(8Wm5&?QR*a&t|Wj9!3D5nweDBtH#R@&G2 z$;+n^d3ssO;so&~1xL+=ZOdTEhoA0qiO0AZOC;eIS8Ue2m}yH{9Kvi$6|D|bB*}-Y zrn6F=#zft+iFDY2)Js`Xhv~jR(?3O(w+1!@53BEq;Tj<;s{}=+uno^}I}q?Kq^zfx zD7z)x)gW^#a2H7Jse?{ohpzv+9IP#ao(!$I<4{#j7DUQQ_0+iDqwA@I4&PgJdYk*2 zjFbmg7FHKhKy<*%zvO%haA`Rrv9>@O&B{dmu<90TpG&lC-2$R6Q!frB(TM)D^df#& zl4yB8k#9i+#WZ+}$epBpER$}2xi=-;)0lke)y*n}GGZEwy(+68S*o0|iIhdp(}AZq z)=S|^5l9SJ`RY;p1gP6;pQp4B6ghu1wL0h1TH)o+33JOY7ad0lmZk%;s zM=BL6*)IMcD(4kcd;?;c`JJrrTzei9nVat(Y@MDizYd1}w(AOJuSbh*=oC2biQrT8 ztgSaJwXR^c+lmyZOd#NrunRte#IjVm7eMgv2DNtN7QKcu>e&FBM&e7tPYM5;fxi4N zE2E0@VDYwe?e9o^7P?j;mJ}czOI(o&Mn{it}4^c zHG;kHB-UI(b#3hicJ!}S?XPhBjnw2&8t%w_#Ok_Y<;=9*7Co$9JuXE0zpA{_f7=I5 zEUUKih0)h5#>u&&G#->YkSkuW80AOHx8C*(Rb)qbKw2eDS&qDxiQF@hHanF^-}fZ> zi2~b+)N)iSKy5(sTJ!iOp0;}5g4nG$`Zmr~Uhx59eoMBSx<{^&2y(wuHI(M2up)n` zQ$4+jt*p(Gacw7^vHx8IsZ1hKItlTRGgS0BsX3*3~X}rib<#@S5j%lD1 zCing;{V|XEqW3&7pjBWvdAAXECl=S501_;XT@FA&zc}}Tr}iTc_5$n2W&RH^yFwu* zMqTy7*5U&wy_d5ehUe(>fRoB21 z7GVLf<26yvXKh>I)28RZR%M>GLx;xuc~IS~vF*7z^b<)35JN*&_Q>M3tS6*GXlg?S z-=gH-jC*0s#X|ts(t|2cnn)Z;6{aDEbjGP|6S#fP7V096?lcu>z_~mj*A*nAo7H}- zfGm}tzck~>NXo-=Tmw>}ptu&T7OCZ}>2>)61P7x00qjlKxe#YP8;Mv~<@HxCv*O=^ z3(95tnD56)jqeEMf{*ROYwU zOLgz`qP4Vc#EQ{TDsBT-AYEVdyWCfKf8rS>B+p+`@g#1!MtM;($i?uL~7*9Ck1fmT3T^wN}2l2o*4ao$`F8r^Xze_&xlu+FWHMWiL>=Q^S4gNQi+ z?+Z1=_T<#E*}c>-knJ$nr;RgVNmS!<0Q2Aq0b2nx2SasGCr`oV<;>RUM=ZPmV=QpVIElGc*ZK0M#6pl%Y#uJSn1SO;*veu5U^t{k z7c|`8KdZwpr-^@r|5br>!(Z9JzaV?=^*I5R%|do*+P>{wj4qGW(}58Hca&A(`4e6N z12ZmXzs*=>M%Oi(d>B8Xr0~`F-Q6z7CQkXON%ISD%YN3hcy|l`BnaCSzC&6wJ@G>n z@_=q`X0w146D(D*1(ByNvWRYQARVdDkgQ&(4{=azAbYhy_dyGU4=A1F0le9wU{ZQn zJ2#gQnQbT2X{?)Zp}9qx!ujhl&#EF#sBQiYp2I?h(wsg9y{*=s?KJXgkb$020ih?k zx(EX(S;r`JzrdIeoJz$76#mI^!D81JgGq#dN~WxF1?$^klG{hWc}ngNPy`0B*t_R% zRqh!gNVZcRR7_IbwnD~|AV7Ys`am)#+hLD>>4rW>5^@NcZWWwnEk0^bjCF%5*}>$l zvQ~k$y#*sbJb}8VFSW%{{yQ{Qv3nFl4ry|f(QVshCv$A=xJ^-h4yt}w7^nhm5TJnk zc2E_JY!@*m_owp4y3y@4+4jvNwzhA9EY@-Z`%+s*v^Gyn&ft{0jkU+~G87h{#!q>c zmH~sr3e2!(;DNbPiz%q!MfxF103{Ly;tnLO>U(TEZx0#&_4MDB_hFA_A<(xTOtRDr zL$`ijULm#bZ2EuLF*e>@+HYO>J-Vs+2+diS@g!UE>(m0{b|iPjjuVlAi=A|sQ0F3x z?>50)CM@qTtHi7+|B}KrhDNmdfu`lLl?s3pm7m$OcnwAyHYw5ZY)UzCni}?GEKvmO zkD-DEw^jHTh{z$T|PP~zQC-Yq~;a5 zT0p{c&`Bjt+naRyFkvEL{>D=Cs%2VTTGc|InErq4FbBVkO8q31 z0N}9c+CUAFC&|+BjVjq|FbjZ%OQBH)+_*4cVLuF$NT`xQEf=BW@Q(`?f-G^KCaBea zXyyi+7H7O2bzHC#a|sJq57W~r{p*PO{_XAew4*HiK3!M+pT!KNF% zi#_vj9waI}6>cp2R|{Ya@Gqnz=OZoN6&n14; zdIFFbYXh{}+!O@5L-;3%35nw4dPKhsYyJq;?+ZI z2CZ&QguzTb+^TRHy43g=bP}z>yylXaZQfnR+cb{(c#(*ai-~(H zD#pWDfv$q*II^ezUD<1upE(~{<|}8LUj+}cp*x1A;UBP_I@atg> zMxi@POoXwK-e4&)zwOIu9uJn#U3sU+qnnc5f<8Co4agX-SThec-=|cKc@KFQte88x z)BP~9#iGG6iX}=vqA33|p@u=4N>H+Q>Kg@1ELtWI#Dx_<>JAh%P58~-`~FJ(fpQPBkWbEbT$ zB-v&;HEQ^*On}-TyVz71ZUv(+i~jG2RH?^yF`0WLS{832=lREO>ljLU;R19a4;UR3 zRDoIUf*}Gry{^v2=IDs4D6=M;*p@>xSfL)igCS_+;7`)&NImMz!|Zg4cSZ=6A#8w1 zNSX%J1qy6n5mg}cPy~KD3r+q*vM^k`nhc9ODFgp zVOvdV%D^WuM-2QjdWV;jL5@=#>{OwFOZSGhK18aLv zC7=Sd)Fe!&sxV2~JQe+CiwG*-+#E=U5IhwD-=Bbv^K$qhnEJCJS{sI*_X$ZSt3XAj zKE)o*;Spnb<7}?U7f2-#+@5WjBve59NL_K4tO^Go{|F#O(eY^RWxn4|Zh9q2T1CJh z*Fz-P0nUW%VZ&Tl>?`BylY|q+$kWp2vxIXa&dgLE6MHtJ3>hhq@=rOY3JN=j=2wLh zN7Jp@dy|GP4c^KGRetTaUc0KwB7)JaFMzZT6>Xcf;zhoVxfLx^}{G2u>)ymIotUyva;-fxXRpKep(PuW+rG3B(iDsU3;^-=@qqx|wRd`V>$e!a)Y6>XXoi41qwxg>3CYe(P(*2yJS4*GRiy-M`bwZL0 zM^2)M3ZG@g(Gk@y7IpG6gC={$>iu1A?Zw5eJ*C_@47pE$rQHnMWYwtG#wM1mJ!WjK zGPeOq413b$-d|~psmxAeE9EpK(~?+_(j1Z%WU{I}o0b2-8P1Iv0%giM7m22Yk>Wc| zOI3Yt_|#LNNAG4eEx1ote9?0Ap5VczSK55FSRC>x3>H(ac2~mO5x)RqZR~p(v|sky zdvhmKDG6T4`eFUxkP}7(nFc|k-q<1Q9|M1b9`tLHaGZ8a2K&x+dJNN7%7fUc0(458 zGgkYd*^a1+wIy-^MZC%1h-FE46zAj}0-Uf>GeK{tueD!c<7s)>Nvgu;m<`hj=VXCm zsE*dbVT!N{Ow<<1#XE1-Ss>Lv~`)Jlbv%6uqu!v@8atrCc$MoZbU`HGq=zakGfcO<2iWptsgoXPFxXcPKN1 zp*XHoM9b|w@v3N@ZND0=(p#5;o9D{|Hzo3sBP;v za5iz0vR25tkcZfIq?Q3 z$+1w5Z`wo&@aAB?*+oJbivY^zrmJCS+SL}6%SGQTYfXY81*UaYM7ELzgrE8eSc?8I z5sOU~%|?TRkw}dI z(1M&17g!~Mo8nBM#B|h(I^{WRR&$I>B0I=QgpF(LN(JkKg)C_!Yl_9J@}8+2bs&G2 z{j%~?ZV<6$P|n|Ln0sHKN|W+l_JG|m_6|RKT&hzF55m=u2=GAA{*vk)0748!!T;r-}Rq^5w^~ag)Rs*2{9?oQy_^yfZsd`X%{L$ z!Ny@eN(|mP*MTcCSx-0J-uFGSsp2Nh+Ir;U<83*H5MnLEKmJKeY8pt6)YJR8u-wVZ zy7F%mN84!!td4t8h@;Xqc%C%KlCgdXp^nFySpvyp} zZGriV^|CSus6T9&H$)GrJmt$LLGPkhf46WGoSqNHW}tfxlOrffRly)Yye=QE9VQJx zQm(vUEtuCfi)E))j_4{_XInGAN0JvF9oKGBjfbgu2eoKg%9EoaRf&)+QtrTV+P+kH z;wN$m6f8eL#?VduOq1Biw&%Ou#g{Ss8W1m%VANGNJpQRV{8m5?V-LTnTo!NWpcB0M zZvXO3pEIsD+YRtvGr)saUVyCuo!!3#^Ik^q-l4YlWJ0*KMAIBK+YK-1MZtcAZ5)Jr z@w_NC2+qkz-iu2YA4dFgWLnKgDoOtRCw}ptxrc~bT z|4Pg5bT$x$@^~@!j&Xyxco&w|}6afC-KT>oY*6631bB?8=ep(j#&(dV4!)tn=Rm z>Ry#jjFuo3yX_UtY2iNdx%P$o1Az=GHH{9XK+OLDMr|m0VDG=#HR4*eDOgY7Po)Y* zF!No{Bafqab!kZpgHA=2U!0G6-?f3{S9!J6eBBjWhzDh5NwTKOC|qup_c%+U6*p(Z zWf#|f!MSyf|KZK=5$ntXKnEqhan-)P$BL_l2OK zg$#Hf+t|14AoO^k_!!>xKmlnvz9;v73D^T}w20RGDz6st&++Z|-~qs-hQ!AvzErP3 z|GP-bb`?z;p}5Fc|Dy8J%}4DQ*UgnnClcB%yubs;JI@%=XFx6p9VW@X`ii(pF0i^S(~H0LMz+h|JA7n(hphHFp7KpWMi0f7S zk!k$c?w02&^%o7Fs&CrLg~p!OP+#{FmG7H?c4HV4>phW*Tw91WZTu^Y9uTcvS_OYo ze@M0sGS@oTsMhjeC|SHyRtt0a{Qq+$$eT$?hBmo;WEx$T>m}i z+SsEVBkQli+t*=D1j(xQYuMPzEBT!}x23m7rt9{=|Ba`cir0RgCWQigs2x6hG4~M% zicLSX^S!6#g6XL;0;a|pPkir@pS68kyZ$1?5LoXJ=n~a%Zeyea=uDsKu9`5iY&MbA z!nu0r$gZ0^pv^1}b7Q~YTq7MRZatvg@1WaPftg#FoQvLBz=e%zt-k&ZNsH(qcy@pT zoZesM{jH$2sjhYjX4S&jAOD;_1aG9K2Y0X&%nF{NXo|( zp3wh-k;DCPjb#b9&kPVFvrE8=C5$h6@VJla5eAonkT17RtVp~;>>_q#sW)C?YTStx-v!CPUM?aKB%>QqlJVJSjFMdN>$T{)M#c0YLm zMxi>W0S-cSfUTXlx;MM+E zy6ODdVw6n- zqfp$q9PNq*S#PGh4Vu<(-y9$P>0mz{OIFsZ1yLSIICND4ObQp&)f9_^A3apiuPyy0#{IHYY- zV;GyiMGY68z+OD^)3#eHM=r|I)?9ETJnC$rHC(0qJ`J&@a`969 z931U)GDQn?Ijm6|>E?q@s6j6*J~}ZM4zfF;U?|&`#|0N7nA1WSW$>tqCCda_*J`VS z@kXVl94q~=N*QGdSlc7zZLuf#cX7rsw{qOaC573E@kS6}?b520 zN_9bV5u5)A?^qs%ws{R`}+hqJ4nXWXj10G$dqB5mI! zVp?hOR%0t*r1rt-|WzPnlyY}Y<8hBOzvq2z!T7-!Zy%S0% z(b@(-dM2Ke?Z%;)zy-_GyJ5%Aw6`P@Xq_y3F?N~yZwvBYtPmfR(Tv57?+&Dh%wU9HIeXk>%d2Xf)___&qTSQ47sG$G}xT6 z#){_}K5k3`OqdGSm*hypa@>(SG>4+S)05h2f#tsicmix&@jprxjfr>NBtmY&K6^xd zG5;~<#l@o?a2jy#>#(|kiq5ldX z>?@+>X{}ka+H?{+DLP@$*&a>g-||Ir%I(xiH&T*219t*3JA{NN2+}RkK24?)_VD}p zHjW|rODb1BV2+9<2fs(M7d9Ts&fFCU3T-J5zz6_E5BBIN2AyNyo>}fCTmC;R1HWo% z_Wq{))YUDmA2t5uPfLu0sxHFd2&_(S{i%EA7H@lOPvnE2zLB+3H?jmE6i&bqdDAx# zh^+vjE<=G2wH_Tt62T|Goi+j|ZS$))@N(41^WaU=jqSQrsR6 zjcQ9Qlqs?5XJ}=RkR`no41Jvrgo=X+Vn;brhwNB&7O1eZIHfKW=XR zbI$Aa9M|Kz?iU-Ysx7a60@UbC;QU$xK7jxK!{%tU@x4{PK?1=?2`4tI;4jiMuFy!3 z=@k)x*o3Ta*vUbBnLMSOVRl+N+293=02?1TalhHW+YN4YARq`1nfW?)f?e@UXkc?E z$Ip5+KJb7!$AAEV(WfgF6_X(R+atL?O5TY_la2EL%r(j?)u>&%%4jjwHo%2mXhC08WCg=TI+RE6O9mQYeQyinLAE-; zBxdLA&cd!B_4$rzKcgxywUbUZ!o@3;9hVv-Pbs(5k+6e>Ux5ALC9k3<*WVe#38!Po zvoq*aRpD?~uuL~k|0B~m)~Q9UEW)XO{S^7Yz=k~t;M zCSG~lZ6>~P?it~T_68v8|LyG?V1+qfWuU^quG#gxvKOo4O@Ip1Qc~e#Ohi}=24RVU zmo89K!fE}{-I7Zj(2O?f_?HwFEUb2kE)w9C5Ah%)qvrDN907|W7J!xjbT2NLY-YUx z7Pp$s(tv~BO%|^L@co)$T{5!OpB5CANtA+rgP6vt;3;fGC^$Qe2!7{@S*~mZ1hn0g ziJainAGb3m4a-x2b5~#WNUZiXPvuv>m;_6Vbu;6(+{_nxr&hP{k#VwSwBRJD?ZA3gnsp@F$H_fVZd)k@cf^zS_qJ)_xlE% zc+=-C6zvH{^}4!9a=p*f7DjPZMM~aQm*m;|d2F%do~N&9XbzpNSgdrp8tV{PE2@Mr z4{j3>4z?~BDoOyo9#+&$&%l`&Es##lOXhlmP?NVrs|w;t-mY#@A1S7uZHEDF~PX-->Gyen<(!f_MxJ}KZ`4&O$9=a z`Vnm*u`FI1lYLd6Wz$I$rp5<<(S~TLZ>;Oh62*%zJ8ls=%Enstm7S%68op;A=tH!+;ZUSs>jX%g@1p`FX5UQ(a|M zLya32$X3}v`h%^*=$dz20Is`K1F^LgX~t7B5p0?5mL zdLVI|pl3TJST_Ye4PfR2u-a?nJUR~$9XODP^oQ<17ct9mHix=kJYg1Jrw(?xRCuB+ zuutu*Pazp#EHK#LEGQT{3?!c=W|RJ;`U*+Lv=5QNnF;uMaMhs@T-gOyJ}FRYaJYNQ zhN7$Q$X7oU=eD^_#aZ?xC35pCHw|Nk_&@_T@Al=zwH+s+uPrLmHI~}>*(I{o3_WHB z+9WjbGV`3mS?1%t3v~{`{%&^)sVI~LM)hP1a2x7wS>!gip^e4vMmz3CwGLAoA^*r$ zy^pg3{@dre@mFusnbbyC+MBzg!*y4O5);6k3(QDhhzRs9EEVM5uw)g2YCMM)n52PA zW(HwmosNM|34*{+WygtiYD~2-Eu2f$<|ng>%?~r-%4U-o;UqRLn74J;+Hhyy-*}3I zaCxv_uq=#|=M_`otg~P9@JPzR!4;qMKZfb~oAei9xdIM%Hireh`nZ&fBzy4}Xbg@| z^-|<0q+cUQcqfD*?36ZXd;^cm;AZa{<)~et44wPs%2M&f>v>&)gRp4ElRd8y)3{9= znSJ38%Hfo475yKPK>j43%ync`xMZRBZ^n z;%j=)nv5d(d&zr6w?H-BgvUBYKDshIVY6pX!WvM5tI5GZ$8Sdo3@EoH$(}=zDV6n1 zi&bO*^S6pR&1I-e@IdB~;}&*-WAuFQllsFT1We>r>kG#(XnwNc#D?t=@l-;X>76(v zMFN?(1`9Ye9aDqz!};gsYdo#+(WdV6fl7>NLgCCPHtz`O4l&g2r1c+Oe>q-rz41?c zfin+GDd9L3wpHh}-oa~QFfFT<)*<)1Ea1u|1vdXqN#@JSRn$r` zW;l=~ojE6_x_Bi7evTA@0G8|z0J9Kzp8jW5r*SE6o-EZz$Gsx`u(6hF0>>)xlLOc! z{kFiS!;3Vk=Y@|$?j2vzLwS;SP(W13A(MJk;G7JhL+X5BleF0<=8aYNwpVZZOm$lp zaHk5FGvdDc+$Fxbg|V95R8I^_SP?Xsz5KCUHSLQqf70T|0f`jS0cS;)M1vvUaWg4@ zV_rJG9ZNYe$K>@3A-gN=f%o74lA+Pqo*FnzEAWazko8XX^ty3S!}zLkm_7Cv7pgS` zfgkb{DoE;vY@yycV=nw?|7r96T^nV^=5lgFv=kIIxn(aL@o3|8C*H)mYu{)W^_{p0 zPbgoAq^XWS~xO1WWT^N(z-pi8f7NuZTM*RKW)vw-9H)ygjr z(wYIIam(?}I60ND@atdM>OTLXM8eu;ISC$FdzM3#+w@M3%3rygs8{y<0{F15#%mRgPPdN?)N^rbF&&3A{+M2wipf$1tXA z33POh+WZY`iO{PYM8T7*K*dT*O%lihXBjFh5r73oaPeHJ_*u=gxqsLHkK;YvLjFSE zHVDfR^EZmW>59kBC-8FjxvG-*I;;3B``oGQ121Mhjg(=0TLDZEl9j{L^vac%MI9l{ z%cL&sbvf=Zh(LEN(vv1?Io17(pW%ALpVSNyW~K$v^1QHqXBMh&^+ht)GCQIDW^tce zMYZcw=VksH^x%9=A)0cB9gwT*)YZXNzqVU~Jz2ikTi8`iHizB|*V|=$?>8dEQ{JI- zF@w$M(2qr}W88Q8K!7iJr@MQLeZg5Z<#vZ=*ROr7jve&O22KHR#5)W23E(+r+C8h> zcN8MG+yUipf0@984m+o&>Tp1RLjMHbodIXW-(2_5z??LRVr_b?0DJsqMGrIwiM4vU^D z+ZQ3BQ_b#%|EX6fj!@(#8wN^$xm}~&*6o0kf5Pc>kz_0jv$em99CzGz<9?d)z%(Hx zGc89=qo;Fa!2gS;2!(>+MKSf%DPe-ZE8fp(X!K@5q_7QkYT=+APdgPOTsE%VJlZEF z&W#-{50>rSd`E9|=%#r8TaBsXpA?8)q+Q#%EO|-Fkt*Ie zGN}IvU`3xF3C_=Y;Oco`7S=!uX3+s)W(WyL*>3xYy>Uj`r$RC~XL<9T%vDs5>tw6`-HmUQiDT4nOg67J8`q-L8`?6&0 zh8k(im!1bR3_o~Aj0{*j<@=NLAy<7sz~e;yX4PsNWpTyWndSa9m7Yh#xldrXl#eFr zdt1iDGX|&ygUowt`jHdHyGItmys>u2aY5$ z&XySpPZ4N_e@@fD{yn`I)tG-|1P229OttV0F@wua+Upw_R#`_xy#x&qAOy>xWC(IF z+BgT`P#Coc3B{T5QjuM$$OF?6Z3F~&nfxD_x|vV*AG9b{GD`lBIB*}mNc_vn^l2v! zjW%lKl>~=Py>p4<4;@>*PVmA!XeP-1nf!G-Vr;`~m*GL7q4TFkt^)%OXrHz-Unndp zi!xkt+nhR~9xr}v7>Z;hlx$NKO)YN5QUMW&QkU+ z=i&`7mWxE|Z+zvLyGz56058b)5Ayf+`NCP#TL=l^{TyGw?#oLp*xu(nPj!FI5IR7e zSE|?H>B9Uvu!~hDzIx^^O|*zQD}8nnEt6+RhJWMmX%WTHY;apZb>RO+g5j>@VHBm)Db$8g6V zL&1GCnJ|xzF@lYzW=e3WaTm1@TK{xDzN##NgLYOEhyf6@8sA~>0lgK8|C{nZmEbC7 zA1h=c5+g1}uRo|CqZDwYV2~=vqGv{wn@F9$*@R!^DD&4ei6ZK4yoX%$k-y?&>xT~o zF9cS$@dCBuu}X3WmGqkEUz0GD7yK$G0n`1#!MD(O<9UbB~8470oy zA9AC#wzzk*Apu=8kr745?j7dcXui6gEg;(OCSw_R)L|;Y}*Fnp*PL@#lk>DbF5(eGUF4k?m zavjw;M>l-Bhy^8x=SM-K2O!jABHM?8OD4>LJGMR??H?~WG(rKyyXiRJ+Gy>7(^rDu zPh$`WsL#krw%NQKA(95-ndMsm^oIzyH?qkMz*t zzp3TWUN2scf5}hFOx)`XIT$OD4-*S6D&~898}Twc#Jg;^uQ)bzF3--?Ah;WQ$pyW? zP>6u~zV|{s=a{p;I4Z#Q)=y{$U)Xn;xTN(N#L0MM(~EE$VF z@3I;Pd3{T#%GtiD7HPrC`h9?1XyGKGQ9@j_f%LR|Xz`Hrh>B0S**cPUzyD50H{(VW)qE*tMzJl3=yIH0JHt^Xt?iPAbn!=q41Hr zg*Z>@J1)7;;@6wKB16P5V2mY--i)^{&z`fL*lx0*{qzeem-Z%YN$CCSxOFO}O}k@3 z^n?g8WxNaHz(?z(uXMNsB38f|fz@XIOo4YEV-eCb#EZem93{bMBFk3ZA8pja0~AF{ z4EJsh7uN4E6I{!{bgfFB*|X~~8;$btQ1j6-grWZW4gWzXP*H$=%0Q?pfvxJiC$8Zx zn;F}=KH9i<9t;FR(cNyH^UF;mjmrF88c_$P>r~(3g|ascRJ!=HHFmd-rO-7-)GaBa zfx*f8{$~mc9ThZLD?3%Qa>6#`EPsX3RG+HmyNAk|^h=$WdFvW*%k^Ic7Cfn?OeF4Q z&P{z{{*O7n!m0F}b$*ctvll5|a>`5S&@yS#^jHi#PT$9R z%58p*{}lY~H>0X&-EA)_Dq5Mk1=nQmJwFjd+Kqx^5xdu^4H+#Go#RhQF|XoADqufQN^&~qxqC{8J8-D5*BQMb;ocXhxlHpzV54A37?08%jfX}-;hDm9#*FDj( z7JM+)t!B@J^e*PvYqmSUCg#6fe1)#rE}B(7z)=NYI;6B4tL`vo>x@v0tG0(Jq`Ys? zHt#xI`h?9|HrgUb7=blpXK|4g2#f&9UX_JD=R;w+7Dke|CSZvmO}(R#jUL1=9ow4G zkKG#vvgnE>1y8)*sU%vOOc+R(mxzB8%6O|S7tP2xkhI`C+DZMNaCY}uMHL7h3^9Pa zWF2_@XwSWj2UyUGbH4XNArrlG2Ihk)?(_FW$e(@Km;UoTLbUH);p3KAwm+JRhIN*S z9D(;J#Rv6zBb)GFxLG?4s*io57cg$&3!bu_c~gZ6D)ciaBG=lo;_DPAh>A8JPZS?= z4o*&KDQC6|OyqiyEu~Tvr7OOdAu2AIhcL?vjeo^u6AB8Pg5S~?_2)UG_6&AO&9P8a z&<(^S@8qz`1Lr-P3~^}4xMpL=vT|NPwRB(b1j~efz=Ou>y>PCgz2tX$R$?Jz_-2aV ztcFhZC|Q}}3N%lUWKD?C1M{7XV1^tHhTA#J5!M?%LBmwV|B)wZQ{+`Y9bO?^rqW&2 zI+3^Nurh0Xug+f@NE7&MVWhGSd%|vB8i_GZRW?akISAUmWKa+U!`)Ose-?naBn_qB zgxl#i8t!U7&3{_^kq*_ngdawH;`ItNi7gBZWuBJ{LPygeXLO83mY5deKzbQVrO?5p z$PL$B1URk3;u?l5GGd9R@u%$>3Td3k4`rYjS+MHb(sq(1sopIJ9+q+B;WK3#I zxLPG=t9|OZmJ^B6k`_Uu3L_KE;>@#;-^`L1Uvn|H1t)i>@Nw-WC&HO=<5(pVWgk7d_I9wJ9cZ7>7 zWK(JjDd538gcg354dTie9UgFg)rlVdl#l5JlGhRhN-LR9YlS%8zc+z6uGRGdag!fZ z6kcRGR%}&JDa%ce`w+%b>H<}l{QsoSW4-i0lHlz>&(J}U>~a}ww-rKN(@^QeHo2}n z*MOT0Mgsd72O-!E2`$*QPnH5k206s0SVT!~ksk%GN~BV1yM+qLonyyPhYR;Rr?=>4 z4fB8oYwZ|&N`BYxE$%p=%5q4D{Kc(Wd=po2bjLo%b{4g7PGu`mE~QvBzeX%zugh9J zS6wE82EHg?4V4ddcGDV7+_m|3MG?p8<#veyS-l(H*88gFyc%Nty!C>c zCVKHWUwHV4>;+ir0nB|`gMaH57oy>QxRo2YwAhpdo;j2#OsK?ryLlftR%k z@Z;aF>&Ln{#T0FhqD;q^3?(EV0IeI2 zE1i1xGS8cxK|1I8-eh6iOevxtaEFMm!J1%c(-O4U%oKID`L5emlPL&amyH*`5^;PsH zZQrNi_>6$D_Z>1%Ef2gc!yc?+UP;zo^AfFaKxMy(O!lp**(=%OI3pAH-Gy7Wv%cn9 z=<9wI#kMSYPzY-5stydl8ItmxH*DOgNPe&jwbhTAb*Xo!+()9^82#TePWfcr_1xH1 zH#(HadzzxZtN;Eke&Aw=9_%bp2f|g{#AzG>Rlg?3$}0kUnrLsgDxHw`-IcGrZ0Gv@ z%c*w+y(3b;*X)ev9SMxtI!SO}95nnY59^Tg?cEF5Gooo>6#ih(J>R&`7vn#Ar^<~xBX9&H0gTC7 zfDJ(TCSeKd=vRn=cWWsz4;`dGgaHUs05XcN4FS_^j8_g{fqr~YJqItvP4za{Hr14aT5ajQR^M>1Lb_ zZ-$@Y0Bnb!=BfDP(_&eC#H&U85ZdVRFq!>?loq|g_OjW@h8L3Z#|)LcZRDi6cd&YA6h<$jpf!qrgPDBnMuL{7 ziPT8y#J3Q3&1l- zrX>SDAdr&=Wv&3hRoM!@c|bt~tuMt|IR&)SH`QwbH-m5@q66NoTHGi<`9<*?28p}# zOX>I*`h1&h>L`lGBj&rnokww20dYTO*dj?bR#jmOHVCX!KYE3I+*8;t`%whGZMP|t zLN;uXCepfO>nAN{KV4T2H^@MIeNoG=##<}9d>xEv(j2_lFIMrUb_~vrvHnQjSCbNz zaig1BIu3y?wUp)Wnwvq0WAjq7f(FP8>b#EijSnPjW@m}eM+Yb9Wt#t=f69{o&SR^4fLg&S){1> z{}^u7ziaG)>tTEDWpl$K4?f!*&pUMNwUQG7o7qs^3w^+1`&F8GOLgrtyWG#A4B3Z# zuvg;AgpI7=3(|FK@(8nMuo(C&P|q@ToHpdYdys$$MOgZwB69ADj+rh##m*{=E2ceO zc&9SPbE8X3HU4g}L(1<-6#k`bXK=h252b(ca z-PfM{%b)ShctPY$Jz>WU11xTfVw#p@d$s!fZ(XJwOxZhJHaax=XPIcqqW5*6Bs*BE zc(;;B2I!)szx1sm=r%{Ok3-Oo(e%l*c|FmW;YlYZZ|!4yve$kIZ8tMZc*frNRdUu@ zc8f5r4G!p+jpVMLZ|oHgW`21kJ1P-9mryIjb&goAlqY@|LfBd~b58+%{7VZqe0Prb zD^uP28>D^?jR*U4ZdEl6y$Rwa?kE@N((;S_8D?WkNXQf4b^Qk@Tr<(6`a_hs_Sew&+p6iYqK_|l&KSI=GmTHL6wT)R}oktltYzT=C-<7sNU zGaPN++9^G~Op(^(9zU97C4-p{e@2UyFB{qMFlkhG97p>M&;8!X_HkmrFC8FOXoQJO znHkp{)e9xWaFbsURWe@Y`cWUF@%&wcopSj6MY9%C1;xjqM}Kkm1&Kg8deA7mZSXhb=)9>bZPYGOdEeiQUL<+Y}sEDPdaMyK2 zPR7}9(2EIQP7yaC;bJdBZc+ODcrGhl=;CEnH)W``v$=Vvs3T{K_0=mxeF4Q&I+ug- zvOuogq7&Nj3EiXh4+>K`kNf+CA(RuNn7Qy%(YhP-b$5uv56s>$Ji97hn%(X8RCGOV zJVLTN=`6**C4Jbu<5K`HDp%3-l0t^qP4n1i7~YC^!6v_?gIwj=gVwJh{&c<5h!n=T z$nRY!l~0Nec8Q$bp3EIXSKSQ2_&#~=3AHHa5P>)Ts##awk6}ld?fCb(u>6SBL=NH` zJHEph-uixj6hJwyTd|bLp`CrYH0FDH35C^tGf)Pz&s~w~j)>GulgPc!WhZ~^MY}pe zbS}R)<@*rCYxn93e{wZ$z-wgO3z1QUOTnJ5w#-*a@ZU~qC@B}lBc7d8 ziV{Wtc{&sBcB`Z34YqZI@HL4YX3%Tl=lnE&McTFLn|=b5!2s8^x#~o}pywaTp$3yk zUbE|8S*!lbj(OolTrax~v6Vg~`ZM(7$|%9o?kvkmq7aWgF<1x1+e8r*# z!}KP{9%``Ib~5KW1PnKrf5}L z4bfjZfSKt{g&`_mcYmWnUGnAT{b1|7JNl{mtN+Nvo9ZT*iP$cfXa7`y$JcMiBH1ta zvV2?L5-j;6`}vu~nwW*%r=uPpP5csz_7{6_%gQUTR(pAq)|;pQ2hkF06Mos^B>2Yj zmJ|NGH?--RUJs^@fi9&sY_jTWW_Pe>$Nj!0BWJp7(!NWHB`iQt0{@-1zgPw)%3NRi zNHmSH(CdpBubdh&Sw3d*CEPU0nV2g|oU{r!>0y%mOA2tuifhsp88Tily(!o9BF60q zQM#w=KqP?5dAvE4R*wp=oBUY_7!HLXKj4aD)54nA#DWsZZmu5#=J*S~h^srT8~zNsZ5mZ2i)Nzd9?)znGLJ z?(j>~9xe7Tv!Aa|-_w=2WO?K1mt(uX5H@tfVm{%YYLq3j$r<_@t=`vL!U_>M>!U$a?4LoaeJz#g0tELT?194GBy0SP>rH zym?b3Kj{l^%`WZWgtBD}#|!2%zJdCg=`7LOCW7ghmA7R~YU-RU>H><((H@|LTHJPdA!*m-1Omon1;a4_bC=1W3>v zU|bK1D%U|?Jp(9kplsQ1XVG(LVY#u+m<&DS&lbOvWvGzuLwE1gOy_;K85WKgy&H)H zjaNBvn^RxwIrt;3GSFlGy?UoQB8Q=D87UV_6{?91cXB(xTC&F-yZAscZ5e6D*SoI4 z@;IrUEsjcmei#>@uY95)z15;@Ya3#D#vEzVCo`;;NrmiPUcbxoi1HCG=ccfKt0XQ+ z=RG_0<9jc|m)G{}94o?X+=%?h)=T4?jgqOyZwy?;H+Rw-nsT<8FsB-Izp(v6QmRQL z;OR0ar!z>y$UP�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

d+0{+kUM^65j1H3^f*w3sR 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

Mip5vk7eKQX7r(lv)GM+k3nN&q*k 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%0DK1lQ2lqM^}&-+4h$n_}V2LM9U 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⪙-aH zOCyOF5rSYiJOD5De4pVzi`n@Yg!m3=2zq!zY8!5eh%F0gffYdIMq<(`jmK7({mvx1 z%?S?mna`RhEQ_lTo!1Lg$T5}6c6LrPw2N*0EF(1jf}TL^gNH%IEqUw2Z}c4C3bvLM zg7;G_<@|eYGhzy|^3)lB=vhQU>;1>rGp!EejZK|M?^ol7V36S!*#-)L2}0@kJ*hsh zsqS;O=P~gdGa9{TwbUA*rLWKPs6;IHCA2vNVZ)p{Duhco{Gc5z`91oCe6=yC)FA&9 z^>o>==SuZ)*z5=6c~$r+sIlQv)&AFbVD39w78;tT*?tk}E}i}8B{ROJ%^wkBJ$x!! z<0NOq<99+P>9>EO_#?29IdX*{kjIs!dPURW9l|IaGz03a>wZv%h`3U_o^N|INBS^E zM7jgFiH8P#1lv|*np9v06^KrC>30tgUz@Ez)V;ULNb$qIBnXhX%MS(s5Ou9p9xm9w zV;5Jvmc-UAyjYcVm&UEPh)1~V;y}Jyv%*BHdfbFvvqis*$43bp=bI$cPi1dR*PI$Y zY%sbME=66?d!Dd_{VK8s*wRrzPOnS3G{CmREdiXy+sh<(vs}v8aX_(r)8sPC2O

  • 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 literal 0 HcmV?d00001 diff --git a/examples/data/lingbot_world_fast/poses.npy b/examples/data/lingbot_world_fast/poses.npy new file mode 100644 index 0000000000000000000000000000000000000000..194fdb5b41607d9ead0183e930cedfb6eab61f7d GIT binary patch literal 17344 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 LingBotWorldFastPipeline: + """Load LingBot-World-Fast for offline chunked generation.""" + if parallelism < 1: + raise ValueError(f"parallelism must be positive, got {parallelism}") + + dtype = PPL_CONFIG["torch_dtype"] + pipeline = LingBotWorldFastPipeline(device="cuda", torch_dtype=dtype) + pipeline.init( + ModuleManager(device="cpu"), + LingBotWorldFastPipelineConfig( + checkpoint_dir=model_root, + fast_checkpoint_subdir=fast_model_root, + vae_config=ModelRuntimeConfig(device_type="cuda", device_id=0, torch_dtype=dtype), + text_encoding_config=ModelRuntimeConfig(device_type="cuda", device_id=0, torch_dtype=dtype), + dit_torch_dtype=dtype, + control_type=PPL_CONFIG["control_mode"], + max_area=RESOLUTION_AREAS[PPL_CONFIG["resolution"]], + local_attn_size=PPL_CONFIG["local_attn_size"], + sink_size=PPL_CONFIG["sink_size"], + attention_config=AttentionConfig.dense_attention(PPL_CONFIG["attn_impl"]), + parallel_config=ParallelConfig( + device_ids=list(range(parallelism)) if parallelism > 1 else None, + sp_ulysses_degree=parallelism, + enable_fsdp=PPL_CONFIG["enable_fsdp"], + ), + ), + ) + return pipeline + + +def run( + pipeline: LingBotWorldFastPipeline, + image: Image.Image, + prompt: str, + seed: int = PPL_CONFIG["seed"], + resolution: str = PPL_CONFIG["resolution"], + action_path: str = DEFAULT_ACTION_PATH, + frame_num: int | None = None, + fps: int | None = None, +) -> list[Image.Image]: + """Generate a complete offline video through the pipeline core API.""" + if resolution not in RESOLUTION_AREAS: + raise ValueError(f"Unsupported resolution: {resolution}") + pipeline.config.max_area = RESOLUTION_AREAS[resolution] + frame_num = PPL_CONFIG["frame_num"] if frame_num is None else frame_num + fps = PPL_CONFIG["target_fps"] if fps is None else fps + + session_config = LingBotWorldFastSessionConfig( + prompt=prompt, + image=image, + control_mode=PPL_CONFIG["control_mode"], + fps=fps, + chunk_size=PPL_CONFIG["chunk_size"], + frame_num=frame_num, + sample_shift=PPL_CONFIG["sample_shift"], + seed=seed, + max_attention_size=PPL_CONFIG["max_attention_size"], + action_path=action_path, + ) + session = pipeline.create_session(session_config) + frames: list[Image.Image] = [] + try: + while session.active: + chunk_index = session.current_chunk_index + control_override = None + if session.control_chunks is not None and chunk_index < len(session.control_chunks): + control_override = session.control_chunks[chunk_index] + result = pipeline( + session, + LingBotWorldFastChunkRequest( + chunk_index=chunk_index, + control_override=control_override, + ), + ) + frames.extend(result.frames) + finally: + pipeline.release_session(session) + return frames + + +@click.command() +@click.option( + "--gpu_num", + default=1, + type=int, + help="Number of GPUs used for Ulysses sequence parallelism", +) +@click.option("--image_path", default=DEFAULT_IMAGE_PATH, type=click.Path(exists=True)) +@click.option("--action_path", default=DEFAULT_ACTION_PATH, type=click.Path(exists=True, file_okay=False)) +@click.option("--prompt", default=DEFAULT_PROMPT, help="Positive guidance prompt") +@click.option("--seed", default=PPL_CONFIG["seed"], type=int) +@click.option("--resolution", default=PPL_CONFIG["resolution"], type=click.Choice(["480p", "720p"])) +@click.option("--frame_num", default=PPL_CONFIG["frame_num"], type=int, help="Number of output frames") +@click.option("--fps", default=PPL_CONFIG["target_fps"], type=int, help="Output video frame rate") +@click.option("--model_root", default=PPL_CONFIG["model_root"], type=click.Path(exists=True, file_okay=False)) +@click.option( + "--fast_model_root", + default=PPL_CONFIG["fast_model_root"], + type=click.Path(exists=True, file_okay=False), +) +@click.option("--output", default=None, type=click.Path(dir_okay=False), help="Output video path") +def main( + gpu_num: int, + image_path: str, + action_path: str, + prompt: str, + seed: int, + resolution: str, + frame_num: int, + fps: int, + model_root: str, + fast_model_root: str, + output: str | None, +) -> None: + """Generate an offline video with LingBot-World-Fast.""" + pipeline = get_pipeline(gpu_num, model_root, fast_model_root) + image = Image.open(image_path).convert("RGB") + + start = time.perf_counter() + frames = run( + pipeline, + image, + prompt, + seed=seed, + resolution=resolution, + action_path=action_path, + frame_num=frame_num, + fps=fps, + ) + elapsed = time.perf_counter() - start + + output_path = Path(output) if output else DEFAULT_OUTPUT_DIR / f"lingbot_world_fast_i2v_{gpu_num}gpu.mp4" + output_path.parent.mkdir(parents=True, exist_ok=True) + save_video(frames, str(output_path), fps=fps, quality=6) + print(f"Video generation time: {elapsed:.2f} seconds") + print(f"Video saved to: {output_path}") + + +if __name__ == "__main__": + main() diff --git a/examples/lingbot/stream_lingbot_world_fast.py b/examples/lingbot/stream_lingbot_world_fast.py index f982bb8..7a0f383 100644 --- a/examples/lingbot/stream_lingbot_world_fast.py +++ b/examples/lingbot/stream_lingbot_world_fast.py @@ -1,83 +1,76 @@ -from __future__ import annotations +"""LingBot-World-Fast bidirectional streaming service example. + +Run the four-GPU stream service: + telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ + -p 8088 --skip-validation +""" -import os +from __future__ import annotations import torch -from telefuser.core.config import ModelRuntimeConfig +from telefuser.core.config import AttentionConfig, AttnImplType, ModelRuntimeConfig, ParallelConfig +from telefuser.core.module_manager import ModuleManager from telefuser.pipelines.lingbot_world_fast.pipeline import ( LingBotWorldFastPipeline, LingBotWorldFastPipelineConfig, ) from telefuser.pipelines.lingbot_world_fast.service import LingBotWorldFastService -TF_MODEL_ZOO_PATH = os.environ.get("TF_MODEL_ZOO_PATH", "model_zoo") +TF_MODEL_ZOO_PATH = "/hhb-data/aigc/model_zoo" +RESOLUTION_AREAS = {"480p": 480 * 832, "720p": 720 * 1280} + PPL_CONFIG = dict( name="lingbot_world_fast_stream", - # LingBot-World-Fast reuses the Wan2.2 base weights (VAE + T5 text encoder + ``google/umt5-xxl`` - # tokenizer), which ship in the shared Wan2.2-I2V-A14B directory. The DiT fast weights live in their - # own ``lingbot-world-fast`` directory, given as an absolute path so the pipeline keeps it standalone - # rather than nesting it under ``checkpoint_dir``. - checkpoint_dir=TF_MODEL_ZOO_PATH + "/Wan2.2-I2V-A14B", - fast_checkpoint_subdir=TF_MODEL_ZOO_PATH + "/lingbot-world-fast", - control_type="cam", - vae_device="cuda", - vae_device_id=0, - text_device="cuda", - text_device_id=0, - dit_device="cuda", - max_area=480 * 832, + model_root=TF_MODEL_ZOO_PATH + "/Wan2.2-I2V-A14B", + fast_model_root=TF_MODEL_ZOO_PATH + "/lingbot-world-fast", + parallelism=4, + control_mode="cam", + resolution="480p", + target_fps=16, + attn_impl=AttnImplType.SAGE_ATTN_2_8_8_SM90, + enable_fsdp=False, + local_attn_size=-1, + sink_size=0, torch_dtype=torch.bfloat16, ) -class _LocalModuleManager: - def __init__(self) -> None: - self._modules: list[tuple[str, object, str]] = [] - - def fetch_module( - self, - model_name: str, - file_path: str | None = None, - require_model_path: bool = False, - index: int | None = None, - ): - matches = [(module, path) for name, module, path in self._modules if name == model_name] - if not matches: - return None - module, path = matches[0] - return (module, path) if require_model_path else module - - def add_module(self, module, name: str, path: str = "manual") -> None: - self._modules.append((name, module, path)) - - def get_model_info(self): - return [{"name": name, "path": path} for name, _, path in self._modules] - +def get_pipeline( + parallelism: int = PPL_CONFIG["parallelism"], + model_root: str = PPL_CONFIG["model_root"], + fast_model_root: str = PPL_CONFIG["fast_model_root"], +) -> LingBotWorldFastPipeline: + """Load LingBot-World-Fast with internal multi-GPU workers.""" + if parallelism < 1: + raise ValueError(f"parallelism must be positive, got {parallelism}") -def get_service() -> LingBotWorldFastService: dtype = PPL_CONFIG["torch_dtype"] - mm = _LocalModuleManager() - - pipeline = LingBotWorldFastPipeline(device=PPL_CONFIG["dit_device"], torch_dtype=dtype) + pipeline = LingBotWorldFastPipeline(device="cuda", torch_dtype=dtype) pipeline.init( - mm, + ModuleManager(device="cpu"), LingBotWorldFastPipelineConfig( - checkpoint_dir=PPL_CONFIG["checkpoint_dir"], - fast_checkpoint_subdir=PPL_CONFIG["fast_checkpoint_subdir"], - vae_config=ModelRuntimeConfig( - device_type=PPL_CONFIG["vae_device"], - device_id=PPL_CONFIG["vae_device_id"], - torch_dtype=dtype, - ), - text_encoding_config=ModelRuntimeConfig( - device_type=PPL_CONFIG["text_device"], - device_id=PPL_CONFIG["text_device_id"], - torch_dtype=dtype, - ), + checkpoint_dir=model_root, + fast_checkpoint_subdir=fast_model_root, + vae_config=ModelRuntimeConfig(device_type="cuda", device_id=0, torch_dtype=dtype), + text_encoding_config=ModelRuntimeConfig(device_type="cuda", device_id=0, torch_dtype=dtype), dit_torch_dtype=dtype, - control_type=PPL_CONFIG["control_type"], - max_area=PPL_CONFIG["max_area"], + control_type=PPL_CONFIG["control_mode"], + max_area=RESOLUTION_AREAS[PPL_CONFIG["resolution"]], + local_attn_size=PPL_CONFIG["local_attn_size"], + sink_size=PPL_CONFIG["sink_size"], + attention_config=AttentionConfig.dense_attention(PPL_CONFIG["attn_impl"]), + parallel_config=ParallelConfig( + device_ids=list(range(parallelism)) if parallelism > 1 else None, + sp_ulysses_degree=parallelism, + enable_fsdp=PPL_CONFIG["enable_fsdp"], + ), ), ) - return LingBotWorldFastService(pipeline) + return pipeline + + +def get_service() -> LingBotWorldFastService: + """Build the service loaded by the TeleFuser stream server.""" + pipeline = get_pipeline() + return LingBotWorldFastService(pipeline, default_fps=PPL_CONFIG["target_fps"]) diff --git a/telefuser/models/lingbot_world_fast_dit.py b/telefuser/models/lingbot_world_fast_dit.py index c9685cf..5ef627c 100644 --- a/telefuser/models/lingbot_world_fast_dit.py +++ b/telefuser/models/lingbot_world_fast_dit.py @@ -8,8 +8,14 @@ import torch.nn as nn import torch.nn.functional as F from einops import rearrange +from torch.distributed.device_mesh import DeviceMesh from telefuser.core.base_model import BaseModel +from telefuser.core.config import AttentionConfig +from telefuser.distributed.device_mesh import get_ulysses_group, get_ulysses_world_size +from telefuser.distributed.parallel_shard import sequence_parallel_shard, sequence_parallel_unshard +from telefuser.distributed.ulysses_comm import ulysses_gather_heads, ulysses_scatter_heads +from telefuser.ops.attention import attention as attn_func from telefuser.ops.normalization import LayerNorm, RMSNorm from telefuser.utils.logging import logger from telefuser.utils.model_weight import init_weights_on_device, load_state_dict @@ -44,6 +50,7 @@ def __init__( self.head_dim = dim // num_heads self.local_attn_size = local_attn_size self.sink_size = sink_size + self.attention_config = AttentionConfig() self.q = nn.Linear(dim, dim) self.k = nn.Linear(dim, dim) @@ -88,7 +95,10 @@ def _apply_causal_rope( dim=-1, ).reshape(seq_len, 1, -1) - return apply_rotary_emb(x, (cos, sin)) + roped = apply_rotary_emb(x[:, :seq_len], (cos, sin)) + if x.shape[1] == seq_len: + return roped + return torch.cat([roped, x[:, seq_len:]], dim=1) def forward( self, @@ -99,16 +109,28 @@ def forward( kv_cache: dict[str, torch.Tensor | int], current_start: int, max_attention_size: int, + device_mesh: DeviceMesh | None = None, ) -> torch.Tensor: q = rearrange(self.norm_q(self.q(x)), "b s (n d) -> b s n d", n=self.num_heads) k = rearrange(self.norm_k(self.k(x)), "b s (n d) -> b s n d", n=self.num_heads) v = rearrange(self.v(x), "b s (n d) -> b s n d", n=self.num_heads) + group = get_ulysses_group(device_mesh) + ulysses_enabled = group is not None and get_ulysses_world_size(device_mesh) > 1 frame_tokens = grid_size[1] * grid_size[2] start_frame = current_start // frame_tokens - - q = self._apply_causal_rope(q, freqs_cos, freqs_sin, grid_size, start_frame) - k = self._apply_causal_rope(k, freqs_cos, freqs_sin, grid_size, start_frame) + valid_seq_len = math.prod(grid_size) + if ulysses_enabled: + q = ulysses_scatter_heads(q, group)() + k = ulysses_scatter_heads(k, group)() + v = ulysses_scatter_heads(v, group)() + padded_seq_len = q.shape[1] + q = self._apply_causal_rope(q, freqs_cos, freqs_sin, grid_size, start_frame)[:, :valid_seq_len] + k = self._apply_causal_rope(k, freqs_cos, freqs_sin, grid_size, start_frame)[:, :valid_seq_len] + v = v[:, :valid_seq_len] + else: + q = self._apply_causal_rope(q, freqs_cos, freqs_sin, grid_size, start_frame) + k = self._apply_causal_rope(k, freqs_cos, freqs_sin, grid_size, start_frame) num_new_tokens = q.shape[1] current_end = current_start + num_new_tokens @@ -141,15 +163,24 @@ def forward( k_cache = cache_k[:, attn_start:local_end] v_cache = cache_v[:, attn_start:local_end] - q = q.permute(0, 2, 1, 3) - k_cache = k_cache.permute(0, 2, 1, 3) - v_cache = v_cache.permute(0, 2, 1, 3) - out = F.scaled_dot_product_attention(q, k_cache, v_cache, is_causal=False) - out = out.permute(0, 2, 1, 3).contiguous() + out = attn_func( + q, + k_cache, + v_cache, + attention_config=self.attention_config, + input_layout="BSND", + output_layout="BSND", + ) kv_cache["global_end_index"] = current_end kv_cache["local_end_index"] = local_end + if ulysses_enabled: + pad_len = padded_seq_len - num_new_tokens + if pad_len > 0: + out = F.pad(out, (0, 0, 0, 0, 0, pad_len)) + out = ulysses_gather_heads(out, group, num_heads=self.num_heads)() + out = rearrange(out, "b s n d -> b s (n d)") return self.o(out) @@ -162,6 +193,7 @@ def __init__(self, dim: int, num_heads: int, eps: float = 1e-6) -> None: self.dim = dim self.num_heads = num_heads self.head_dim = dim // num_heads + self.attention_config = AttentionConfig() self.q = nn.Linear(dim, dim) self.k = nn.Linear(dim, dim) @@ -176,21 +208,28 @@ def forward( context: torch.Tensor, cache: dict[str, torch.Tensor | bool] | None, ) -> torch.Tensor: - q = rearrange(self.norm_q(self.q(x)), "b s (n d) -> b n s d", n=self.num_heads) + q = rearrange(self.norm_q(self.q(x)), "b s (n d) -> b s n d", n=self.num_heads) if cache is not None and bool(cache.get("is_init", False)): k = cache["k"] v = cache["v"] else: - k = rearrange(self.norm_k(self.k(context)), "b s (n d) -> b n s d", n=self.num_heads) - v = rearrange(self.v(context), "b s (n d) -> b n s d", n=self.num_heads) + k = rearrange(self.norm_k(self.k(context)), "b s (n d) -> b s n d", n=self.num_heads) + v = rearrange(self.v(context), "b s (n d) -> b s n d", n=self.num_heads) if cache is not None: cache["k"] = k cache["v"] = v cache["is_init"] = True - out = F.scaled_dot_product_attention(q, k, v, is_causal=False) - out = rearrange(out, "b n s d -> b s (n d)") + out = attn_func( + q, + k, + v, + attention_config=self.attention_config, + input_layout="BSND", + output_layout="BSND", + ) + out = rearrange(out, "b s n d -> b s (n d)") return self.o(out) @@ -252,6 +291,7 @@ def forward( current_start: int, max_attention_size: int, control_tokens: torch.Tensor | None = None, + device_mesh: DeviceMesh | None = None, ) -> torch.Tensor: modulation = self.modulation.to(dtype=t_mod.dtype, device=t_mod.device) shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = (modulation.unsqueeze(0) + t_mod).chunk( @@ -274,6 +314,7 @@ def forward( kv_cache=kv_cache, current_start=current_start, max_attention_size=max_attention_size, + device_mesh=device_mesh, ) x = self.gate(x, gate_msa, attn_out) @@ -388,6 +429,8 @@ def __init__( freqs = precompute_freqs_cis_3d(head_dim) self.freqs_cos = torch.cat([f.real for f in freqs], dim=-1) self.freqs_sin = torch.cat([f.imag for f in freqs], dim=-1) + self.device_mesh: DeviceMesh | None = None + self.usp_flag = False self.init_weights() @@ -480,6 +523,15 @@ def forward( freqs_cos = self.freqs_cos.to(device=x.device) freqs_sin = self.freqs_sin.to(device=x.device) + full_seq_len = seq_len + + if self.usp_flag: + shard_tensors = [x, t_mod, control_tokens] + shard_dims = [1, 1, 1] + if t_head.shape[1] == seq_len: + shard_tensors.append(t_head) + shard_dims.append(1) + sequence_parallel_shard(self.device_mesh, shard_tensors, shard_dims) if kv_cache is None or crossattn_cache is None: raise ValueError("LingBotWorldFastDiT requires kv_cache and crossattn_cache") @@ -497,11 +549,26 @@ def forward( current_start=current_start, max_attention_size=max_attention_size, control_tokens=control_tokens, + device_mesh=self.device_mesh, ) x = self.head(x, t_head) + if self.usp_flag: + (x,) = sequence_parallel_unshard(self.device_mesh, [x], [1], [full_seq_len]) return self.unpatchify(x, grid_size) + def enable_usp(self, device_mesh: DeviceMesh | None = None) -> None: + """Enable Ulysses sequence parallelism for LingBot-World-Fast DiT.""" + self.device_mesh = device_mesh if device_mesh is not None else self.device_mesh + self.usp_flag = get_ulysses_world_size(self.device_mesh) > 1 + + def set_attention_config(self, attention_config: AttentionConfig) -> None: + """Set the unified attention backend for self-attention and cross-attention.""" + logger.info(f"LingBot-World-Fast DiT set attention config to {attention_config.attn_impl}") + for block in self.blocks: + block.self_attn.attention_config = attention_config + block.cross_attn.attention_config = attention_config + @classmethod def from_pretrained( cls, diff --git a/telefuser/models/wan_video_vae.py b/telefuser/models/wan_video_vae.py index 51e9782..84116e4 100644 --- a/telefuser/models/wan_video_vae.py +++ b/telefuser/models/wan_video_vae.py @@ -1,5 +1,7 @@ from __future__ import annotations +from dataclasses import dataclass, field + import torch import torch.distributed as dist import torch.nn as nn @@ -14,6 +16,14 @@ CACHE_T = 2 +@dataclass +class WanVideoVAEStreamingDecodeState: + """Session-owned temporal feature cache for incremental VAE decoding.""" + + feat_cache: list[object] = field(default_factory=list) + feat_idx: list[int] = field(default_factory=lambda: [0]) + + def _count_conv3d(model: nn.Module) -> int: """Count Conv3d layers in a model (for feat_cache initialization).""" count = 0 @@ -1389,6 +1399,7 @@ def cached_decode_withflag( device: torch.device, is_first_clip: bool, is_last_clip: bool, + decode_state: WanVideoVAEStreamingDecodeState | None = None, ) -> torch.Tensor: """Decode with persistent feature cache for streaming generation. @@ -1400,15 +1411,26 @@ def cached_decode_withflag( device: Target device is_first_clip: If True, clear cache before decoding (first segment) is_last_clip: If True, clear cache after decoding (last segment) + decode_state: Optional session-owned cache. The legacy model-owned cache + is used when omitted. Returns: Decoded video tensor [C, T_out, H_out, W_out] """ + feat_cache = self._feat_cache if decode_state is None else decode_state.feat_cache + feat_idx = self._feat_idx if decode_state is None else decode_state.feat_idx + # Clear cache on first clip if is_first_clip: conv_num = _count_conv3d(self.model.decoder) - self._feat_cache = [None] * conv_num - self._feat_idx = [0] + feat_cache = [None] * conv_num + feat_idx = [0] + if decode_state is None: + self._feat_cache = feat_cache + self._feat_idx = feat_idx + else: + decode_state.feat_cache = feat_cache + decode_state.feat_idx = feat_idx # Add batch dimension if needed if hidden_state.dim() == 4: @@ -1429,25 +1451,29 @@ def cached_decode_withflag( x = self.model.conv2(z) for i in range(iter_): - self._feat_idx[0] = 0 # Reset index for each frame + feat_idx[0] = 0 # Reset index for each frame if i == 0: out = self.model.decoder( x[:, :, i : i + 1, :, :], - feat_cache=self._feat_cache, - feat_idx=self._feat_idx, + feat_cache=feat_cache, + feat_idx=feat_idx, ) else: out_ = self.model.decoder( x[:, :, i : i + 1, :, :], - feat_cache=self._feat_cache, - feat_idx=self._feat_idx, + feat_cache=feat_cache, + feat_idx=feat_idx, ) out = torch.cat([out, out_], 2) # Clear cache on last clip if is_last_clip: - self._feat_cache = [] - self._feat_idx = [0] + if decode_state is None: + self._feat_cache = [] + self._feat_idx = [0] + else: + decode_state.feat_cache = [] + decode_state.feat_idx = [0] video = out.clamp_(-1, 1) diff --git a/telefuser/ops/attention/backends.py b/telefuser/ops/attention/backends.py index e4112d2..1d63f4f 100644 --- a/telefuser/ops/attention/backends.py +++ b/telefuser/ops/attention/backends.py @@ -88,7 +88,7 @@ def _try_import_sage_attn() -> None: """Import Sage Attention.""" global SAGE_ATTN_AVAILABLE, sageattention - for module_name in ["sageattention", "tf_kernel.sageattn2"]: + for module_name in ["tf_kernel.sageattn2", "sageattention"]: try: if importlib.util.find_spec(module_name) is not None: sageattention = importlib.import_module(module_name) diff --git a/telefuser/pipelines/lingbot_world_fast/__init__.py b/telefuser/pipelines/lingbot_world_fast/__init__.py index cbd6796..310d0ca 100644 --- a/telefuser/pipelines/lingbot_world_fast/__init__.py +++ b/telefuser/pipelines/lingbot_world_fast/__init__.py @@ -9,20 +9,28 @@ from .pipeline import LingBotWorldFastPipeline, LingBotWorldFastPipelineConfig from .service import LingBotWorldFastService from .session import ( + LingBotWorldFastChunkRequest, + LingBotWorldFastChunkResult, + LingBotWorldFastGenerationSession, LingBotWorldFastRuntimeState, LingBotWorldFastSessionConfig, LingBotWorldFastSessionState, + LingBotWorldFastSessionStatus, ) __all__ = [ "CameraControlChunk", + "LingBotWorldFastChunkRequest", + "LingBotWorldFastChunkResult", "LingBotWorldFastDenoisingStage", + "LingBotWorldFastGenerationSession", "LingBotWorldFastPipeline", "LingBotWorldFastPipelineConfig", "LingBotWorldFastRuntimeState", "LingBotWorldFastService", "LingBotWorldFastSessionConfig", "LingBotWorldFastSessionState", + "LingBotWorldFastSessionStatus", "LingBotWorldFastTimesteps", "build_action_control_chunk", "build_camera_control_chunk", diff --git a/telefuser/pipelines/lingbot_world_fast/denoising.py b/telefuser/pipelines/lingbot_world_fast/denoising.py index ba5188c..620b851 100644 --- a/telefuser/pipelines/lingbot_world_fast/denoising.py +++ b/telefuser/pipelines/lingbot_world_fast/denoising.py @@ -4,6 +4,11 @@ import torch +from telefuser.core.base_stage import BaseStage, with_model_offload +from telefuser.core.config import ModelRuntimeConfig +from telefuser.distributed.device_mesh import create_device_mesh_from_config, get_ulysses_world_size +from telefuser.distributed.fsdp import shard_model +from telefuser.models.lingbot_world_fast_dit import LingBotWorldFastDiT from telefuser.schedulers.unipc import FlowUniPCMultistepScheduler from telefuser.utils.logging import logger @@ -18,12 +23,113 @@ def select(self, scheduler: FlowUniPCMultistepScheduler, shift: float) -> torch. return scheduler.timesteps[list(self.indices)].clone() -class LingBotWorldFastDenoisingStage: - """Chunk-level denoising for LingBot-World-Fast.""" +@dataclass +class _DenoisingCacheState: + scheduler: FlowUniPCMultistepScheduler + timesteps: torch.Tensor + self_kv_cache: list[dict[str, torch.Tensor | int]] + crossattn_cache: list[dict[str, torch.Tensor | bool]] + generator: torch.Generator - def __init__(self, dit_model, torch_dtype: torch.dtype = torch.bfloat16) -> None: + +class LingBotWorldFastDenoisingStage(BaseStage): + """Chunk-level denoising stage with worker-local persistent KV caches.""" + + def __init__( + self, + name: str, + dit_model: LingBotWorldFastDiT, + model_runtime_config: ModelRuntimeConfig, + ) -> None: + super().__init__(name, model_runtime_config) self.dit = dit_model - self.torch_dtype = torch_dtype + self.dit.set_attention_config(model_runtime_config.attention_config) + self.model_names = ["dit"] + self._cache_registry: dict[int, _DenoisingCacheState] = {} + + def parallel_models(self) -> None: + """Configure Ulysses SP and optional FSDP inside a ParallelWorker.""" + parallel_config = self.model_runtime_config.parallel_config + self.dit.device_mesh = create_device_mesh_from_config(parallel_config) + self.dit.set_attention_config(self.model_runtime_config.attention_config) + if parallel_config.sp_ulysses_degree > 1: + self.dit.enable_usp(self.dit.device_mesh) + if parallel_config.enable_fsdp: + logger.info(f"Enabling FSDP for {self.name}") + self.dit = shard_model( + module=self.dit, + device_id=self.device, + wrap_module_names=self.dit.get_fsdp_module_names(), + param_dtype=self.torch_dtype, + reduce_dtype=self.torch_dtype, + buffer_dtype=self.torch_dtype, + ) + self.onload_models_flag = True + + def _init_self_kv_cache( + self, + batch_size: int, + kv_size: int, + ) -> list[dict[str, torch.Tensor | int]]: + head_dim = self.dit.dim // self.dit.num_heads + ulysses_world_size = get_ulysses_world_size(getattr(self.dit, "device_mesh", None)) + num_heads = self.dit.num_heads + if ulysses_world_size > 1: + num_heads = (num_heads + ulysses_world_size - 1) // ulysses_world_size + shape = (batch_size, kv_size, num_heads, head_dim) + return [ + { + "k": torch.zeros(shape, dtype=self.torch_dtype, device=self.device), + "v": torch.zeros(shape, dtype=self.torch_dtype, device=self.device), + "global_end_index": 0, + "local_end_index": 0, + } + for _ in range(self.dit.num_layers) + ] + + def _init_crossattn_cache( + self, + batch_size: int, + max_sequence_length: int, + ) -> list[dict[str, torch.Tensor | bool]]: + head_dim = self.dit.dim // self.dit.num_heads + shape = (batch_size, max_sequence_length, self.dit.num_heads, head_dim) + return [ + { + "k": torch.zeros(shape, dtype=self.torch_dtype, device=self.device), + "v": torch.zeros(shape, dtype=self.torch_dtype, device=self.device), + "is_init": False, + } + for _ in range(self.dit.num_layers) + ] + + @with_model_offload(["dit"]) + def initialize_cache( + self, + cache_handle: int, + batch_size: int, + kv_size: int, + max_sequence_length: int, + sample_shift: float, + generator_state: list[int], + ) -> bool: + """Atomically register session-scoped KV, scheduler, and RNG state.""" + if cache_handle in self._cache_registry: + raise ValueError(f"Cache handle {cache_handle} is already registered") + + scheduler = FlowUniPCMultistepScheduler(num_train_timesteps=1000, shift=1, use_dynamic_shifting=False) + timesteps = LingBotWorldFastTimesteps().select(scheduler, sample_shift) + generator = torch.Generator(device=self.device) + generator.set_state(torch.tensor(generator_state, dtype=torch.uint8)) + state = _DenoisingCacheState( + scheduler=scheduler, + timesteps=timesteps, + self_kv_cache=self._init_self_kv_cache(batch_size, kv_size), + crossattn_cache=self._init_crossattn_cache(batch_size, max_sequence_length), + generator=generator, + ) + self._cache_registry[cache_handle] = state + return True @staticmethod def _convert_flow_pred_to_x0( @@ -83,3 +189,57 @@ def denoise_chunk( logger.debug("LingBotWorldFast chunk denoised") return current_latent + + @with_model_offload(["dit"]) + def denoise_and_update_cache( + self, + cache_handle: int, + latent_chunk: torch.Tensor, + condition_chunk: torch.Tensor, + prompt_emb: torch.Tensor, + control_chunk: torch.Tensor | None, + current_start: int, + max_attention_size: int, + ) -> torch.Tensor: + """Denoise a chunk and commit its clean KV state inside each worker.""" + try: + state = self._cache_registry[cache_handle] + except KeyError as exc: + raise KeyError(f"Unknown cache handle {cache_handle}") from exc + denoised = self.denoise_chunk( + latent_chunk=latent_chunk, + condition_chunk=condition_chunk, + prompt_emb=prompt_emb, + timesteps=state.timesteps, + scheduler=state.scheduler, + control_chunk=control_chunk, + self_kv_cache=state.self_kv_cache, + crossattn_cache=state.crossattn_cache, + current_start=current_start, + max_attention_size=max_attention_size, + generator=state.generator, + ) + self.dit( + x=denoised.to(dtype=self.torch_dtype), + timestep=torch.zeros((1,), dtype=torch.float32, device=self.device), + context=prompt_emb, + y=condition_chunk, + control_tensor=control_chunk, + kv_cache=state.self_kv_cache, + crossattn_cache=state.crossattn_cache, + current_start=current_start, + max_attention_size=max_attention_size, + ) + return denoised + + def has_cache(self, cache_handle: int) -> bool: + """Return whether this worker owns the requested cache handle.""" + return cache_handle in self._cache_registry + + def list_cache_handles(self) -> tuple[int, ...]: + """Return registered cache handles for diagnostics and tests.""" + return tuple(sorted(self._cache_registry)) + + def release_cache(self, cache_handle: int) -> bool: + """Idempotently release worker-local state for one generation session.""" + return self._cache_registry.pop(cache_handle, None) is not None diff --git a/telefuser/pipelines/lingbot_world_fast/pipeline.py b/telefuser/pipelines/lingbot_world_fast/pipeline.py index eebf5c9..f91c212 100644 --- a/telefuser/pipelines/lingbot_world_fast/pipeline.py +++ b/telefuser/pipelines/lingbot_world_fast/pipeline.py @@ -12,15 +12,15 @@ from PIL import Image from telefuser.core.base_pipeline import BasePipeline -from telefuser.core.config import ModelRuntimeConfig +from telefuser.core.config import AttentionConfig, ModelRuntimeConfig, ParallelConfig from telefuser.models.lingbot_world_fast_dit import LingBotWorldFastDiT from telefuser.models.t5_tokenizer import HuggingfaceTokenizer from telefuser.models.wan_video_text_encoder import WanTextEncoder from telefuser.models.wan_video_vae import WanVideoVAE -from telefuser.schedulers.unipc import FlowUniPCMultistepScheduler from telefuser.utils.logging import logger from telefuser.utils.model_weight import load_state_dict from telefuser.utils.profiler import ProfilingContext4Debug +from telefuser.worker.parallel_worker import ParallelWorker from .control import ( build_action_control_chunk, @@ -31,8 +31,15 @@ load_action_control_inputs, load_camera_control_inputs, ) -from .denoising import LingBotWorldFastDenoisingStage, LingBotWorldFastTimesteps -from .session import LingBotWorldFastRuntimeState, LingBotWorldFastSessionConfig +from .denoising import LingBotWorldFastDenoisingStage +from .session import ( + LingBotWorldFastChunkRequest, + LingBotWorldFastChunkResult, + LingBotWorldFastGenerationSession, + LingBotWorldFastRuntimeState, + LingBotWorldFastSessionConfig, + LingBotWorldFastSessionStatus, +) @dataclass @@ -48,6 +55,8 @@ class LingBotWorldFastPipelineConfig: max_area: int = 480 * 832 local_attn_size: int = -1 sink_size: int = 0 + parallel_config: ParallelConfig = field(default_factory=ParallelConfig) + attention_config: AttentionConfig = field(default_factory=AttentionConfig) class LingBotWorldFastPipeline(BasePipeline): @@ -59,7 +68,7 @@ def __init__(self, device: str, torch_dtype: torch.dtype = torch.bfloat16) -> No self.width_division_factor = 16 def _get_stages(self) -> list: - return [] + return [self.denoise_stage] if hasattr(self, "denoise_stage") else [] @staticmethod def _notify_progress( @@ -102,16 +111,26 @@ def init(self, module_manager, config: LingBotWorldFastPipelineConfig) -> None: self.vae = self.vae.to(device=self.vae_device, dtype=self.torch_dtype).eval() fast_path = checkpoint_root / config.fast_checkpoint_subdir + dit_device = "cpu" if config.parallel_config.world_size > 1 else self.device self.dit = LingBotWorldFastDiT.from_pretrained( str(fast_path), torch_dtype=config.dit_torch_dtype, control_type=config.control_type, config=self._build_dit_config(config), - ).to(self.device) + ).to(dit_device) self.dit.eval().requires_grad_(False) - self.denoise_stage = LingBotWorldFastDenoisingStage(self.dit, torch_dtype=self.torch_dtype) - self.timesteps = LingBotWorldFastTimesteps() + pipeline_device = torch.device(self.device) + dit_runtime_config = ModelRuntimeConfig( + device_type=pipeline_device.type, + device_id=pipeline_device.index or 0, + torch_dtype=config.dit_torch_dtype, + attention_config=config.attention_config, + parallel_config=config.parallel_config, + ) + denoise_stage = LingBotWorldFastDenoisingStage("lingbot_world_fast_denoise", self.dit, dit_runtime_config) + self.denoise_stage = ParallelWorker(denoise_stage) if config.parallel_config.world_size > 1 else denoise_stage + self._next_cache_handle = 0 @staticmethod def _build_dit_config(config: LingBotWorldFastPipelineConfig) -> dict[str, object]: @@ -146,12 +165,19 @@ def encode_prompt(self, prompt: str) -> torch.Tensor: return prompt_emb.to(self.device) @torch.inference_mode() - def decode_video_cached(self, latents: torch.Tensor, is_first_clip: bool, is_last_clip: bool) -> torch.Tensor: + def decode_video_cached( + self, + session: LingBotWorldFastGenerationSession, + latents: torch.Tensor, + is_first_clip: bool, + is_last_clip: bool, + ) -> torch.Tensor: return self.vae.cached_decode_withflag( latents, device=self.vae_device, is_first_clip=is_first_clip, is_last_clip=is_last_clip, + decode_state=session.decoder_state, ) @staticmethod @@ -203,43 +229,6 @@ def _encode_condition_video(self, image_tensor: torch.Tensor, frame_num: int) -> mask = mask.view(1, mask.shape[1] // 4, 4, latent_h, latent_w).transpose(1, 2)[0] return torch.cat([mask, latent], dim=0) - def _init_self_kv_cache( - self, - batch_size: int, - kv_size: int, - dtype: torch.dtype, - device: str | torch.device, - ) -> list[dict[str, torch.Tensor | int]]: - head_dim = self.dit.dim // self.dit.num_heads - shape = (batch_size, kv_size, self.dit.num_heads, head_dim) - return [ - { - "k": torch.zeros(shape, dtype=dtype, device=device), - "v": torch.zeros(shape, dtype=dtype, device=device), - "global_end_index": 0, - "local_end_index": 0, - } - for _ in range(self.dit.num_layers) - ] - - def _init_crossattn_cache( - self, - batch_size: int, - dtype: torch.dtype, - device: str | torch.device, - max_sequence_length: int, - ) -> list[dict[str, torch.Tensor | bool]]: - head_dim = self.dit.dim // self.dit.num_heads - shape = (batch_size, self.dit.num_heads, max_sequence_length, head_dim) - return [ - { - "k": torch.zeros(shape, dtype=dtype, device=device), - "v": torch.zeros(shape, dtype=dtype, device=device), - "is_init": False, - } - for _ in range(self.dit.num_layers) - ] - def _populate_session_controls(self, session_config: LingBotWorldFastSessionConfig) -> None: if session_config.action_path is None: return @@ -394,13 +383,143 @@ def build_control_override( ) return control.control_tensor - @ProfilingContext4Debug("create_runtime") + def _release_session_cache(self, session: LingBotWorldFastGenerationSession) -> bool: + cache_handle = session.cache_handle + if cache_handle is None: + return True + try: + if isinstance(self.denoise_stage, ParallelWorker): + self.denoise_stage.release_cache(cache_handle, sync=True) + else: + self.denoise_stage.release_cache(cache_handle) + except Exception as exc: + logger.error(f"Failed to release LingBot cache handle {cache_handle}: {exc}") + return False + session.cache_handle = None + return True + + def release_session(self, session: LingBotWorldFastGenerationSession) -> None: + """Idempotently release cache and decoder state owned by a session.""" + with session.transaction_lock: + cache_released = self._release_session_cache(session) + session.decoder_state.feat_cache = [] + session.decoder_state.feat_idx = [0] + session.active = False + if not cache_released: + session.status = LingBotWorldFastSessionStatus.POISONED + session.poisoned_reason = f"Failed to release cache handle {session.cache_handle}" + elif session.status != LingBotWorldFastSessionStatus.POISONED: + session.status = LingBotWorldFastSessionStatus.RELEASED + + def release_runtime(self, runtime: LingBotWorldFastRuntimeState) -> None: + """Compatibility wrapper for the Stage 1 runtime API.""" + self.release_session(runtime) + @torch.inference_mode() - def create_runtime( + def __call__( + self, + session: LingBotWorldFastGenerationSession, + request: LingBotWorldFastChunkRequest, + progress_callback: Callable[..., None] | None = None, + ) -> LingBotWorldFastChunkResult: + """Generate one transactional, action-driven chunk for an external session.""" + if not session.transaction_lock.acquire(blocking=False): + raise RuntimeError("LingBot session already has a chunk in progress") + try: + return self._generate_session_chunk(session, request, progress_callback) + finally: + session.transaction_lock.release() + + def _generate_session_chunk( + self, + session: LingBotWorldFastGenerationSession, + request: LingBotWorldFastChunkRequest, + progress_callback: Callable[..., None] | None, + ) -> LingBotWorldFastChunkResult: + """Execute a chunk while the caller holds the session transaction lock.""" + if session.status == LingBotWorldFastSessionStatus.POISONED: + raise RuntimeError(f"Cannot continue poisoned LingBot session: {session.poisoned_reason}") + if session.status == LingBotWorldFastSessionStatus.RUNNING: + raise RuntimeError("LingBot session already has a chunk in progress") + if not session.active or session.status == LingBotWorldFastSessionStatus.RELEASED: + raise RuntimeError("Cannot generate a chunk from an inactive LingBot session") + if request.chunk_index != session.current_chunk_index: + raise ValueError( + f"Chunk request index {request.chunk_index} does not match session index {session.current_chunk_index}" + ) + + session.status = LingBotWorldFastSessionStatus.RUNNING + try: + control_override = request.control_override + if request.action is not None: + control_override = self.build_control_override(session, request.action) + if control_override is None: + raise ValueError("Chunk action did not produce a control tensor") + + chunk_frames = self.generate_next_chunk( + session, + control_override=control_override, + progress_callback=progress_callback, + ) + except Exception as exc: + session.status = LingBotWorldFastSessionStatus.POISONED + session.poisoned_reason = f"{type(exc).__name__}: {exc}" + session.active = False + self.release_session(session) + raise + + session.status = LingBotWorldFastSessionStatus.COMMITTED + if not session.active and not self._release_session_cache(session): + session.status = LingBotWorldFastSessionStatus.POISONED + session.poisoned_reason = "Final chunk committed but cache release failed" + raise RuntimeError(session.poisoned_reason) + logger.info( + f"Generated LingBot chunk {request.chunk_index + 1}/{len(session.noise_chunks)}: {len(chunk_frames)} frames" + ) + return LingBotWorldFastChunkResult( + chunk_index=request.chunk_index, + frames=chunk_frames, + emitted_frames=session.emitted_frames, + done=not session.active, + session_id=request.session_id, + ) + + @torch.inference_mode() + def generate_video( self, session_config: LingBotWorldFastSessionConfig, progress_callback: Callable[..., None] | None = None, - ) -> LingBotWorldFastRuntimeState: + ) -> list[Image.Image]: + """Compatibility helper that drains an explicit generation session into one video.""" + session = self.create_session(session_config, progress_callback=progress_callback) + frames: list[Image.Image] = [] + try: + while session.active: + chunk_index = session.current_chunk_index + control_override = None + if session.control_chunks is not None and chunk_index < len(session.control_chunks): + control_override = session.control_chunks[chunk_index] + result = self( + session, + LingBotWorldFastChunkRequest( + chunk_index=chunk_index, + control_override=control_override, + ), + progress_callback=progress_callback, + ) + frames.extend(result.frames) + finally: + self.release_session(session) + return frames + + @ProfilingContext4Debug("create_session") + @torch.inference_mode() + def create_session( + self, + session_config: LingBotWorldFastSessionConfig, + progress_callback: Callable[..., None] | None = None, + ) -> LingBotWorldFastGenerationSession: + """Prepare externally owned inputs and a worker-local cache for one session.""" self._notify_progress(progress_callback, "loading_controls") self._populate_session_controls(session_config) self._notify_progress(progress_callback, "encoding_prompt", device=str(self.text_device)) @@ -479,25 +598,14 @@ def create_runtime( chunk_size=session_config.chunk_size, ) - runtime = LingBotWorldFastRuntimeState( + cache_handle = self._next_cache_handle + self._next_cache_handle += 1 + session = LingBotWorldFastGenerationSession( prompt_emb=prompt_emb, encoded_image_latent=latent_condition, noise_chunks=noise_chunks, condition_chunks=condition_chunks, control_chunks=control_chunks, - timesteps=torch.empty(0, dtype=torch.int64), - self_kv_cache=self._init_self_kv_cache( - batch_size=1, - kv_size=kv_size, - dtype=self.torch_dtype, - device=self.device, - ), - crossattn_cache=self._init_crossattn_cache( - batch_size=1, - dtype=self.torch_dtype, - device=self.device, - max_sequence_length=session_config.max_sequence_length, - ), latent_h=lat_h, latent_w=lat_w, latent_f=lat_f, @@ -507,24 +615,46 @@ def create_runtime( frame_tokens=frame_tokens, chunk_size=session_config.chunk_size, max_attention_size=max_attention_size, - scheduler=FlowUniPCMultistepScheduler(num_train_timesteps=1000, shift=1, use_dynamic_shifting=False), - generator=generator, + cache_handle=cache_handle, kv_local_attn_size=self.config.local_attn_size, kv_sink_size=self.config.sink_size if self.config.local_attn_size != -1 else 0, ) - runtime.timesteps = self.timesteps.select(runtime.scheduler, session_config.sample_shift) + try: + initialize_cache_kwargs = dict( + cache_handle=cache_handle, + batch_size=1, + kv_size=kv_size, + max_sequence_length=session_config.max_sequence_length, + sample_shift=session_config.sample_shift, + generator_state=generator.get_state().tolist(), + ) + if isinstance(self.denoise_stage, ParallelWorker): + self.denoise_stage.initialize_cache(**initialize_cache_kwargs, sync=True) + else: + self.denoise_stage.initialize_cache(**initialize_cache_kwargs) + except Exception: + self._release_session_cache(session) + raise if session_config.world_kv_binding is not None: - runtime.world_kv_binding = session_config.world_kv_binding + session.world_kv_binding = session_config.world_kv_binding try: - runtime.world_kv_binding.on_runtime_created(runtime, session_config) - if runtime.world_kv_cached_latents: - logger.info(f"world_kv: fast-forward {len(runtime.world_kv_cached_latents)} chunks (decode-only)") + session.world_kv_binding.on_runtime_created(session, session_config) + if session.world_kv_cached_latents: + logger.info(f"world_kv: fast-forward {len(session.world_kv_cached_latents)} chunks (decode-only)") except Exception as exc: logger.warning(f"world_kv on_runtime_created failed; falling back to cold run: {exc}") - runtime.world_kv_cached_latents = {} + session.world_kv_cached_latents = {} self._notify_progress(progress_callback, "runtime_created", width=width, height=height, latent_frames=lat_f) logger.info(f"LingBot runtime created: {width}x{height}, latent={lat_f}x{lat_h}x{lat_w}") - return runtime + return session + + def create_runtime( + self, + session_config: LingBotWorldFastSessionConfig, + progress_callback: Callable[..., None] | None = None, + ) -> LingBotWorldFastRuntimeState: + """Compatibility wrapper for the Stage 1 runtime API.""" + return self.create_session(session_config, progress_callback=progress_callback) @torch.inference_mode() def generate_next_chunk( @@ -555,33 +685,19 @@ def generate_next_chunk( denoised = cached_latent.to(device=self.device, dtype=self.torch_dtype) else: with ProfilingContext4Debug("denoise_chunk"): - denoised = self.denoise_stage.denoise_chunk( + denoise_kwargs = dict( + cache_handle=runtime.cache_handle, latent_chunk=latent_chunk, condition_chunk=condition_chunk, prompt_emb=runtime.prompt_emb, - timesteps=runtime.timesteps, - scheduler=runtime.scheduler, control_chunk=control_chunk, - self_kv_cache=runtime.self_kv_cache, - crossattn_cache=runtime.crossattn_cache, - current_start=current_start, - max_attention_size=runtime.max_attention_size, - generator=runtime.generator, - ) - - self._notify_progress(progress_callback, "updating_cache", index=idx) - with ProfilingContext4Debug("kv_cache_update_forward"): - self.dit( - x=denoised.to(dtype=self.torch_dtype), - timestep=torch.zeros((1,), dtype=torch.float32, device=self.device), - context=runtime.prompt_emb, - y=condition_chunk, - control_tensor=control_chunk, - kv_cache=runtime.self_kv_cache, - crossattn_cache=runtime.crossattn_cache, current_start=current_start, max_attention_size=runtime.max_attention_size, ) + if isinstance(self.denoise_stage, ParallelWorker): + denoised = self.denoise_stage.denoise_and_update_cache(**denoise_kwargs, sync=True) + else: + denoised = self.denoise_stage.denoise_and_update_cache(**denoise_kwargs) if runtime.world_kv_binding is not None: try: @@ -592,6 +708,7 @@ def generate_next_chunk( self._notify_progress(progress_callback, "decoding_chunk", index=idx, device=str(self.vae_device)) with ProfilingContext4Debug("vae_decode"): frames = self.decode_video_cached( + runtime, denoised, is_first_clip=(idx == 0), is_last_clip=(idx == len(runtime.noise_chunks) - 1), diff --git a/telefuser/pipelines/lingbot_world_fast/service.py b/telefuser/pipelines/lingbot_world_fast/service.py index 1ea3a72..f2f1134 100644 --- a/telefuser/pipelines/lingbot_world_fast/service.py +++ b/telefuser/pipelines/lingbot_world_fast/service.py @@ -17,7 +17,8 @@ from .pipeline import LingBotWorldFastPipeline from .session import ( - LingBotWorldFastRuntimeState, + LingBotWorldFastChunkRequest, + LingBotWorldFastGenerationSession, LingBotWorldFastSessionConfig, LingBotWorldFastSessionState, ) @@ -94,7 +95,7 @@ def create_session(self, config: dict) -> str: fps=int(config.get("fps") or self.default_fps), chunk_size=int(config.get("chunk_size", 3)), frame_num=int(config.get("frame_num", 81)), - sample_shift=float(config.get("sample_shift", 5.0)), + sample_shift=float(config.get("sample_shift", 10.0)), seed=int(config.get("seed", 42)), max_attention_size=config.get("max_attention_size"), offload_model=bool(config.get("offload_model", False)), @@ -126,11 +127,10 @@ def _put_output(state: LingBotWorldFastSessionState, payload: dict) -> None: except Exception as exc: logger.warning(f"Failed to enqueue LingBotWorld output: {exc}") - @staticmethod - def _release_runtime(state: LingBotWorldFastSessionState) -> None: - if state.runtime is not None: - state.runtime.active = False - state.runtime = None + def _release_generation_session(self, state: LingBotWorldFastSessionState) -> None: + if state.generation_session is not None: + self.pipeline.release_session(state.generation_session) + state.generation_session = None with state.control_lock: state.pressed_controls.clear() state.queued_controls.clear() @@ -245,7 +245,7 @@ def _overlay_control_hud(cls, frames: list[Image.Image], controls: list[str] | N def _build_directional_control_chunk( self, state: LingBotWorldFastSessionState, - runtime: LingBotWorldFastRuntimeState, + runtime: LingBotWorldFastGenerationSession, ) -> dict | None: with state.control_lock: controls = set(state.pressed_controls) | set(state.queued_controls) @@ -253,7 +253,7 @@ def _build_directional_control_chunk( yaw = float(state.control_yaw) position = [float(v) for v in state.control_position] - if not controls or runtime.current_chunk_index >= len(runtime.noise_chunks): + if runtime.current_chunk_index >= len(runtime.noise_chunks): return None latent_frames = int(runtime.noise_chunks[runtime.current_chunk_index].shape[2]) @@ -364,8 +364,8 @@ def _run_worker_loop( try: self._emit_preview_frame(state) emit_status("initializing_runtime") - state.runtime = self.pipeline.create_runtime(state.config, progress_callback=emit_status) - runtime = state.runtime + state.generation_session = self.pipeline.create_session(state.config, progress_callback=emit_status) + runtime = state.generation_session emit_status( "runtime_ready", width=runtime.width, @@ -375,8 +375,11 @@ def _run_worker_loop( ) chunk_index = 0 while state.active and runtime.active: - control_override = None - incoming = None + incoming = state.pending_inputs.get() + if incoming.get("type") == "stop": + break + + explicit_control = incoming if self._is_explicit_control_chunk(incoming) else None applied_controls = None while True: try: @@ -387,32 +390,40 @@ def _run_worker_loop( incoming = next_item break if self._is_explicit_control_chunk(next_item): - incoming = next_item + explicit_control = next_item if incoming and incoming.get("type") == "stop": break - if incoming: - control_override = self.pipeline.build_control_override(runtime, incoming) - if control_override is None: + if explicit_control is not None: + control_override = self.pipeline.build_control_override(runtime, explicit_control) + else: directional_chunk = self._build_directional_control_chunk(state, runtime) - if directional_chunk is not None: - applied_controls = directional_chunk["controls"] - emit_status( - "applying_direction_control", - index=chunk_index, - controls=applied_controls, - move_step=state.config.control_move_step, - yaw_step_degrees=state.config.control_yaw_step_degrees, - lateral_step=state.config.control_lateral_step, - ) - control_override = self.pipeline.build_control_override(runtime, directional_chunk) + if directional_chunk is None: + raise RuntimeError("Directional action could not be converted into a control chunk") + applied_controls = directional_chunk["controls"] + emit_status( + "applying_direction_control", + index=chunk_index, + controls=applied_controls, + move_step=state.config.control_move_step, + yaw_step_degrees=state.config.control_yaw_step_degrees, + lateral_step=state.config.control_lateral_step, + ) + control_override = self.pipeline.build_control_override(runtime, directional_chunk) + if control_override is None: + raise ValueError("Action did not produce a control tensor") emit_status("generating_chunk", index=chunk_index) - frames = self.pipeline.generate_next_chunk( + result = self.pipeline( runtime, - control_override=control_override, + LingBotWorldFastChunkRequest( + chunk_index=runtime.current_chunk_index, + session_id=session_id, + control_override=control_override, + ), progress_callback=emit_status, ) + frames = result.frames if not frames: break if state.config.show_control_hud and applied_controls: @@ -441,13 +452,15 @@ def _run_worker_loop( finally: state.active = False self._put_output(state, {"type": "done"}) - self._release_runtime(state) + self._release_generation_session(state) def push_chunk(self, session_id: str, chunk: dict) -> None: state = self._sessions.get(session_id) if state is None: return - if chunk.get("type") == "control" and self._update_direction_controls(state, chunk): + is_direction_action = chunk.get("type") == "control" and self._update_direction_controls(state, chunk) + if is_direction_action: + state.pending_inputs.put({"type": "direction_control"}) return state.pending_inputs.put(chunk) @@ -479,5 +492,5 @@ def close_session(self, session_id: str) -> None: return state.active = False state.pending_inputs.put({"type": "stop"}) - self._release_runtime(state) + self._release_generation_session(state) logger.info(f"LingBotWorld session closed: {session_id}") diff --git a/telefuser/pipelines/lingbot_world_fast/session.py b/telefuser/pipelines/lingbot_world_fast/session.py index ad6e429..e416421 100644 --- a/telefuser/pipelines/lingbot_world_fast/session.py +++ b/telefuser/pipelines/lingbot_world_fast/session.py @@ -4,11 +4,12 @@ import queue import threading from dataclasses import dataclass, field +from enum import Enum import torch from PIL import Image -from telefuser.schedulers.unipc import FlowUniPCMultistepScheduler +from telefuser.models.wan_video_vae import WanVideoVAEStreamingDecodeState @dataclass @@ -19,7 +20,7 @@ class LingBotWorldFastSessionConfig: fps: int = 16 chunk_size: int = 3 frame_num: int = 81 - sample_shift: float = 5.0 + sample_shift: float = 10.0 seed: int = 42 max_attention_size: int | None = None offload_model: bool = False @@ -37,15 +38,53 @@ class LingBotWorldFastSessionConfig: @dataclass -class LingBotWorldFastRuntimeState: +class LingBotWorldFastChunkRequest: + """Inputs for one explicitly indexed LingBot video chunk.""" + + chunk_index: int + session_id: str | None = None + action: dict[str, object] | None = field(default=None, repr=False) + control_override: torch.Tensor | None = field(default=None, repr=False) + + def __post_init__(self) -> None: + if self.chunk_index < 0: + raise ValueError(f"chunk_index must be non-negative, got {self.chunk_index}") + if self.action is not None and self.control_override is not None: + raise ValueError("Provide either action or control_override, not both") + if self.action is None and self.control_override is None: + raise ValueError("Each chunk request requires action or control_override") + + +@dataclass +class LingBotWorldFastChunkResult: + """Output and progress metadata for one generated LingBot chunk.""" + + chunk_index: int + frames: list[Image.Image] = field(repr=False) + emitted_frames: int = 0 + done: bool = False + session_id: str | None = None + + +class LingBotWorldFastSessionStatus(str, Enum): + """Transaction and lifecycle state for one generation session.""" + + READY = "ready" + RUNNING = "running" + COMMITTED = "committed" + POISONED = "poisoned" + RELEASED = "released" + + +@dataclass +class LingBotWorldFastGenerationSession: + """Externally owned state for one chunked LingBot generation.""" + prompt_emb: torch.Tensor encoded_image_latent: torch.Tensor noise_chunks: list[torch.Tensor] condition_chunks: list[torch.Tensor] control_chunks: list[torch.Tensor] | None - timesteps: torch.Tensor - self_kv_cache: list[dict[str, torch.Tensor | int]] - crossattn_cache: list[dict[str, torch.Tensor | bool]] latent_h: int latent_w: int latent_f: int @@ -55,11 +94,14 @@ class LingBotWorldFastRuntimeState: frame_tokens: int chunk_size: int max_attention_size: int - scheduler: FlowUniPCMultistepScheduler + cache_handle: int | None + decoder_state: WanVideoVAEStreamingDecodeState = field(default_factory=WanVideoVAEStreamingDecodeState) current_chunk_index: int = 0 emitted_frames: int = 0 active: bool = True - generator: torch.Generator | None = None + status: LingBotWorldFastSessionStatus = LingBotWorldFastSessionStatus.READY + poisoned_reason: str | None = None + transaction_lock: object = field(default_factory=threading.RLock, repr=False) # KV geometry in latent frames; -1 means full-length KV. kv_local_attn_size: int = -1 kv_sink_size: int = 0 @@ -68,10 +110,14 @@ class LingBotWorldFastRuntimeState: world_kv_cached_latents: dict[int, torch.Tensor] = field(default_factory=dict) +# Compatibility alias for callers migrating from the Stage 1 API. +LingBotWorldFastRuntimeState = LingBotWorldFastGenerationSession + + @dataclass class LingBotWorldFastSessionState: config: LingBotWorldFastSessionConfig - runtime: LingBotWorldFastRuntimeState | None = None + generation_session: LingBotWorldFastGenerationSession | None = None pending_inputs: "queue.Queue[dict]" = field(default_factory=queue.Queue) output_queue: asyncio.Queue | None = None worker_thread: threading.Thread | None = None diff --git a/tests/unit/models/test_lingbot_world_fast_dit.py b/tests/unit/models/test_lingbot_world_fast_dit.py new file mode 100644 index 0000000..6198884 --- /dev/null +++ b/tests/unit/models/test_lingbot_world_fast_dit.py @@ -0,0 +1,97 @@ +from unittest.mock import patch + +import torch + +from telefuser.core.config import AttentionConfig, AttnImplType +from telefuser.models.lingbot_world_fast_dit import ( + CachedCrossAttention, + CausalSelfAttention, + LingBotWorldFastDiT, +) +from telefuser.models.wan_video_dit import precompute_freqs_cis_3d + + +def test_causal_self_attention_uses_unified_attention() -> None: + attention = CausalSelfAttention(dim=32, num_heads=4) + attention_config = AttentionConfig.dense_attention(AttnImplType.SAGE_ATTN_2_8_8_SM90) + attention.attention_config = attention_config + + freqs = precompute_freqs_cis_3d(8) + freqs_cos = torch.cat([freq.real for freq in freqs], dim=-1) + freqs_sin = torch.cat([freq.imag for freq in freqs], dim=-1) + cache = { + "k": torch.zeros(1, 12, 4, 8), + "v": torch.zeros(1, 12, 4, 8), + "global_end_index": 0, + "local_end_index": 0, + } + captured: dict[str, object] = {} + + def fake_attention(q: torch.Tensor, k: torch.Tensor, v: torch.Tensor, **kwargs: object) -> torch.Tensor: + captured.update(q_shape=q.shape, k_shape=k.shape, v_shape=v.shape, **kwargs) + return q + + with patch("telefuser.models.lingbot_world_fast_dit.attn_func", side_effect=fake_attention): + output = attention( + torch.randn(1, 6, 32), + freqs_cos, + freqs_sin, + (1, 2, 3), + cache, + current_start=0, + max_attention_size=12, + ) + + assert output.shape == (1, 6, 32) + assert captured["q_shape"] == torch.Size([1, 6, 4, 8]) + assert captured["k_shape"] == torch.Size([1, 6, 4, 8]) + assert captured["v_shape"] == torch.Size([1, 6, 4, 8]) + assert captured["attention_config"] is attention_config + assert captured["input_layout"] == "BSND" + assert captured["output_layout"] == "BSND" + + +def test_cached_cross_attention_uses_unified_attention_and_bsnd_cache() -> None: + attention = CachedCrossAttention(dim=32, num_heads=4) + attention_config = AttentionConfig.dense_attention(AttnImplType.SAGE_ATTN_2_8_8_SM90) + attention.attention_config = attention_config + cache: dict[str, torch.Tensor | bool] = {"is_init": False} + calls: list[tuple[torch.Size, torch.Size, AttentionConfig]] = [] + + def fake_attention(q: torch.Tensor, k: torch.Tensor, v: torch.Tensor, **kwargs: object) -> torch.Tensor: + assert k.shape == v.shape + calls.append((q.shape, k.shape, kwargs["attention_config"])) + return q + + with patch("telefuser.models.lingbot_world_fast_dit.attn_func", side_effect=fake_attention): + output = attention(torch.randn(1, 6, 32), torch.randn(1, 5, 32), cache) + cached_output = attention(torch.randn(1, 6, 32), torch.randn(1, 5, 32), cache) + + assert output.shape == cached_output.shape == (1, 6, 32) + assert calls == [ + (torch.Size([1, 6, 4, 8]), torch.Size([1, 5, 4, 8]), attention_config), + (torch.Size([1, 6, 4, 8]), torch.Size([1, 5, 4, 8]), attention_config), + ] + assert cache["k"].shape == torch.Size([1, 5, 4, 8]) + assert cache["v"].shape == torch.Size([1, 5, 4, 8]) + assert cache["is_init"] is True + + +def test_set_attention_config_updates_all_blocks() -> None: + model = LingBotWorldFastDiT( + in_dim=4, + dim=32, + ffn_dim=64, + freq_dim=8, + text_dim=16, + out_dim=4, + num_heads=4, + num_layers=2, + ) + attention_config = AttentionConfig.dense_attention(AttnImplType.SAGE_ATTN_2_8_8_SM90) + + model.set_attention_config(attention_config) + + for block in model.blocks: + assert block.self_attn.attention_config is attention_config + assert block.cross_attn.attention_config is attention_config diff --git a/tests/unit/ops/test_attention_backends.py b/tests/unit/ops/test_attention_backends.py new file mode 100644 index 0000000..56155b5 --- /dev/null +++ b/tests/unit/ops/test_attention_backends.py @@ -0,0 +1,31 @@ +from types import ModuleType +from unittest.mock import patch + +from telefuser.ops.attention import backends + + +def test_sage_attention_prefers_tf_kernel() -> None: + imported_modules: list[str] = [] + tf_kernel_module = ModuleType("tf_kernel.sageattn2") + previous_available = backends.SAGE_ATTN_AVAILABLE + previous_backend = backends.sageattention + + def import_module(name: str) -> ModuleType: + imported_modules.append(name) + return tf_kernel_module + + try: + backends.SAGE_ATTN_AVAILABLE = False + backends.sageattention = None + with ( + patch("telefuser.ops.attention.backends.importlib.util.find_spec", return_value=object()), + patch("telefuser.ops.attention.backends.importlib.import_module", side_effect=import_module), + ): + backends._try_import_sage_attn() + + assert imported_modules == ["tf_kernel.sageattn2"] + assert backends.SAGE_ATTN_AVAILABLE is True + assert backends.sageattention is tf_kernel_module + finally: + backends.SAGE_ATTN_AVAILABLE = previous_available + backends.sageattention = previous_backend diff --git a/tests/unit/pipelines/lingbot_world_fast/test_parallelism.py b/tests/unit/pipelines/lingbot_world_fast/test_parallelism.py new file mode 100644 index 0000000..2cb47dd --- /dev/null +++ b/tests/unit/pipelines/lingbot_world_fast/test_parallelism.py @@ -0,0 +1,76 @@ +from unittest.mock import MagicMock, patch + +import torch + +from telefuser.core.config import AttentionConfig, ModelRuntimeConfig, ParallelConfig +from telefuser.pipelines.lingbot_world_fast.denoising import LingBotWorldFastDenoisingStage + + +def test_denoising_stage_parallel_models_enables_ulysses_and_fsdp() -> None: + dit = MagicMock() + dit.get_fsdp_module_names.return_value = ["blocks"] + parallel_config = ParallelConfig( + device_ids=[0, 1, 2, 3], + sp_ulysses_degree=4, + enable_fsdp=True, + ) + runtime_config = ModelRuntimeConfig( + device_type="cuda", + device_id=0, + torch_dtype=torch.bfloat16, + attention_config=AttentionConfig(), + parallel_config=parallel_config, + ) + stage = LingBotWorldFastDenoisingStage("denoise", dit, runtime_config) + device_mesh = MagicMock() + fsdp_model = MagicMock() + + with ( + patch( + "telefuser.pipelines.lingbot_world_fast.denoising.create_device_mesh_from_config", + return_value=device_mesh, + ) as create_mesh, + patch( + "telefuser.pipelines.lingbot_world_fast.denoising.shard_model", + return_value=fsdp_model, + ) as shard, + ): + stage.parallel_models() + + create_mesh.assert_called_once_with(parallel_config) + dit.enable_usp.assert_called_once_with(device_mesh) + shard.assert_called_once_with( + module=dit, + device_id=stage.device, + wrap_module_names=["blocks"], + param_dtype=torch.bfloat16, + reduce_dtype=torch.bfloat16, + buffer_dtype=torch.bfloat16, + ) + assert stage.dit is fsdp_model + assert stage.onload_models_flag is True + + +def test_denoising_stage_parallel_models_without_fsdp_keeps_model() -> None: + dit = MagicMock() + parallel_config = ParallelConfig(device_ids=[0, 1], sp_ulysses_degree=2) + runtime_config = ModelRuntimeConfig( + device_type="cuda", + device_id=0, + parallel_config=parallel_config, + ) + stage = LingBotWorldFastDenoisingStage("denoise", dit, runtime_config) + device_mesh = MagicMock() + + with ( + patch( + "telefuser.pipelines.lingbot_world_fast.denoising.create_device_mesh_from_config", + return_value=device_mesh, + ), + patch("telefuser.pipelines.lingbot_world_fast.denoising.shard_model") as shard, + ): + stage.parallel_models() + + dit.enable_usp.assert_called_once_with(device_mesh) + shard.assert_not_called() + assert stage.dit is dit diff --git a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py new file mode 100644 index 0000000..f8f2caf --- /dev/null +++ b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py @@ -0,0 +1,244 @@ +import threading +from types import SimpleNamespace +from unittest.mock import MagicMock, patch + +import pytest +import torch +from PIL import Image + +from telefuser.pipelines.lingbot_world_fast.pipeline import LingBotWorldFastPipeline +from telefuser.pipelines.lingbot_world_fast.session import ( + LingBotWorldFastChunkRequest, + LingBotWorldFastGenerationSession, + LingBotWorldFastSessionConfig, + LingBotWorldFastSessionStatus, +) + + +def _session( + *, + active: bool = True, + current_chunk_index: int = 0, + chunk_count: int = 2, +) -> LingBotWorldFastGenerationSession: + empty = torch.empty(0) + return LingBotWorldFastGenerationSession( + prompt_emb=empty, + encoded_image_latent=empty, + noise_chunks=[empty for _ in range(chunk_count)], + condition_chunks=[empty for _ in range(chunk_count)], + control_chunks=None, + latent_h=1, + latent_w=1, + latent_f=chunk_count, + height=8, + width=8, + max_seq_len=1, + frame_tokens=1, + chunk_size=1, + max_attention_size=1, + cache_handle=7, + active=active, + current_chunk_index=current_chunk_index, + ) + + +def test_pipeline_call_generates_one_explicitly_indexed_chunk() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline.denoise_stage = MagicMock() + runtime = _session() + expected = [Image.new("RGB", (8, 8), "red") for _ in range(9)] + + def generate_next_chunk(runtime_state, control_override=None, progress_callback=None): + runtime_state.current_chunk_index += 1 + runtime_state.emitted_frames += len(expected) + return expected + + pipeline.generate_next_chunk = MagicMock(side_effect=generate_next_chunk) + progress_callback = MagicMock() + control = torch.zeros(1) + + result = pipeline( + runtime, + LingBotWorldFastChunkRequest( + chunk_index=0, + session_id="session-a", + control_override=control, + ), + progress_callback=progress_callback, + ) + + assert result.frames == expected + assert result.chunk_index == 0 + assert result.session_id == "session-a" + assert result.emitted_frames == 9 + assert result.done is False + assert runtime.status == LingBotWorldFastSessionStatus.COMMITTED + pipeline.generate_next_chunk.assert_called_once_with( + runtime, + control_override=control, + progress_callback=progress_callback, + ) + + +def test_chunk_request_rejects_invalid_inputs() -> None: + with pytest.raises(ValueError, match="non-negative"): + LingBotWorldFastChunkRequest(chunk_index=-1) + + with pytest.raises(ValueError, match="either action or control_override"): + LingBotWorldFastChunkRequest( + chunk_index=0, + action={"poses": object()}, + control_override=torch.zeros(1), + ) + + with pytest.raises(ValueError, match="requires action or control_override"): + LingBotWorldFastChunkRequest(chunk_index=0) + + +def test_pipeline_call_rejects_inactive_runtime() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + runtime = _session(active=False) + pipeline.generate_next_chunk = MagicMock() + + with pytest.raises(RuntimeError, match="inactive"): + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control_override=torch.zeros(1))) + + pipeline.generate_next_chunk.assert_not_called() + + +def test_pipeline_call_rejects_out_of_order_chunk() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + runtime = _session(current_chunk_index=1) + pipeline.generate_next_chunk = MagicMock() + + with pytest.raises(ValueError, match="does not match session index"): + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control_override=torch.zeros(1))) + + pipeline.generate_next_chunk.assert_not_called() + + +def test_pipeline_call_builds_control_from_external_action() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline.denoise_stage = MagicMock() + runtime = _session() + control = torch.zeros(1) + action = {"poses": object(), "intrinsics": object(), "action": object()} + pipeline.build_control_override = MagicMock(return_value=control) + pipeline.generate_next_chunk = MagicMock(return_value=[]) + + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, action=action)) + + pipeline.build_control_override.assert_called_once_with(runtime, action) + pipeline.generate_next_chunk.assert_called_once_with( + runtime, + control_override=control, + progress_callback=None, + ) + + +def test_pipeline_call_releases_runtime_when_action_conversion_fails() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline.denoise_stage = MagicMock() + runtime = _session() + pipeline.build_control_override = MagicMock(side_effect=ValueError("invalid action")) + + with pytest.raises(ValueError, match="invalid action"): + pipeline( + runtime, + LingBotWorldFastChunkRequest(chunk_index=0, action={"poses": object()}), + ) + + assert runtime.active is False + assert runtime.status == LingBotWorldFastSessionStatus.POISONED + assert runtime.cache_handle is None + pipeline.denoise_stage.release_cache.assert_called_once_with(7) + + +def test_pipeline_call_releases_runtime_when_generation_fails() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline.denoise_stage = MagicMock() + runtime = _session(chunk_count=1) + pipeline.generate_next_chunk = MagicMock(side_effect=RuntimeError("generation failed")) + + with pytest.raises(RuntimeError, match="generation failed"): + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control_override=torch.zeros(1))) + + assert runtime.active is False + assert runtime.status == LingBotWorldFastSessionStatus.POISONED + assert runtime.poisoned_reason == "RuntimeError: generation failed" + pipeline.denoise_stage.release_cache.assert_called_once_with(7) + + with pytest.raises(RuntimeError, match="poisoned"): + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control_override=torch.zeros(1))) + + +def test_release_session_is_idempotent() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline.denoise_stage = MagicMock() + session = _session() + + pipeline.release_session(session) + pipeline.release_session(session) + + pipeline.denoise_stage.release_cache.assert_called_once_with(7) + assert session.cache_handle is None + assert session.status == LingBotWorldFastSessionStatus.RELEASED + + +def test_concurrent_chunk_on_same_session_is_rejected() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + session = _session() + lock_acquired = threading.Event() + release_lock = threading.Event() + + def hold_transaction() -> None: + with session.transaction_lock: + lock_acquired.set() + release_lock.wait(timeout=2.0) + + holder = threading.Thread(target=hold_transaction, daemon=True) + holder.start() + assert lock_acquired.wait(timeout=1.0) + + try: + with pytest.raises(RuntimeError, match="already has a chunk in progress"): + pipeline( + session, + LingBotWorldFastChunkRequest( + chunk_index=0, + control_override=torch.zeros(1), + ), + ) + finally: + release_lock.set() + holder.join(timeout=1.0) + + assert not holder.is_alive() + assert session.status == LingBotWorldFastSessionStatus.READY + + +def test_generate_video_drains_runtime_and_releases_it() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + runtime = _session(chunk_count=2) + runtime.control_chunks = [torch.tensor([1]), torch.tensor([2])] + pipeline.create_session = MagicMock(return_value=runtime) + pipeline.release_session = MagicMock(side_effect=lambda state: setattr(state, "active", False)) + frame = Image.new("RGB", (8, 8)) + + def generate(runtime_state, request, progress_callback=None): + runtime_state.current_chunk_index += 1 + runtime_state.emitted_frames += 1 + if runtime_state.current_chunk_index == 2: + runtime_state.active = False + return SimpleNamespace(frames=[frame]) + + config = LingBotWorldFastSessionConfig(prompt="test", image=frame) + + with patch.object(LingBotWorldFastPipeline, "__call__", side_effect=generate) as generate_chunk: + frames = pipeline.generate_video(config) + + assert frames == [frame, frame] + assert generate_chunk.call_count == 2 + pipeline.create_session.assert_called_once_with(config, progress_callback=None) + pipeline.release_session.assert_called_once_with(runtime) diff --git a/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py b/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py new file mode 100644 index 0000000..e539547 --- /dev/null +++ b/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py @@ -0,0 +1,212 @@ +from types import SimpleNamespace +from unittest.mock import MagicMock + +import numpy as np +import pytest +import torch +from PIL import Image + +from telefuser.pipelines.lingbot_world_fast.denoising import LingBotWorldFastDenoisingStage, LingBotWorldFastTimesteps +from telefuser.pipelines.lingbot_world_fast.pipeline import LingBotWorldFastPipeline +from telefuser.pipelines.lingbot_world_fast.session import LingBotWorldFastSessionConfig + + +def _build_runtime_pipeline() -> LingBotWorldFastPipeline: + pipeline = LingBotWorldFastPipeline(device="cpu", torch_dtype=torch.float32) + pipeline.text_device = torch.device("cpu") + pipeline.vae_device = torch.device("cpu") + pipeline.config = SimpleNamespace( + control_type="cam", + max_area=16 * 16, + orig_height=16, + orig_width=16, + local_attn_size=-1, + sink_size=0, + ) + pipeline.dit = SimpleNamespace( + patch_size=(1, 2, 2), + dim=8, + num_heads=2, + num_layers=1, + ) + pipeline.denoise_stage = MagicMock() + pipeline._next_cache_handle = 0 + pipeline.timesteps = LingBotWorldFastTimesteps() + pipeline._populate_session_controls = MagicMock() + pipeline.encode_prompt = MagicMock(return_value=torch.zeros(1, 4, 8)) + pipeline._prepare_image_tensor = MagicMock(return_value=torch.zeros(3, 16, 16)) + pipeline._encode_condition_video = MagicMock( + side_effect=lambda _image, frame_num: torch.zeros(17, (frame_num - 1) // 4 + 1, 2, 2) + ) + pipeline._prepare_control_chunks = MagicMock(return_value=None) + return pipeline + + +def _create_runtime(frame_num: int, seed: int = 42): + pipeline = _build_runtime_pipeline() + runtime = pipeline.create_runtime( + LingBotWorldFastSessionConfig( + prompt="baseline", + image=Image.new("RGB", (16, 16)), + frame_num=frame_num, + chunk_size=3, + seed=seed, + ) + ) + return pipeline, runtime + + +def test_aligned_81_frame_runtime_has_seven_complete_latent_chunks() -> None: + pipeline, runtime = _create_runtime(frame_num=81) + + assert runtime.latent_f == 21 + assert len(runtime.noise_chunks) == 7 + assert len(runtime.condition_chunks) == 7 + assert all(chunk.shape[2] == 3 for chunk in runtime.noise_chunks) + assert all(chunk.shape[2] == 3 for chunk in runtime.condition_chunks) + assert runtime.cache_handle == 0 + assert not hasattr(runtime, "self_kv_cache") + pipeline.denoise_stage.initialize_cache.assert_called_once() + pipeline._encode_condition_video.assert_called_once() + + +def test_generation_sessions_receive_isolated_cache_and_decoder_handles() -> None: + pipeline = _build_runtime_pipeline() + config = LingBotWorldFastSessionConfig( + prompt="baseline", + image=Image.new("RGB", (16, 16)), + frame_num=9, + chunk_size=3, + ) + + first = pipeline.create_session(config) + second = pipeline.create_session(config) + + assert first.cache_handle == 0 + assert second.cache_handle == 1 + assert first.decoder_state is not second.decoder_state + assert pipeline.denoise_stage.initialize_cache.call_count == 2 + + +def test_cache_initialization_failure_triggers_global_cleanup() -> None: + pipeline = _build_runtime_pipeline() + pipeline.denoise_stage.initialize_cache.side_effect = RuntimeError("rank initialization failed") + + with pytest.raises(RuntimeError, match="rank initialization failed"): + pipeline.create_session( + LingBotWorldFastSessionConfig( + prompt="baseline", + image=Image.new("RGB", (16, 16)), + frame_num=9, + ) + ) + + pipeline.denoise_stage.release_cache.assert_called_once_with(0) + + +def test_runtime_noise_is_reproducible_and_seed_dependent() -> None: + _, first = _create_runtime(frame_num=21, seed=7) + _, repeated = _create_runtime(frame_num=21, seed=7) + _, different = _create_runtime(frame_num=21, seed=8) + + first_noise = torch.cat(first.noise_chunks, dim=2) + repeated_noise = torch.cat(repeated.noise_chunks, dim=2) + different_noise = torch.cat(different.noise_chunks, dim=2) + + torch.testing.assert_close(first_noise, repeated_noise) + assert not torch.equal(first_noise, different_noise) + + +def test_denoising_generator_state_advances_between_chunks() -> None: + class Scheduler: + sigmas = torch.tensor([1.0, 0.0]) + timesteps = torch.tensor([10.0, 0.0]) + + @staticmethod + def add_noise(x0: torch.Tensor, noise: torch.Tensor, _timestep: torch.Tensor) -> torch.Tensor: + return x0 + noise + + stage = LingBotWorldFastDenoisingStage.__new__(LingBotWorldFastDenoisingStage) + stage.torch_dtype = torch.float32 + stage.dit = MagicMock(side_effect=lambda **kwargs: torch.zeros_like(kwargs["x"])) + timesteps = torch.tensor([10.0, 0.0]) + latent = torch.zeros(1, 1, 1, 1, 1) + generator = torch.Generator(device="cpu").manual_seed(123) + + def denoise(active_generator: torch.Generator) -> torch.Tensor: + return stage.denoise_chunk( + latent_chunk=latent, + condition_chunk=latent, + prompt_emb=torch.zeros(1, 1, 1), + timesteps=timesteps, + scheduler=Scheduler(), + control_chunk=None, + self_kv_cache=[], + crossattn_cache=[], + current_start=0, + max_attention_size=1, + generator=active_generator, + ) + + first = denoise(generator) + second = denoise(generator) + repeated = denoise(torch.Generator(device="cpu").manual_seed(123)) + + torch.testing.assert_close(first, repeated) + assert not torch.equal(first, second) + + +def test_final_chunk_marks_runtime_inactive_and_releases_denoise_state() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu", torch_dtype=torch.float32) + pipeline.vae_device = torch.device("cpu") + pipeline.denoise_stage = object() + pipeline.decode_video_cached = MagicMock(return_value=torch.zeros(1)) + expected_frames = [Image.new("RGB", (8, 8)) for _ in range(9)] + pipeline.tensor2video = MagicMock(return_value=expected_frames) + cached_latent = torch.zeros(1, 1, 3, 2, 2) + runtime = SimpleNamespace( + current_chunk_index=0, + noise_chunks=[torch.zeros_like(cached_latent)], + condition_chunks=[torch.zeros_like(cached_latent)], + control_chunks=None, + chunk_size=3, + frame_tokens=1, + world_kv_cached_latents={0: cached_latent}, + world_kv_binding=None, + active=True, + emitted_frames=0, + ) + + frames = pipeline.generate_next_chunk(runtime) + + assert frames == expected_frames + assert runtime.current_chunk_index == 1 + assert runtime.emitted_frames == 9 + assert runtime.active is False + + +@pytest.mark.xfail(strict=True, reason="Non-aligned frame counts are silently truncated instead of rejected") +def test_runtime_rejects_non_aligned_frame_count() -> None: + with pytest.raises(ValueError, match="frame_num"): + _create_runtime(frame_num=13) + + +@pytest.mark.xfail(strict=True, reason="Frame counts smaller than one complete chunk are not validated") +def test_runtime_rejects_frame_count_smaller_than_first_chunk() -> None: + with pytest.raises(ValueError, match="frame_num"): + _create_runtime(frame_num=5) + + +@pytest.mark.xfail(strict=True, reason="Control alignment currently considers pose length only") +def test_control_alignment_rejects_short_action_sequence() -> None: + poses = np.zeros((9, 4, 4), dtype=np.float32) + intrinsics = np.zeros((9, 4), dtype=np.float32) + action = np.zeros((5, 6), dtype=np.float32) + + with pytest.raises(ValueError, match="action"): + LingBotWorldFastPipeline._truncate_control_inputs_to_frame_num( + poses=poses, + intrinsics=intrinsics, + action=action, + frame_num=9, + ) diff --git a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py new file mode 100644 index 0000000..6c21b6e --- /dev/null +++ b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py @@ -0,0 +1,83 @@ +import threading +from types import SimpleNamespace +from unittest.mock import MagicMock + +import torch +from PIL import Image + +from telefuser.pipelines.lingbot_world_fast.service import LingBotWorldFastService +from telefuser.pipelines.lingbot_world_fast.session import ( + LingBotWorldFastSessionConfig, + LingBotWorldFastSessionState, +) + + +def _state() -> LingBotWorldFastSessionState: + return LingBotWorldFastSessionState( + config=LingBotWorldFastSessionConfig( + prompt="test", + image=Image.new("RGB", (8, 8)), + frame_num=9, + ) + ) + + +def test_online_worker_waits_for_external_action_before_generating() -> None: + pipeline = MagicMock() + pipeline._best_output_size.return_value = (8, 8) + pipeline.check_resize_height_width.return_value = (8, 8) + service = LingBotWorldFastService(pipeline) + state = _state() + runtime_ready = threading.Event() + runtime = SimpleNamespace( + active=True, + width=8, + height=8, + latent_f=3, + noise_chunks=[torch.zeros(1, 1, 3)], + current_chunk_index=0, + ) + + def create_session(*args, **kwargs): + runtime_ready.set() + return runtime + + def generate_chunk(runtime_state, request, progress_callback=None): + assert request.control_override is control + runtime_state.active = False + return SimpleNamespace(frames=[Image.new("RGB", (8, 8))]) + + pipeline.create_session.side_effect = create_session + pipeline.build_control_override.return_value = control = torch.ones(1) + pipeline.side_effect = generate_chunk + + worker = threading.Thread( + target=service._run_worker_loop, + args=("session-a", state, MagicMock()), + daemon=True, + ) + worker.start() + + assert runtime_ready.wait(timeout=1.0) + assert pipeline.call_count == 0 + + state.pending_inputs.put({"type": "control", "control_tensor": control}) + worker.join(timeout=2.0) + + assert not worker.is_alive() + assert pipeline.call_count == 1 + pipeline.release_session.assert_called_once_with(runtime) + + +def test_direction_action_updates_state_and_wakes_worker() -> None: + service = LingBotWorldFastService(MagicMock()) + state = _state() + service._sessions["session-a"] = state + + service.push_chunk( + "session-a", + {"type": "control", "direction": "up", "event": "press"}, + ) + + assert state.pressed_controls == {"up"} + assert state.pending_inputs.get_nowait() == {"type": "direction_control"} diff --git a/tests/unit/pipelines/lingbot_world_fast/test_session_cache.py b/tests/unit/pipelines/lingbot_world_fast/test_session_cache.py new file mode 100644 index 0000000..263b1cd --- /dev/null +++ b/tests/unit/pipelines/lingbot_world_fast/test_session_cache.py @@ -0,0 +1,115 @@ +from types import SimpleNamespace +from unittest.mock import MagicMock + +import pytest +import torch +import torch.nn as nn + +from telefuser.models.wan_video_vae import WanVideoVAE, WanVideoVAEStreamingDecodeState +from telefuser.pipelines.lingbot_world_fast.denoising import LingBotWorldFastDenoisingStage + + +def _cache_stage() -> LingBotWorldFastDenoisingStage: + stage = LingBotWorldFastDenoisingStage.__new__(LingBotWorldFastDenoisingStage) + stage.device = torch.device("cpu") + stage._cache_registry = {} + stage._init_self_kv_cache = MagicMock(side_effect=lambda *_args: [{"owner": object()}]) + stage._init_crossattn_cache = MagicMock(side_effect=lambda *_args: [{"owner": object()}]) + return stage + + +def _initialize_cache(stage: LingBotWorldFastDenoisingStage, cache_handle: int) -> None: + generator_state = torch.Generator(device="cpu").manual_seed(cache_handle).get_state().tolist() + LingBotWorldFastDenoisingStage.initialize_cache.__wrapped__( + stage, + cache_handle=cache_handle, + batch_size=1, + kv_size=4, + max_sequence_length=8, + sample_shift=10.0, + generator_state=generator_state, + ) + + +def test_worker_cache_registry_isolates_handles_and_releases_idempotently() -> None: + stage = _cache_stage() + + _initialize_cache(stage, 11) + _initialize_cache(stage, 12) + + assert stage.list_cache_handles() == (11, 12) + assert stage.has_cache(11) + assert stage._cache_registry[11] is not stage._cache_registry[12] + assert stage._cache_registry[11].self_kv_cache is not stage._cache_registry[12].self_kv_cache + + with pytest.raises(ValueError, match="already registered"): + _initialize_cache(stage, 11) + + assert stage.release_cache(11) is True + assert stage.release_cache(11) is False + assert stage.list_cache_handles() == (12,) + + +def test_worker_rejects_unknown_cache_handle() -> None: + stage = _cache_stage() + latent = torch.zeros(1, 1, 1, 1, 1) + + with pytest.raises(KeyError, match="Unknown cache handle 99"): + LingBotWorldFastDenoisingStage.denoise_and_update_cache.__wrapped__( + stage, + cache_handle=99, + latent_chunk=latent, + condition_chunk=latent, + prompt_emb=torch.zeros(1, 1, 1), + control_chunk=None, + current_start=0, + max_attention_size=1, + ) + + +class _RecordingDecoder(nn.Module): + def __init__(self) -> None: + super().__init__() + self.cache_ids: list[int] = [] + + def forward(self, x, feat_cache, feat_idx): + self.cache_ids.append(id(feat_cache)) + feat_cache.append(float(x.flatten()[0])) + feat_idx[0] += 1 + return x + + +def test_vae_streaming_decode_state_is_session_scoped() -> None: + decoder = _RecordingDecoder() + vae = SimpleNamespace( + model=SimpleNamespace(conv2=lambda value: value, decoder=decoder), + scale=[0.0, 1.0], + z_dim=1, + _feat_cache=[], + _feat_idx=[0], + ) + first = WanVideoVAEStreamingDecodeState() + second = WanVideoVAEStreamingDecodeState() + + WanVideoVAE.cached_decode_withflag( + vae, + torch.ones(1, 1, 1, 1), + device=torch.device("cpu"), + is_first_clip=True, + is_last_clip=False, + decode_state=first, + ) + WanVideoVAE.cached_decode_withflag( + vae, + torch.full((1, 1, 1, 1), 2.0), + device=torch.device("cpu"), + is_first_clip=True, + is_last_clip=False, + decode_state=second, + ) + + assert first.feat_cache == [1.0] + assert second.feat_cache == [2.0] + assert first.feat_cache is not second.feat_cache + assert vae._feat_cache == [] + assert decoder.cache_ids == [id(first.feat_cache), id(second.feat_cache)] diff --git a/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py b/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py new file mode 100644 index 0000000..c0bfded --- /dev/null +++ b/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py @@ -0,0 +1,45 @@ +from unittest.mock import MagicMock, patch + +import torch + +from examples.lingbot import stream_lingbot_world_fast as stream_example +from telefuser.core.config import AttnImplType + + +def test_stream_get_pipeline_maps_ppl_config_to_internal_workers() -> None: + pipeline = MagicMock() + + with ( + patch.object(stream_example, "LingBotWorldFastPipeline", return_value=pipeline) as pipeline_cls, + patch.object(stream_example, "ModuleManager") as module_manager_cls, + ): + result = stream_example.get_pipeline( + parallelism=4, + model_root="/models/Wan2.2-I2V-A14B", + fast_model_root="/models/lingbot-world-fast", + ) + + assert result is pipeline + pipeline_cls.assert_called_once_with(device="cuda", torch_dtype=torch.bfloat16) + module_manager_cls.assert_called_once_with(device="cpu") + + config = pipeline.init.call_args.args[1] + assert config.checkpoint_dir == "/models/Wan2.2-I2V-A14B" + assert config.fast_checkpoint_subdir == "/models/lingbot-world-fast" + assert config.control_type == "cam" + assert config.max_area == 480 * 832 + assert config.attention_config.attn_impl == AttnImplType.SAGE_ATTN_2_8_8_SM90 + assert config.parallel_config.device_ids == [0, 1, 2, 3] + assert config.parallel_config.sp_ulysses_degree == 4 + assert config.parallel_config.enable_fsdp is False + + +def test_stream_get_service_uses_ppl_pipeline_and_fps() -> None: + pipeline = MagicMock() + + with patch.object(stream_example, "get_pipeline", return_value=pipeline) as get_pipeline: + service = stream_example.get_service() + + get_pipeline.assert_called_once_with() + assert service.pipeline is pipeline + assert service.default_fps == stream_example.PPL_CONFIG["target_fps"] From 972a0d4d2e4ddea887f6478ae656abc226090e72 Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Mon, 13 Jul 2026 16:11:33 +0000 Subject: [PATCH 2/9] fix(lingbot): make worker shutdown deterministic Add explicit ParallelWorker lifecycle and group failure semantics for rank errors and timeouts. Reject reuse after failure or closure, terminate all ranks on unrecoverable errors, and propagate deterministic shutdown through the LingBot pipeline, service, and offline example. Add lifecycle coverage for timeout and remote-rank failures, idempotent close behavior, and pipeline/service close delegation. Verification: python -m pytest tests/unit/worker tests/unit/pipelines/lingbot_world_fast tests/unit/models/test_lingbot_world_fast_dit.py -q (54 passed, 3 xfailed); ruff check; 4-GPU H100 regression with byte-identical Stage 0 output and no residual worker processes. --- .../lingbot_world_fast_image_to_video_h100.py | 43 ++--- .../pipelines/lingbot_world_fast/pipeline.py | 13 ++ .../pipelines/lingbot_world_fast/service.py | 1 + telefuser/worker/parallel_worker.py | 155 ++++++++++++++---- .../lingbot_world_fast/test_pipeline_call.py | 12 ++ .../test_service_action_loop.py | 15 ++ .../worker/test_parallel_worker_lifecycle.py | 87 ++++++++++ 7 files changed, 271 insertions(+), 55 deletions(-) create mode 100644 tests/unit/worker/test_parallel_worker_lifecycle.py diff --git a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py index 324c15b..40a0571 100644 --- a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py +++ b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py @@ -181,26 +181,29 @@ def main( ) -> None: """Generate an offline video with LingBot-World-Fast.""" pipeline = get_pipeline(gpu_num, model_root, fast_model_root) - image = Image.open(image_path).convert("RGB") - - start = time.perf_counter() - frames = run( - pipeline, - image, - prompt, - seed=seed, - resolution=resolution, - action_path=action_path, - frame_num=frame_num, - fps=fps, - ) - elapsed = time.perf_counter() - start - - output_path = Path(output) if output else DEFAULT_OUTPUT_DIR / f"lingbot_world_fast_i2v_{gpu_num}gpu.mp4" - output_path.parent.mkdir(parents=True, exist_ok=True) - save_video(frames, str(output_path), fps=fps, quality=6) - print(f"Video generation time: {elapsed:.2f} seconds") - print(f"Video saved to: {output_path}") + try: + image = Image.open(image_path).convert("RGB") + + start = time.perf_counter() + frames = run( + pipeline, + image, + prompt, + seed=seed, + resolution=resolution, + action_path=action_path, + frame_num=frame_num, + fps=fps, + ) + elapsed = time.perf_counter() - start + + output_path = Path(output) if output else DEFAULT_OUTPUT_DIR / f"lingbot_world_fast_i2v_{gpu_num}gpu.mp4" + output_path.parent.mkdir(parents=True, exist_ok=True) + save_video(frames, str(output_path), fps=fps, quality=6) + print(f"Video generation time: {elapsed:.2f} seconds") + print(f"Video saved to: {output_path}") + finally: + pipeline.close() if __name__ == "__main__": diff --git a/telefuser/pipelines/lingbot_world_fast/pipeline.py b/telefuser/pipelines/lingbot_world_fast/pipeline.py index f91c212..61507eb 100644 --- a/telefuser/pipelines/lingbot_world_fast/pipeline.py +++ b/telefuser/pipelines/lingbot_world_fast/pipeline.py @@ -415,6 +415,19 @@ def release_runtime(self, runtime: LingBotWorldFastRuntimeState) -> None: """Compatibility wrapper for the Stage 1 runtime API.""" self.release_session(runtime) + def close(self) -> None: + """Deterministically close the multi-process denoising worker group.""" + denoise_stage = getattr(self, "denoise_stage", None) + if isinstance(denoise_stage, ParallelWorker): + denoise_stage.close() + + def __del__(self) -> None: + """Best-effort fallback for callers that do not explicitly close the pipeline.""" + try: + self.close() + except Exception: + pass + @torch.inference_mode() def __call__( self, diff --git a/telefuser/pipelines/lingbot_world_fast/service.py b/telefuser/pipelines/lingbot_world_fast/service.py index f2f1134..666bbee 100644 --- a/telefuser/pipelines/lingbot_world_fast/service.py +++ b/telefuser/pipelines/lingbot_world_fast/service.py @@ -60,6 +60,7 @@ def start(self) -> None: def stop(self) -> None: for session_id in list(self._sessions.keys()): self.close_session(session_id) + self.pipeline.close() def has_session(self, session_id: str) -> bool: return session_id in self._sessions diff --git a/telefuser/worker/parallel_worker.py b/telefuser/worker/parallel_worker.py index fa27332..de9dff5 100644 --- a/telefuser/worker/parallel_worker.py +++ b/telefuser/worker/parallel_worker.py @@ -8,6 +8,7 @@ import gc import os +import threading import time from collections.abc import Callable from datetime import timedelta @@ -63,6 +64,8 @@ def _worker_loop( from telefuser.utils.profiler import mark_as_worker_process mark_as_worker_process() + args = None + kwargs = None try: device = stage.device if world_size > 1: @@ -124,9 +127,15 @@ def _worker_loop( traceback.print_exc() logger.error(f"Error in worker loop (rank {rank}): {e}") - queue_out.put(e) # any exception caught in the worker will be raised to the main process + message = f"Parallel worker rank {rank} failed with {type(e).__name__}: {e}" + try: + worker_error = type(e)(message) + except Exception: + worker_error = RuntimeError(message) + queue_out.put(worker_error) finally: - del stage, args, kwargs + args = None + kwargs = None current_platform.synchronize() gc.collect() current_platform.empty_cache() @@ -155,6 +164,10 @@ def __init__( self.name: str = f"Parallel Worker {stage.name}" self.queue_with_cpu: bool = parallel_config.queue_with_cpu self.timeout: int = parallel_config.timeout + self._lifecycle_lock = threading.Lock() + self._failed = False + self._closed = False + self._failure_reason: str | None = None # Use spawn to start processes regardless of world_size current_method = mp.get_start_method(allow_none=True) @@ -185,6 +198,64 @@ def __init__( join=False, ) + @property + def failed(self) -> bool: + """Return whether this worker group encountered an unrecoverable failure.""" + return self._failed + + @property + def closed(self) -> bool: + """Return whether this worker group has been deterministically closed.""" + return self._closed + + @property + def failure_reason(self) -> str | None: + """Return the first failure that made this worker group unusable.""" + return self._failure_reason + + def _ensure_usable(self) -> None: + if self._closed: + raise RuntimeError(f"ParallelWorker:{self.name} is closed") + if self._failed: + raise RuntimeError(f"ParallelWorker:{self.name} has failed: {self._failure_reason}") + + def _terminate_processes(self) -> None: + if not hasattr(self, "ctx"): + return + for process in self.ctx.processes: + try: + if process.is_alive(): + process.kill() + process.join(timeout=2) + except Exception as exc: + logger.warning(f"Failed to terminate {self.name} process: {exc}") + + def _mark_failed(self, reason: str) -> None: + with self._lifecycle_lock: + if self._failed: + return + self._failed = True + self._failure_reason = reason + logger.error(f"ParallelWorker:{self.name} marked failed: {reason}") + self._terminate_processes() + + def _wait_result(self, method_name: str) -> Any: + try: + result = self.queue_out.get(timeout=self.timeout) + except Empty as exc: + reason = f"{method_name} timeout after {self.timeout} seconds" + self._mark_failed(reason) + raise RuntimeError(f"ParallelWorker:{self.name} {reason}") from exc + except Exception as exc: + reason = f"{method_name} result queue failed: {exc}" + self._mark_failed(reason) + raise RuntimeError(f"ParallelWorker:{self.name} {reason}") from exc + if isinstance(result, Exception): + reason = f"{method_name} failed: {result}" + self._mark_failed(reason) + raise RuntimeError(f"ParallelWorker:{self.name} {reason}") from result + return result + def enable_metrics(self, registry: Any | None = None) -> None: """Enable metrics collection on the wrapped stage. @@ -210,6 +281,7 @@ def _metrics_hook(self, value: StageMetricContext | None) -> None: def put_data(self, data: Any) -> None: """Send data to all worker processes.""" + self._ensure_usable() if self.queue_with_cpu: data = to_device(data, "cpu") for i, q in enumerate(self.queue_in): @@ -218,22 +290,13 @@ def put_data(self, data: Any) -> None: def __call__(self, *args: Any, **kwargs: Any) -> Any | Callable[[], Any]: """Submit __call__ task to all workers.""" + self._ensure_usable() sync = kwargs.pop("sync", False) data = ["__call__", args, kwargs] self.put_data(data) def wait() -> Any: - try: - res = self.queue_out.get(timeout=self.timeout) - except Empty: - logger.error(f"ParallelWorker:{self.name} __call__ timeout") - raise RuntimeError(f"ParallelWorker:{self.name} __call__ timeout") - except Exception as e: - logger.error(f"ParallelWorker:{self.name} __call__ error: {e}") - raise RuntimeError(f"ParallelWorker:{self.name} __call__ error: {e}") - if isinstance(res, Exception): - raise res - return res + return self._wait_result("__call__") if sync: return wait() @@ -244,6 +307,7 @@ def __getattr__(self, name: str) -> Callable[..., Any]: """Submit arbitrary method call to all workers.""" def wrapped_func(*args: Any, **kwargs: Any) -> Any | Callable[[], Any]: + self._ensure_usable() sync = kwargs.pop("sync", False) data = [name, args, kwargs] self.put_data(data) @@ -254,23 +318,17 @@ def wrapped_func(*args: Any, **kwargs: Any) -> Any | Callable[[], Any]: def wait() -> Any: start_time = time.perf_counter() + success = False try: - res = self.queue_out.get(timeout=self.timeout) - except Empty: - logger.error(f"ParallelWorker:{self.name} {name} timeout") - raise RuntimeError(f"ParallelWorker:{self.name} {name} timeout") - except Exception as e: - logger.error(f"ParallelWorker:{self.name} {name} error: {e}") - raise RuntimeError(f"ParallelWorker:{self.name} {name} error: {e}") + result = self._wait_result(name) + success = True + logger.info(f"ParallelWorker:{self.name} {name} done") + return result finally: if hook is not None: duration = time.perf_counter() - start_time - hook.record_execution(duration, success=True) + hook.record_execution(duration, success=success) hook.exit() - if isinstance(res, Exception): - raise res - logger.info(f"ParallelWorker:{self.name} {name} done") - return res if sync: return wait() @@ -279,14 +337,41 @@ def wait() -> Any: return wrapped_func - def __del__(self) -> None: - """Cleanup worker processes on deletion.""" + def close(self) -> None: + """Idempotently stop all ranks and close multiprocessing queues.""" + with self._lifecycle_lock: + if self._closed: + return + self._closed = True + if hasattr(self, "ctx"): - self.put_data(["exit", None, None]) - for p in self.ctx.processes: - p.join(timeout=10) - if p.is_alive(): - p.kill() - for q in self.queue_in: - q.close() - self.queue_out.close() + if not self._failed: + for queue in self.queue_in: + try: + queue.put(["exit", None, None]) + except Exception as exc: + logger.warning(f"Failed to send exit to {self.name}: {exc}") + for process in self.ctx.processes: + try: + process.join(timeout=10) + if process.is_alive(): + process.kill() + process.join(timeout=2) + except Exception as exc: + logger.warning(f"Failed to join {self.name} process: {exc}") + for queue in self.queue_in: + try: + queue.close() + except Exception: + pass + try: + self.queue_out.close() + except Exception: + pass + + def __del__(self) -> None: + """Best-effort fallback; callers should use close explicitly.""" + try: + self.close() + except Exception: + pass diff --git a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py index f8f2caf..c42bd7c 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py @@ -13,6 +13,7 @@ LingBotWorldFastSessionConfig, LingBotWorldFastSessionStatus, ) +from telefuser.worker.parallel_worker import ParallelWorker def _session( @@ -242,3 +243,14 @@ def generate(runtime_state, request, progress_callback=None): assert generate_chunk.call_count == 2 pipeline.create_session.assert_called_once_with(config, progress_callback=None) pipeline.release_session.assert_called_once_with(runtime) + + +def test_pipeline_close_delegates_to_parallel_worker() -> None: + pipeline = LingBotWorldFastPipeline(device="cpu") + worker = object.__new__(ParallelWorker) + worker.close = MagicMock() + pipeline.denoise_stage = worker + + pipeline.close() + + worker.close.assert_called_once_with() diff --git a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py index 6c21b6e..a66870e 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py @@ -81,3 +81,18 @@ def test_direction_action_updates_state_and_wakes_worker() -> None: assert state.pressed_controls == {"up"} assert state.pending_inputs.get_nowait() == {"type": "direction_control"} + + +def test_service_stop_closes_sessions_before_pipeline() -> None: + pipeline = MagicMock() + service = LingBotWorldFastService(pipeline) + service._sessions = {"session-a": MagicMock(), "session-b": MagicMock()} + service.close_session = MagicMock() + + service.stop() + + assert service.close_session.call_args_list == [ + (("session-a",),), + (("session-b",),), + ] + pipeline.close.assert_called_once_with() diff --git a/tests/unit/worker/test_parallel_worker_lifecycle.py b/tests/unit/worker/test_parallel_worker_lifecycle.py new file mode 100644 index 0000000..7254455 --- /dev/null +++ b/tests/unit/worker/test_parallel_worker_lifecycle.py @@ -0,0 +1,87 @@ +import threading +from queue import Empty +from types import SimpleNamespace +from unittest.mock import MagicMock + +import pytest + +from telefuser.worker.parallel_worker import ParallelWorker + + +def _worker() -> ParallelWorker: + worker = ParallelWorker.__new__(ParallelWorker) + worker.name = "Parallel Worker TestStage" + worker.timeout = 1 + worker._lifecycle_lock = threading.Lock() + worker._failed = False + worker._closed = False + worker._failure_reason = None + worker.queue_out = MagicMock() + worker.queue_in = [MagicMock(), MagicMock()] + worker.ctx = SimpleNamespace(processes=[MagicMock(), MagicMock()]) + for process in worker.ctx.processes: + process.is_alive.return_value = True + return worker + + +def test_timeout_marks_group_failed_terminates_all_ranks_and_rejects_reuse() -> None: + worker = _worker() + worker.queue_out.get.side_effect = Empty() + + with pytest.raises(RuntimeError, match="timeout after 1 seconds"): + worker._wait_result("denoise") + + assert worker.failed is True + assert worker.closed is False + assert worker.failure_reason == "denoise timeout after 1 seconds" + for process in worker.ctx.processes: + process.kill.assert_called_once_with() + process.join.assert_called_once_with(timeout=2) + + with pytest.raises(RuntimeError, match="has failed"): + worker._ensure_usable() + + +def test_remote_rank_error_marks_entire_group_failed() -> None: + worker = _worker() + worker.queue_out.get.return_value = RuntimeError("Parallel worker rank 2 failed") + + with pytest.raises(RuntimeError, match="rank 2 failed"): + worker._wait_result("initialize_cache") + + assert worker.failed is True + assert "initialize_cache failed" in worker.failure_reason + for process in worker.ctx.processes: + process.kill.assert_called_once_with() + + +def test_close_is_idempotent_and_rejects_new_work() -> None: + worker = _worker() + for process in worker.ctx.processes: + process.is_alive.return_value = False + + worker.close() + worker.close() + + assert worker.closed is True + assert worker.failed is False + for queue in worker.queue_in: + queue.put.assert_called_once_with(["exit", None, None]) + queue.close.assert_called_once_with() + worker.queue_out.close.assert_called_once_with() + + with pytest.raises(RuntimeError, match="is closed"): + worker._ensure_usable() + + +def test_close_after_failure_does_not_submit_more_worker_commands() -> None: + worker = _worker() + worker._mark_failed("rank 1 failed") + + worker.close() + + assert worker.failed is True + assert worker.closed is True + for queue in worker.queue_in: + queue.put.assert_not_called() + queue.close.assert_called_once_with() From b926b8f267a836955341aa714ea2c3eb03d127ef Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Mon, 13 Jul 2026 17:34:49 +0000 Subject: [PATCH 3/9] refactor(lingbot): defer external control materialization Move action-to-control conversion out of generation sessions and make each pipeline call consume one explicit control tensor or deferred factory. Initialize the runtime on the first call, materializing the first control after VAE/noise preparation and before KV-cache initialization to preserve the baseline execution order. Migrate the offline example and online service, and add lifecycle/control alignment coverage.\n\nVerified with:\n- python -m ruff check telefuser/pipelines/lingbot_world_fast/control.py telefuser/pipelines/lingbot_world_fast/session.py telefuser/pipelines/lingbot_world_fast/pipeline.py telefuser/pipelines/lingbot_world_fast/service.py examples/lingbot/lingbot_world_fast_image_to_video_h100.py tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py\n- python -m pytest tests/unit/worker tests/unit/pipelines/lingbot_world_fast tests/unit/models/test_lingbot_world_fast_dit.py -q\n- 4-GPU LingBot example; output SHA-256 matched work_dirs/lingbot_world_fast_stage0_baseline.mp4 --- .../lingbot_world_fast_image_to_video_h100.py | 28 +- .../pipelines/lingbot_world_fast/control.py | 172 ++++++++++ .../pipelines/lingbot_world_fast/pipeline.py | 320 +++++------------- .../pipelines/lingbot_world_fast/service.py | 42 +-- .../pipelines/lingbot_world_fast/session.py | 47 ++- .../test_control_alignment.py | 140 +++++--- .../lingbot_world_fast/test_pipeline_call.py | 102 +++--- .../test_runtime_baseline.py | 30 +- .../test_service_action_loop.py | 59 ++-- 9 files changed, 501 insertions(+), 439 deletions(-) diff --git a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py index 40a0571..d2f8943 100644 --- a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py +++ b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py @@ -18,12 +18,20 @@ from telefuser.core.config import AttentionConfig, AttnImplType, ModelRuntimeConfig, ParallelConfig from telefuser.core.module_manager import ModuleManager +from telefuser.pipelines.lingbot_world_fast.control import ( + LingBotWorldFastControlBuilder, + LingBotWorldFastOfflineControlSource, + load_action_control_inputs, + load_camera_control_inputs, + truncate_control_sequence, +) from telefuser.pipelines.lingbot_world_fast.pipeline import ( LingBotWorldFastPipeline, LingBotWorldFastPipelineConfig, ) from telefuser.pipelines.lingbot_world_fast.session import ( LingBotWorldFastChunkRequest, + LingBotWorldFastGenerationSession, LingBotWorldFastSessionConfig, ) from telefuser.utils.video import save_video @@ -122,21 +130,25 @@ def run( sample_shift=PPL_CONFIG["sample_shift"], seed=seed, max_attention_size=PPL_CONFIG["max_attention_size"], - action_path=action_path, ) - session = pipeline.create_session(session_config) + control_context = pipeline.control_context(session_config) + control_builder = LingBotWorldFastControlBuilder(control_context) + if session_config.control_mode == "act": + poses, intrinsics, action = load_action_control_inputs(action_path) + else: + poses, intrinsics = load_camera_control_inputs(action_path) + action = None + poses, intrinsics, action = truncate_control_sequence(poses, intrinsics, action, session_config.frame_num) + control_source = LingBotWorldFastOfflineControlSource(control_builder, poses, intrinsics, action) + session = LingBotWorldFastGenerationSession(config=session_config) frames: list[Image.Image] = [] try: - while session.active: - chunk_index = session.current_chunk_index - control_override = None - if session.control_chunks is not None and chunk_index < len(session.control_chunks): - control_override = session.control_chunks[chunk_index] + for chunk_index in range(control_context.latent_frames // control_context.chunk_size): result = pipeline( session, LingBotWorldFastChunkRequest( chunk_index=chunk_index, - control_override=control_override, + control=control_source.control_at(chunk_index), ), ) frames.extend(result.frames) diff --git a/telefuser/pipelines/lingbot_world_fast/control.py b/telefuser/pipelines/lingbot_world_fast/control.py index 6ab5862..dfeb9f7 100644 --- a/telefuser/pipelines/lingbot_world_fast/control.py +++ b/telefuser/pipelines/lingbot_world_fast/control.py @@ -1,5 +1,6 @@ from __future__ import annotations +from collections.abc import Callable from dataclasses import dataclass from pathlib import Path @@ -193,6 +194,177 @@ def build_action_control_chunk( return CameraControlChunk(control_tensor=control, num_latent_frames=control.shape[2], control_type="act") +def truncate_control_sequence( + poses: object, + intrinsics: object, + action: object | None, + frame_num: int, +) -> tuple[object, object, object | None]: + """Limit an external offline control sequence to the requested 4n+1 video frames.""" + requested_frame_num = ((int(frame_num) - 1) // 4) * 4 + 1 + available_frame_num = ((len(poses) - 1) // 4) * 4 + 1 + effective_frame_num = min(requested_frame_num, available_frame_num) + if effective_frame_num < 2: + raise ValueError("Control sequence must contain at least two video frames") + trimmed_poses = poses[:effective_frame_num] + intrinsics_arr = np.asarray(intrinsics) + trimmed_intrinsics = intrinsics[:effective_frame_num] if intrinsics_arr.ndim > 1 else intrinsics + trimmed_action = action[:effective_frame_num] if action is not None else None + return trimmed_poses, trimmed_intrinsics, trimmed_action + + +@dataclass(frozen=True) +class LingBotWorldFastControlContext: + """Static geometry required to convert external actions into model controls.""" + + control_type: str + device: str | torch.device + torch_dtype: torch.dtype + orig_height: int + orig_width: int + height: int + width: int + latent_h: int + latent_w: int + latent_frames: int + chunk_size: int + + +class LingBotWorldFastDeferredControl: + """Lazily materialize a control tensor at the pipeline's legacy execution point.""" + + def __init__(self, factory: Callable[[], torch.Tensor]) -> None: + self._factory = factory + + def __call__(self) -> torch.Tensor: + return self._factory() + + +class LingBotWorldFastOfflineControlSource: + """Keep offline action data outside the generation session and materialize it once.""" + + def __init__( + self, + builder: LingBotWorldFastControlBuilder, + poses: object, + intrinsics: object, + action: object | None = None, + ) -> None: + self._builder = builder + self._poses = poses + self._intrinsics = intrinsics + self._action = action + self._controls: list[torch.Tensor] | None = None + + def control_at(self, chunk_index: int) -> LingBotWorldFastDeferredControl: + if chunk_index < 0: + raise ValueError(f"chunk_index must be non-negative, got {chunk_index}") + return LingBotWorldFastDeferredControl(lambda: self._materialize()[chunk_index]) + + def _materialize(self) -> list[torch.Tensor]: + if self._controls is None: + self._controls = self._builder.build_sequence(self._poses, self._intrinsics, self._action) + return self._controls + + +class LingBotWorldFastControlBuilder: + """Convert externally owned action data into per-chunk model control tensors.""" + + def __init__(self, context: LingBotWorldFastControlContext) -> None: + self.context = context + + def defer(self, action: dict[str, object]) -> LingBotWorldFastDeferredControl: + """Return a control factory for materialization within the pipeline call.""" + return LingBotWorldFastDeferredControl(lambda: self.build(action)) + + @staticmethod + def _align_action_frames(action: torch.Tensor, target_frames: int) -> torch.Tensor: + if action.ndim == 1: + action = action.unsqueeze(0) + if action.shape[0] == target_frames: + return action + sampled = action[::4] + if sampled.shape[0] >= target_frames: + return sampled[:target_frames] + if action.shape[0] == 1: + return action.repeat(target_frames, 1) + if action.shape[0] < target_frames: + raise ValueError(f"Action length {action.shape[0]} is shorter than target latent frames {target_frames}") + indices = torch.linspace(0, action.shape[0] - 1, target_frames, device=action.device) + return action.index_select(0, indices.round().long()) + + def build(self, action: dict[str, object]) -> torch.Tensor: + """Build one model control tensor from one external chunk action.""" + if "control_tensor" in action: + return torch.as_tensor( + action["control_tensor"], + device=self.context.device, + dtype=self.context.torch_dtype, + ) + poses = action.get("poses") + intrinsics = action.get("intrinsics") + if poses is None or intrinsics is None: + raise ValueError("External action requires poses and intrinsics") + poses_t = torch.as_tensor(poses, dtype=torch.float32, device=self.context.device) + intrinsics_t = torch.as_tensor(intrinsics, dtype=torch.float32, device=self.context.device) + if intrinsics_t.ndim == 1: + intrinsics_t = intrinsics_t.unsqueeze(0).repeat(poses_t.shape[0], 1) + intrinsics_t = self._transform_intrinsics(intrinsics_t) + poses_rel = compute_relative_poses(poses_t, framewise=True) + return self._build_tensor(poses_rel, intrinsics_t, action.get("action")) + + def build_sequence( + self, + poses: object, + intrinsics: object, + action: object | None = None, + ) -> list[torch.Tensor]: + """Build all controls for an offline action sequence without storing it in a session.""" + poses_t = torch.as_tensor(poses, dtype=torch.float32) + intrinsics_t = self._transform_intrinsics(torch.as_tensor(intrinsics, dtype=torch.float32)) + source_frames = len(poses_t) + if source_frames < 2: + raise ValueError("Control sequence requires at least two poses") + interpolated = interpolate_camera_poses( + src_indices=np.linspace(0, source_frames - 1, source_frames), + src_rot_mat=np.asarray(poses_t[:, :3, :3]), + src_trans_vec=np.asarray(poses_t[:, :3, 3]), + tgt_indices=np.linspace(0, source_frames - 1, self.context.latent_frames), + ) + poses_rel = compute_relative_poses(interpolated.to(self.context.device), framewise=True) + intrinsics_t = intrinsics_t[0].to(self.context.device).repeat(len(poses_rel), 1) + control = self._build_tensor(poses_rel, intrinsics_t, action) + return list(control.split(self.context.chunk_size, dim=2)) + + def _transform_intrinsics(self, intrinsics: torch.Tensor) -> torch.Tensor: + return get_ks_transformed( + intrinsics, + height_org=self.context.orig_height, + width_org=self.context.orig_width, + height_resize=self.context.height, + width_resize=self.context.width, + height_final=self.context.height, + width_final=self.context.width, + ) + + def _build_tensor(self, poses: torch.Tensor, intrinsics: torch.Tensor, action: object | None) -> torch.Tensor: + if self.context.control_type == "act" and action is not None: + action_t = torch.as_tensor(action, dtype=torch.float32, device=self.context.device) + action_t = self._align_action_frames(action_t, len(poses)) + return build_action_control_chunk( + poses, + intrinsics, + action_t, + self.context.latent_h, + self.context.latent_w, + self.context.height, + self.context.width, + ).control_tensor + return build_camera_control_chunk( + poses, intrinsics, self.context.latent_h, self.context.latent_w, self.context.height, self.context.width + ).control_tensor + + def load_camera_control_inputs(action_path: str | Path) -> tuple[np.ndarray, np.ndarray]: root = Path(action_path) poses = np.load(root / "poses.npy") diff --git a/telefuser/pipelines/lingbot_world_fast/pipeline.py b/telefuser/pipelines/lingbot_world_fast/pipeline.py index 61507eb..8c0a12a 100644 --- a/telefuser/pipelines/lingbot_world_fast/pipeline.py +++ b/telefuser/pipelines/lingbot_world_fast/pipeline.py @@ -22,21 +22,12 @@ from telefuser.utils.profiler import ProfilingContext4Debug from telefuser.worker.parallel_worker import ParallelWorker -from .control import ( - build_action_control_chunk, - build_camera_control_chunk, - compute_relative_poses, - get_ks_transformed, - interpolate_camera_poses, - load_action_control_inputs, - load_camera_control_inputs, -) +from .control import LingBotWorldFastControlContext from .denoising import LingBotWorldFastDenoisingStage from .session import ( LingBotWorldFastChunkRequest, LingBotWorldFastChunkResult, LingBotWorldFastGenerationSession, - LingBotWorldFastRuntimeState, LingBotWorldFastSessionConfig, LingBotWorldFastSessionStatus, ) @@ -202,6 +193,33 @@ def _best_output_size(w: int, h: int, expected_area: int, dw: int = 16, dh: int return ow1, oh1 return ow2, oh2 + def control_context(self, session_config: LingBotWorldFastSessionConfig) -> LingBotWorldFastControlContext: + """Return control geometry without allocating a generation runtime.""" + width, height = self._best_output_size( + session_config.image.width, + session_config.image.height, + self.config.max_area, + ) + height, width = self.check_resize_height_width(height, width) + frame_num = ((session_config.frame_num - 1) // 4) * 4 + 1 + latent_frames = (frame_num - 1) // 4 + 1 + latent_frames -= latent_frames % session_config.chunk_size + if latent_frames < session_config.chunk_size: + raise ValueError("frame_num must contain at least one complete latent chunk") + return LingBotWorldFastControlContext( + control_type=self.config.control_type, + device=self.device, + torch_dtype=self.torch_dtype, + orig_height=self.config.orig_height, + orig_width=self.config.orig_width, + height=height, + width=width, + latent_h=height // 8, + latent_w=width // 8, + latent_frames=latent_frames, + chunk_size=session_config.chunk_size, + ) + def _prepare_image_tensor(self, image: Image.Image, height: int, width: int) -> torch.Tensor: image = image.convert("RGB").resize((width, height), Image.BICUBIC) array = np.asarray(image, dtype=np.float32) / 255.0 @@ -229,160 +247,6 @@ def _encode_condition_video(self, image_tensor: torch.Tensor, frame_num: int) -> mask = mask.view(1, mask.shape[1] // 4, 4, latent_h, latent_w).transpose(1, 2)[0] return torch.cat([mask, latent], dim=0) - def _populate_session_controls(self, session_config: LingBotWorldFastSessionConfig) -> None: - if session_config.action_path is None: - return - if session_config.poses is not None and session_config.intrinsics is not None: - if session_config.control_mode != "act" or session_config.action is not None: - return - - if session_config.control_mode == "act": - poses, intrinsics, action = load_action_control_inputs(session_config.action_path) - if session_config.action is None: - session_config.action = action - else: - poses, intrinsics = load_camera_control_inputs(session_config.action_path) - - if session_config.poses is None: - session_config.poses = poses - if session_config.intrinsics is None: - session_config.intrinsics = intrinsics - - @staticmethod - def _truncate_control_inputs_to_frame_num( - poses: object, - intrinsics: object, - action: object | None, - frame_num: int, - ) -> tuple[object, object, object | None, int]: - requested_frame_num = ((int(frame_num) - 1) // 4) * 4 + 1 - pose_frame_num = ((len(poses) - 1) // 4) * 4 + 1 - effective_frame_num = min(requested_frame_num, pose_frame_num) - - trimmed_poses = poses[:effective_frame_num] - intrinsics_arr = np.asarray(intrinsics) - if intrinsics_arr.ndim > 1: - trimmed_intrinsics = intrinsics[:effective_frame_num] - else: - trimmed_intrinsics = intrinsics - trimmed_action = action[:effective_frame_num] if action is not None else None - return trimmed_poses, trimmed_intrinsics, trimmed_action, effective_frame_num - - @staticmethod - def _align_action_frames(action: torch.Tensor, target_frames: int) -> torch.Tensor: - if action.ndim == 1: - action = action.unsqueeze(0) - if action.shape[0] == target_frames: - return action - - sampled = action[::4] - if sampled.shape[0] >= target_frames: - return sampled[:target_frames] - if action.shape[0] == 1: - return action.repeat(target_frames, 1) - if action.shape[0] < target_frames: - raise ValueError(f"Action length {action.shape[0]} is shorter than target latent frames {target_frames}") - - indices = torch.linspace(0, action.shape[0] - 1, target_frames, device=action.device) - return action.index_select(0, indices.round().long()) - - def _prepare_control_chunks( - self, - session_config: LingBotWorldFastSessionConfig, - lat_f: int, - lat_h: int, - lat_w: int, - height: int, - width: int, - chunk_size: int, - ) -> list[torch.Tensor] | None: - if session_config.poses is None or session_config.intrinsics is None: - return None - - poses = torch.as_tensor(session_config.poses, dtype=torch.float32) - intrinsics = torch.as_tensor(session_config.intrinsics, dtype=torch.float32) - intrinsics = get_ks_transformed( - intrinsics, - height_org=self.config.orig_height, - width_org=self.config.orig_width, - height_resize=height, - width_resize=width, - height_final=height, - width_final=width, - ) - - len_c2ws = len(poses) - lat_f_target = int(lat_f - (lat_f % chunk_size)) - poses_interp = interpolate_camera_poses( - src_indices=np.linspace(0, len_c2ws - 1, len_c2ws), - src_rot_mat=np.asarray(poses[:, :3, :3]), - src_trans_vec=np.asarray(poses[:, :3, 3]), - tgt_indices=np.linspace(0, len_c2ws - 1, lat_f_target), - ) - poses_rel = compute_relative_poses(poses_interp.to(self.device), framewise=True) - intrinsics = intrinsics[0].to(self.device).repeat(len(poses_rel), 1) - - if session_config.control_mode == "act" and session_config.action is not None: - action = torch.as_tensor(session_config.action, dtype=torch.float32, device=self.device) - action = self._align_action_frames(action, len(poses_rel)) - chunk = build_action_control_chunk(poses_rel, intrinsics, action, lat_h, lat_w, height, width) - else: - chunk = build_camera_control_chunk(poses_rel, intrinsics, lat_h, lat_w, height, width) - - return list(chunk.control_tensor.split(chunk_size, dim=2)) - - def build_control_override( - self, - runtime: LingBotWorldFastRuntimeState, - chunk: dict, - ) -> torch.Tensor | None: - if "control_tensor" in chunk: - return torch.as_tensor(chunk["control_tensor"], device=self.device, dtype=self.torch_dtype) - - poses = chunk.get("poses") - intrinsics = chunk.get("intrinsics") - if poses is None or intrinsics is None: - return None - - poses_t = torch.as_tensor(poses, dtype=torch.float32, device=self.device) - intrinsics_t = torch.as_tensor(intrinsics, dtype=torch.float32, device=self.device) - if intrinsics_t.ndim == 1: - intrinsics_t = intrinsics_t.unsqueeze(0).repeat(poses_t.shape[0], 1) - - intrinsics_t = get_ks_transformed( - intrinsics_t, - height_org=self.config.orig_height, - width_org=self.config.orig_width, - height_resize=runtime.height, - width_resize=runtime.width, - height_final=runtime.height, - width_final=runtime.width, - ) - poses_rel = compute_relative_poses(poses_t, framewise=True) - - if chunk.get("action") is not None: - action_t = torch.as_tensor(chunk["action"], dtype=torch.float32, device=self.device) - action_t = self._align_action_frames(action_t, len(poses_rel)) - control = build_action_control_chunk( - poses_rel, - intrinsics_t, - action_t, - runtime.latent_h, - runtime.latent_w, - runtime.height, - runtime.width, - ) - else: - control = build_camera_control_chunk( - poses_rel, - intrinsics_t, - runtime.latent_h, - runtime.latent_w, - runtime.height, - runtime.width, - ) - return control.control_tensor - def _release_session_cache(self, session: LingBotWorldFastGenerationSession) -> bool: cache_handle = session.cache_handle if cache_handle is None: @@ -411,10 +275,6 @@ def release_session(self, session: LingBotWorldFastGenerationSession) -> None: elif session.status != LingBotWorldFastSessionStatus.POISONED: session.status = LingBotWorldFastSessionStatus.RELEASED - def release_runtime(self, runtime: LingBotWorldFastRuntimeState) -> None: - """Compatibility wrapper for the Stage 1 runtime API.""" - self.release_session(runtime) - def close(self) -> None: """Deterministically close the multi-process denoising worker group.""" denoise_stage = getattr(self, "denoise_stage", None) @@ -435,21 +295,43 @@ def __call__( request: LingBotWorldFastChunkRequest, progress_callback: Callable[..., None] | None = None, ) -> LingBotWorldFastChunkResult: - """Generate one transactional, action-driven chunk for an external session.""" + """Initialize a session on first use and generate one controlled chunk.""" if not session.transaction_lock.acquire(blocking=False): raise RuntimeError("LingBot session already has a chunk in progress") try: - return self._generate_session_chunk(session, request, progress_callback) + self._validate_chunk_request(session, request) + resolved_control: torch.Tensor | None = None + if session.status == LingBotWorldFastSessionStatus.NEW: + try: + + def materialize_first_control() -> None: + nonlocal resolved_control + resolved_control = self._resolve_control(request.control) + + initialized = self._create_initialized_session( + session.config, + progress_callback, + before_cache=materialize_first_control, + ) + session.__dict__.update( + (key, value) for key, value in initialized.__dict__.items() if key != "transaction_lock" + ) + except Exception as exc: + session.status = LingBotWorldFastSessionStatus.POISONED + session.poisoned_reason = f"{type(exc).__name__}: {exc}" + self.release_session(session) + raise + if resolved_control is None: + resolved_control = self._resolve_control(request.control) + return self._generate_session_chunk(session, request, resolved_control, progress_callback) finally: session.transaction_lock.release() - def _generate_session_chunk( - self, + @staticmethod + def _validate_chunk_request( session: LingBotWorldFastGenerationSession, request: LingBotWorldFastChunkRequest, - progress_callback: Callable[..., None] | None, - ) -> LingBotWorldFastChunkResult: - """Execute a chunk while the caller holds the session transaction lock.""" + ) -> None: if session.status == LingBotWorldFastSessionStatus.POISONED: raise RuntimeError(f"Cannot continue poisoned LingBot session: {session.poisoned_reason}") if session.status == LingBotWorldFastSessionStatus.RUNNING: @@ -461,17 +343,26 @@ def _generate_session_chunk( f"Chunk request index {request.chunk_index} does not match session index {session.current_chunk_index}" ) + @staticmethod + def _resolve_control(control: torch.Tensor | Callable[[], torch.Tensor]) -> torch.Tensor: + resolved = control() if callable(control) else control + if not isinstance(resolved, torch.Tensor): + raise TypeError("Deferred control factory must return a torch.Tensor") + return resolved + + def _generate_session_chunk( + self, + session: LingBotWorldFastGenerationSession, + request: LingBotWorldFastChunkRequest, + control: torch.Tensor, + progress_callback: Callable[..., None] | None, + ) -> LingBotWorldFastChunkResult: + """Execute a chunk while the caller holds the session transaction lock.""" session.status = LingBotWorldFastSessionStatus.RUNNING try: - control_override = request.control_override - if request.action is not None: - control_override = self.build_control_override(session, request.action) - if control_override is None: - raise ValueError("Chunk action did not produce a control tensor") - chunk_frames = self.generate_next_chunk( session, - control_override=control_override, + control=control, progress_callback=progress_callback, ) except Exception as exc: @@ -501,40 +392,38 @@ def _generate_session_chunk( def generate_video( self, session_config: LingBotWorldFastSessionConfig, + controls: list[torch.Tensor | Callable[[], torch.Tensor]], progress_callback: Callable[..., None] | None = None, ) -> list[Image.Image]: - """Compatibility helper that drains an explicit generation session into one video.""" - session = self.create_session(session_config, progress_callback=progress_callback) + """Drain externally prepared controls through the single-chunk API.""" + session = LingBotWorldFastGenerationSession(config=session_config) frames: list[Image.Image] = [] try: - while session.active: - chunk_index = session.current_chunk_index - control_override = None - if session.control_chunks is not None and chunk_index < len(session.control_chunks): - control_override = session.control_chunks[chunk_index] + for chunk_index, control in enumerate(controls): result = self( session, LingBotWorldFastChunkRequest( chunk_index=chunk_index, - control_override=control_override, + control=control, ), progress_callback=progress_callback, ) frames.extend(result.frames) + if session.active: + raise ValueError("Control sequence ended before the generation session completed") finally: self.release_session(session) return frames - @ProfilingContext4Debug("create_session") + @ProfilingContext4Debug("initialize_session") @torch.inference_mode() - def create_session( + def _create_initialized_session( self, session_config: LingBotWorldFastSessionConfig, progress_callback: Callable[..., None] | None = None, + before_cache: Callable[[], None] | None = None, ) -> LingBotWorldFastGenerationSession: - """Prepare externally owned inputs and a worker-local cache for one session.""" - self._notify_progress(progress_callback, "loading_controls") - self._populate_session_controls(session_config) + """Allocate model state for the first chunk; callers never invoke this directly.""" self._notify_progress(progress_callback, "encoding_prompt", device=str(self.text_device)) prompt_emb = self.encode_prompt(session_config.prompt) self._notify_progress(progress_callback, "prompt_encoded") @@ -547,15 +436,6 @@ def create_session( image_tensor = self._prepare_image_tensor(session_config.image, height, width) frame_num = ((session_config.frame_num - 1) // 4) * 4 + 1 - if session_config.poses is not None and session_config.intrinsics is not None: - session_config.poses, session_config.intrinsics, session_config.action, frame_num = ( - self._truncate_control_inputs_to_frame_num( - poses=session_config.poses, - intrinsics=session_config.intrinsics, - action=session_config.action, - frame_num=frame_num, - ) - ) self._notify_progress( progress_callback, "encoding_condition_video", @@ -600,25 +480,16 @@ def create_session( ) noise_chunks = list(noise.split(session_config.chunk_size, dim=2)) condition_chunks = list(latent_condition.unsqueeze(0).split(session_config.chunk_size, dim=2)) - self._notify_progress(progress_callback, "preparing_controls") - control_chunks = self._prepare_control_chunks( - session_config=session_config, - lat_f=lat_f, - lat_h=lat_h, - lat_w=lat_w, - height=height, - width=width, - chunk_size=session_config.chunk_size, - ) - + if before_cache is not None: + before_cache() cache_handle = self._next_cache_handle self._next_cache_handle += 1 session = LingBotWorldFastGenerationSession( prompt_emb=prompt_emb, encoded_image_latent=latent_condition, + config=session_config, noise_chunks=noise_chunks, condition_chunks=condition_chunks, - control_chunks=control_chunks, latent_h=lat_h, latent_w=lat_w, latent_f=lat_f, @@ -659,21 +530,14 @@ def create_session( session.world_kv_cached_latents = {} self._notify_progress(progress_callback, "runtime_created", width=width, height=height, latent_frames=lat_f) logger.info(f"LingBot runtime created: {width}x{height}, latent={lat_f}x{lat_h}x{lat_w}") + session.status = LingBotWorldFastSessionStatus.READY return session - def create_runtime( - self, - session_config: LingBotWorldFastSessionConfig, - progress_callback: Callable[..., None] | None = None, - ) -> LingBotWorldFastRuntimeState: - """Compatibility wrapper for the Stage 1 runtime API.""" - return self.create_session(session_config, progress_callback=progress_callback) - @torch.inference_mode() def generate_next_chunk( self, - runtime: LingBotWorldFastRuntimeState, - control_override: torch.Tensor | None = None, + runtime: LingBotWorldFastGenerationSession, + control: torch.Tensor, progress_callback: Callable[..., None] | None = None, ) -> list[Image.Image]: if runtime.current_chunk_index >= len(runtime.noise_chunks): @@ -684,9 +548,7 @@ def generate_next_chunk( idx = runtime.current_chunk_index latent_chunk = runtime.noise_chunks[idx] condition_chunk = runtime.condition_chunks[idx] - control_chunk = control_override - if control_chunk is None and runtime.control_chunks is not None and idx < len(runtime.control_chunks): - control_chunk = runtime.control_chunks[idx] + control_chunk = control self._notify_progress(progress_callback, "denoising_chunk", index=idx) current_start = idx * runtime.chunk_size * runtime.frame_tokens diff --git a/telefuser/pipelines/lingbot_world_fast/service.py b/telefuser/pipelines/lingbot_world_fast/service.py index 666bbee..862608b 100644 --- a/telefuser/pipelines/lingbot_world_fast/service.py +++ b/telefuser/pipelines/lingbot_world_fast/service.py @@ -15,6 +15,7 @@ from telefuser.utils.logging import logger from telefuser.utils.profiler import ProfilingContext4Debug +from .control import LingBotWorldFastControlBuilder, LingBotWorldFastControlContext from .pipeline import LingBotWorldFastPipeline from .session import ( LingBotWorldFastChunkRequest, @@ -101,10 +102,6 @@ def create_session(self, config: dict) -> str: max_attention_size=config.get("max_attention_size"), offload_model=bool(config.get("offload_model", False)), max_sequence_length=int(config.get("max_sequence_length", 512)), - action_path=config.get("action_path"), - poses=config.get("poses"), - intrinsics=config.get("intrinsics"), - action=config.get("action"), control_move_step=float(config.get("control_move_step", 0.18)), control_yaw_step_degrees=float(config.get("control_yaw_step_degrees", 10.0)), control_lateral_step=float(config.get("control_lateral_step", 0.12)), @@ -246,7 +243,7 @@ def _overlay_control_hud(cls, frames: list[Image.Image], controls: list[str] | N def _build_directional_control_chunk( self, state: LingBotWorldFastSessionState, - runtime: LingBotWorldFastGenerationSession, + control_context: LingBotWorldFastControlContext, ) -> dict | None: with state.control_lock: controls = set(state.pressed_controls) | set(state.queued_controls) @@ -254,10 +251,7 @@ def _build_directional_control_chunk( yaw = float(state.control_yaw) position = [float(v) for v in state.control_position] - if runtime.current_chunk_index >= len(runtime.noise_chunks): - return None - - latent_frames = int(runtime.noise_chunks[runtime.current_chunk_index].shape[2]) + latent_frames = control_context.chunk_size move_step = float(state.config.control_move_step) yaw_step = math.radians(float(state.config.control_yaw_step_degrees)) lateral_step = float(state.config.control_lateral_step) @@ -300,12 +294,7 @@ def _build_directional_control_chunk( "intrinsics": self._default_intrinsics(), "controls": sorted(controls), } - model_control_type = getattr( - getattr(self.pipeline, "dit", None), - "control_type", - self.pipeline.config.control_type, - ) - if model_control_type == "act": + if control_context.control_type == "act": chunk["action"] = action_rows return chunk @@ -364,15 +353,16 @@ def _run_worker_loop( ) -> None: try: self._emit_preview_frame(state) - emit_status("initializing_runtime") - state.generation_session = self.pipeline.create_session(state.config, progress_callback=emit_status) + control_context = self.pipeline.control_context(state.config) + control_builder = LingBotWorldFastControlBuilder(control_context) + state.generation_session = LingBotWorldFastGenerationSession(config=state.config) runtime = state.generation_session emit_status( "runtime_ready", - width=runtime.width, - height=runtime.height, - latent_frames=runtime.latent_f, - total_chunks=len(runtime.noise_chunks), + width=control_context.width, + height=control_context.height, + latent_frames=control_context.latent_frames, + total_chunks=control_context.latent_frames // control_context.chunk_size, ) chunk_index = 0 while state.active and runtime.active: @@ -396,9 +386,9 @@ def _run_worker_loop( if incoming and incoming.get("type") == "stop": break if explicit_control is not None: - control_override = self.pipeline.build_control_override(runtime, explicit_control) + control = control_builder.defer(explicit_control) else: - directional_chunk = self._build_directional_control_chunk(state, runtime) + directional_chunk = self._build_directional_control_chunk(state, control_context) if directional_chunk is None: raise RuntimeError("Directional action could not be converted into a control chunk") applied_controls = directional_chunk["controls"] @@ -410,9 +400,7 @@ def _run_worker_loop( yaw_step_degrees=state.config.control_yaw_step_degrees, lateral_step=state.config.control_lateral_step, ) - control_override = self.pipeline.build_control_override(runtime, directional_chunk) - if control_override is None: - raise ValueError("Action did not produce a control tensor") + control = control_builder.defer(directional_chunk) emit_status("generating_chunk", index=chunk_index) result = self.pipeline( @@ -420,7 +408,7 @@ def _run_worker_loop( LingBotWorldFastChunkRequest( chunk_index=runtime.current_chunk_index, session_id=session_id, - control_override=control_override, + control=control, ), progress_callback=emit_status, ) diff --git a/telefuser/pipelines/lingbot_world_fast/session.py b/telefuser/pipelines/lingbot_world_fast/session.py index e416421..6b02c0b 100644 --- a/telefuser/pipelines/lingbot_world_fast/session.py +++ b/telefuser/pipelines/lingbot_world_fast/session.py @@ -3,6 +3,7 @@ import asyncio import queue import threading +from collections.abc import Callable from dataclasses import dataclass, field from enum import Enum @@ -25,10 +26,6 @@ class LingBotWorldFastSessionConfig: max_attention_size: int | None = None offload_model: bool = False max_sequence_length: int = 512 - action_path: str | None = None - poses: object | None = None - intrinsics: object | None = None - action: object | None = None # Optional CacheSeek world_kv reuse. None preserves baseline behavior. world_kv_binding: object | None = None control_move_step: float = 0.18 @@ -42,17 +39,14 @@ class LingBotWorldFastChunkRequest: """Inputs for one explicitly indexed LingBot video chunk.""" chunk_index: int + control: torch.Tensor | Callable[[], torch.Tensor] = field(repr=False) session_id: str | None = None - action: dict[str, object] | None = field(default=None, repr=False) - control_override: torch.Tensor | None = field(default=None, repr=False) def __post_init__(self) -> None: if self.chunk_index < 0: raise ValueError(f"chunk_index must be non-negative, got {self.chunk_index}") - if self.action is not None and self.control_override is not None: - raise ValueError("Provide either action or control_override, not both") - if self.action is None and self.control_override is None: - raise ValueError("Each chunk request requires action or control_override") + if not isinstance(self.control, torch.Tensor) and not callable(self.control): + raise TypeError("Each chunk request requires a model control tensor or deferred control factory") @dataclass @@ -71,6 +65,7 @@ class LingBotWorldFastSessionStatus(str, Enum): READY = "ready" RUNNING = "running" + NEW = "new" COMMITTED = "committed" POISONED = "poisoned" RELEASED = "released" @@ -80,26 +75,26 @@ class LingBotWorldFastSessionStatus(str, Enum): class LingBotWorldFastGenerationSession: """Externally owned state for one chunked LingBot generation.""" - prompt_emb: torch.Tensor - encoded_image_latent: torch.Tensor - noise_chunks: list[torch.Tensor] - condition_chunks: list[torch.Tensor] - control_chunks: list[torch.Tensor] | None - latent_h: int - latent_w: int - latent_f: int - height: int - width: int - max_seq_len: int - frame_tokens: int - chunk_size: int - max_attention_size: int - cache_handle: int | None + config: LingBotWorldFastSessionConfig + prompt_emb: torch.Tensor | None = field(default=None, repr=False) + encoded_image_latent: torch.Tensor | None = field(default=None, repr=False) + noise_chunks: list[torch.Tensor] = field(default_factory=list, repr=False) + condition_chunks: list[torch.Tensor] = field(default_factory=list, repr=False) + latent_h: int = 0 + latent_w: int = 0 + latent_f: int = 0 + height: int = 0 + width: int = 0 + max_seq_len: int = 0 + frame_tokens: int = 0 + chunk_size: int = 0 + max_attention_size: int = 0 + cache_handle: int | None = None decoder_state: WanVideoVAEStreamingDecodeState = field(default_factory=WanVideoVAEStreamingDecodeState) current_chunk_index: int = 0 emitted_frames: int = 0 active: bool = True - status: LingBotWorldFastSessionStatus = LingBotWorldFastSessionStatus.READY + status: LingBotWorldFastSessionStatus = LingBotWorldFastSessionStatus.NEW poisoned_reason: str | None = None transaction_lock: object = field(default_factory=threading.RLock, repr=False) # KV geometry in latent frames; -1 means full-length KV. diff --git a/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py b/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py index 14809a5..d7dffe6 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py @@ -1,62 +1,110 @@ import numpy as np +import pytest +import torch -from telefuser.pipelines.lingbot_world_fast.pipeline import LingBotWorldFastPipeline +from telefuser.pipelines.lingbot_world_fast.control import ( + LingBotWorldFastControlBuilder, + LingBotWorldFastControlContext, + LingBotWorldFastOfflineControlSource, + build_camera_control_chunk, + compute_relative_poses, + get_ks_transformed, + interpolate_camera_poses, +) -def test_control_inputs_are_truncated_to_available_4n_plus_1_frames() -> None: - poses = np.zeros((10, 4, 4), dtype=np.float32) - intrinsics = np.zeros((10, 4), dtype=np.float32) - action = np.zeros((10, 6), dtype=np.float32) - - trimmed_poses, trimmed_intrinsics, trimmed_action, frame_num = ( - LingBotWorldFastPipeline._truncate_control_inputs_to_frame_num( - poses=poses, - intrinsics=intrinsics, - action=action, - frame_num=81, +def _builder() -> LingBotWorldFastControlBuilder: + return LingBotWorldFastControlBuilder( + LingBotWorldFastControlContext( + control_type="act", + device="cpu", + torch_dtype=torch.float32, + orig_height=8, + orig_width=8, + height=8, + width=8, + latent_h=1, + latent_w=1, + latent_frames=3, + chunk_size=3, ) ) - assert frame_num == 9 - assert trimmed_poses.shape == (9, 4, 4) - assert trimmed_intrinsics.shape == (9, 4) - assert trimmed_action.shape == (9, 6) +def test_action_alignment_samples_external_video_rate_actions() -> None: + action = torch.arange(9, dtype=torch.float32).unsqueeze(1) -def test_scalar_intrinsics_are_preserved_when_truncating_controls() -> None: - poses = np.zeros((10, 4, 4), dtype=np.float32) - intrinsics = np.zeros((4,), dtype=np.float32) + aligned = _builder()._align_action_frames(action, target_frames=3) - trimmed_poses, trimmed_intrinsics, trimmed_action, frame_num = ( - LingBotWorldFastPipeline._truncate_control_inputs_to_frame_num( - poses=poses, - intrinsics=intrinsics, - action=None, - frame_num=5, - ) - ) + torch.testing.assert_close(aligned[:, 0], torch.tensor([0.0, 4.0, 8.0])) - assert frame_num == 5 - assert trimmed_poses.shape == (5, 4, 4) - assert trimmed_intrinsics.shape == (4,) - assert trimmed_action is None +def test_action_alignment_rejects_an_incomplete_chunk_action() -> None: + with pytest.raises(ValueError, match="shorter"): + _builder()._align_action_frames(torch.zeros(2, 4), target_frames=3) -def test_requested_frame_count_caps_longer_controls() -> None: - poses = np.zeros((269, 4, 4), dtype=np.float32) - intrinsics = np.zeros((269, 4), dtype=np.float32) - action = np.zeros((269, 6), dtype=np.float32) - trimmed_poses, trimmed_intrinsics, trimmed_action, frame_num = ( - LingBotWorldFastPipeline._truncate_control_inputs_to_frame_num( - poses=poses, - intrinsics=intrinsics, - action=action, - frame_num=81, - ) +def test_prebuilt_control_is_the_only_pipeline_input() -> None: + control = torch.ones(1, 12, 3, 1, 1) + + built = _builder().build({"control_tensor": control}) + + assert built is control + + +def test_offline_control_source_materializes_once_when_first_requested() -> None: + builder = _builder() + calls = 0 + + def build_sequence(*args): + nonlocal calls + calls += 1 + return [torch.tensor([1]), torch.tensor([2])] + + builder.build_sequence = build_sequence + source = LingBotWorldFastOfflineControlSource(builder, poses=object(), intrinsics=object()) + + second = source.control_at(1) + first = source.control_at(0) + + assert calls == 0 + assert torch.equal(first(), torch.tensor([1])) + assert calls == 1 + assert torch.equal(second(), torch.tensor([2])) + assert calls == 1 + + +def test_external_builder_matches_legacy_offline_camera_control_math() -> None: + poses = np.repeat(np.eye(4, dtype=np.float32)[None], 9, axis=0) + poses[:, 2, 3] = np.linspace(0.0, 1.0, len(poses)) + intrinsics = np.repeat(np.array([[8.0, 8.0, 4.0, 4.0]], dtype=np.float32), len(poses), axis=0) + context = _builder().context + controls = torch.cat(_builder().build_sequence(poses, intrinsics), dim=2) + + poses_t = torch.as_tensor(poses, dtype=torch.float32) + intrinsics_t = get_ks_transformed( + torch.as_tensor(intrinsics, dtype=torch.float32), + height_org=context.orig_height, + width_org=context.orig_width, + height_resize=context.height, + width_resize=context.width, + height_final=context.height, + width_final=context.width, + ) + interpolated = interpolate_camera_poses( + src_indices=np.linspace(0, len(poses_t) - 1, len(poses_t)), + src_rot_mat=np.asarray(poses_t[:, :3, :3]), + src_trans_vec=np.asarray(poses_t[:, :3, 3]), + tgt_indices=np.linspace(0, len(poses_t) - 1, context.latent_frames), ) + relative = compute_relative_poses(interpolated, framewise=True) + legacy = build_camera_control_chunk( + relative, + intrinsics_t[0].repeat(len(relative), 1), + context.latent_h, + context.latent_w, + context.height, + context.width, + ).control_tensor - assert frame_num == 81 - assert trimmed_poses.shape == (81, 4, 4) - assert trimmed_intrinsics.shape == (81, 4) - assert trimmed_action.shape == (81, 6) + assert torch.equal(controls, legacy) diff --git a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py index c42bd7c..6bf94a6 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py @@ -24,11 +24,12 @@ def _session( ) -> LingBotWorldFastGenerationSession: empty = torch.empty(0) return LingBotWorldFastGenerationSession( + config=LingBotWorldFastSessionConfig(prompt="test", image=Image.new("RGB", (8, 8))), + status=LingBotWorldFastSessionStatus.READY, prompt_emb=empty, encoded_image_latent=empty, noise_chunks=[empty for _ in range(chunk_count)], condition_chunks=[empty for _ in range(chunk_count)], - control_chunks=None, latent_h=1, latent_w=1, latent_f=chunk_count, @@ -50,7 +51,7 @@ def test_pipeline_call_generates_one_explicitly_indexed_chunk() -> None: runtime = _session() expected = [Image.new("RGB", (8, 8), "red") for _ in range(9)] - def generate_next_chunk(runtime_state, control_override=None, progress_callback=None): + def generate_next_chunk(runtime_state, control=None, progress_callback=None): runtime_state.current_chunk_index += 1 runtime_state.emitted_frames += len(expected) return expected @@ -64,7 +65,7 @@ def generate_next_chunk(runtime_state, control_override=None, progress_callback= LingBotWorldFastChunkRequest( chunk_index=0, session_id="session-a", - control_override=control, + control=control, ), progress_callback=progress_callback, ) @@ -77,24 +78,17 @@ def generate_next_chunk(runtime_state, control_override=None, progress_callback= assert runtime.status == LingBotWorldFastSessionStatus.COMMITTED pipeline.generate_next_chunk.assert_called_once_with( runtime, - control_override=control, + control=control, progress_callback=progress_callback, ) def test_chunk_request_rejects_invalid_inputs() -> None: with pytest.raises(ValueError, match="non-negative"): - LingBotWorldFastChunkRequest(chunk_index=-1) + LingBotWorldFastChunkRequest(chunk_index=-1, control=torch.zeros(1)) - with pytest.raises(ValueError, match="either action or control_override"): - LingBotWorldFastChunkRequest( - chunk_index=0, - action={"poses": object()}, - control_override=torch.zeros(1), - ) - - with pytest.raises(ValueError, match="requires action or control_override"): - LingBotWorldFastChunkRequest(chunk_index=0) + with pytest.raises(TypeError, match="model control tensor"): + LingBotWorldFastChunkRequest(chunk_index=0, control=object()) def test_pipeline_call_rejects_inactive_runtime() -> None: @@ -103,7 +97,7 @@ def test_pipeline_call_rejects_inactive_runtime() -> None: pipeline.generate_next_chunk = MagicMock() with pytest.raises(RuntimeError, match="inactive"): - pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control_override=torch.zeros(1))) + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=torch.zeros(1))) pipeline.generate_next_chunk.assert_not_called() @@ -114,46 +108,56 @@ def test_pipeline_call_rejects_out_of_order_chunk() -> None: pipeline.generate_next_chunk = MagicMock() with pytest.raises(ValueError, match="does not match session index"): - pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control_override=torch.zeros(1))) + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=torch.zeros(1))) pipeline.generate_next_chunk.assert_not_called() -def test_pipeline_call_builds_control_from_external_action() -> None: +def test_new_session_rejects_out_of_order_chunk_without_initializing() -> None: pipeline = LingBotWorldFastPipeline(device="cpu") - pipeline.denoise_stage = MagicMock() - runtime = _session() - control = torch.zeros(1) - action = {"poses": object(), "intrinsics": object(), "action": object()} - pipeline.build_control_override = MagicMock(return_value=control) - pipeline.generate_next_chunk = MagicMock(return_value=[]) + session = LingBotWorldFastGenerationSession( + config=LingBotWorldFastSessionConfig(prompt="test", image=Image.new("RGB", (8, 8))) + ) + deferred_control = MagicMock(return_value=torch.zeros(1)) + pipeline._create_initialized_session = MagicMock() - pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, action=action)) + with pytest.raises(ValueError, match="does not match session index"): + pipeline(session, LingBotWorldFastChunkRequest(chunk_index=1, control=deferred_control)) - pipeline.build_control_override.assert_called_once_with(runtime, action) - pipeline.generate_next_chunk.assert_called_once_with( - runtime, - control_override=control, - progress_callback=None, - ) + deferred_control.assert_not_called() + pipeline._create_initialized_session.assert_not_called() -def test_pipeline_call_releases_runtime_when_action_conversion_fails() -> None: +def test_first_pipeline_call_initializes_the_external_session() -> None: pipeline = LingBotWorldFastPipeline(device="cpu") pipeline.denoise_stage = MagicMock() - runtime = _session() - pipeline.build_control_override = MagicMock(side_effect=ValueError("invalid action")) + initialized = _session() + session = LingBotWorldFastGenerationSession( + config=LingBotWorldFastSessionConfig(prompt="test", image=Image.new("RGB", (8, 8))) + ) + control = torch.zeros(1) + events: list[str] = [] - with pytest.raises(ValueError, match="invalid action"): - pipeline( - runtime, - LingBotWorldFastChunkRequest(chunk_index=0, action={"poses": object()}), - ) + def initialize(config, progress_callback, before_cache): + assert config is session.config + assert progress_callback is None + events.append("initialization_started") + before_cache() + events.append("cache_initialization_ready") + return initialized - assert runtime.active is False - assert runtime.status == LingBotWorldFastSessionStatus.POISONED - assert runtime.cache_handle is None - pipeline.denoise_stage.release_cache.assert_called_once_with(7) + def deferred_control() -> torch.Tensor: + events.append("control_materialized") + return control + + pipeline.generate_next_chunk = MagicMock(return_value=[]) + pipeline._create_initialized_session = MagicMock(side_effect=initialize) + + pipeline(session, LingBotWorldFastChunkRequest(chunk_index=0, control=deferred_control)) + + pipeline._create_initialized_session.assert_called_once() + assert events == ["initialization_started", "control_materialized", "cache_initialization_ready"] + pipeline.generate_next_chunk.assert_called_once_with(session, control=control, progress_callback=None) def test_pipeline_call_releases_runtime_when_generation_fails() -> None: @@ -163,7 +167,7 @@ def test_pipeline_call_releases_runtime_when_generation_fails() -> None: pipeline.generate_next_chunk = MagicMock(side_effect=RuntimeError("generation failed")) with pytest.raises(RuntimeError, match="generation failed"): - pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control_override=torch.zeros(1))) + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=torch.zeros(1))) assert runtime.active is False assert runtime.status == LingBotWorldFastSessionStatus.POISONED @@ -171,7 +175,7 @@ def test_pipeline_call_releases_runtime_when_generation_fails() -> None: pipeline.denoise_stage.release_cache.assert_called_once_with(7) with pytest.raises(RuntimeError, match="poisoned"): - pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control_override=torch.zeros(1))) + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=torch.zeros(1))) def test_release_session_is_idempotent() -> None: @@ -208,7 +212,7 @@ def hold_transaction() -> None: session, LingBotWorldFastChunkRequest( chunk_index=0, - control_override=torch.zeros(1), + control=torch.zeros(1), ), ) finally: @@ -221,9 +225,6 @@ def hold_transaction() -> None: def test_generate_video_drains_runtime_and_releases_it() -> None: pipeline = LingBotWorldFastPipeline(device="cpu") - runtime = _session(chunk_count=2) - runtime.control_chunks = [torch.tensor([1]), torch.tensor([2])] - pipeline.create_session = MagicMock(return_value=runtime) pipeline.release_session = MagicMock(side_effect=lambda state: setattr(state, "active", False)) frame = Image.new("RGB", (8, 8)) @@ -237,12 +238,11 @@ def generate(runtime_state, request, progress_callback=None): config = LingBotWorldFastSessionConfig(prompt="test", image=frame) with patch.object(LingBotWorldFastPipeline, "__call__", side_effect=generate) as generate_chunk: - frames = pipeline.generate_video(config) + frames = pipeline.generate_video(config, controls=[torch.tensor([1]), torch.tensor([2])]) assert frames == [frame, frame] assert generate_chunk.call_count == 2 - pipeline.create_session.assert_called_once_with(config, progress_callback=None) - pipeline.release_session.assert_called_once_with(runtime) + pipeline.release_session.assert_called_once() def test_pipeline_close_delegates_to_parallel_worker() -> None: diff --git a/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py b/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py index e539547..489a1ec 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py @@ -1,7 +1,6 @@ from types import SimpleNamespace from unittest.mock import MagicMock -import numpy as np import pytest import torch from PIL import Image @@ -32,19 +31,17 @@ def _build_runtime_pipeline() -> LingBotWorldFastPipeline: pipeline.denoise_stage = MagicMock() pipeline._next_cache_handle = 0 pipeline.timesteps = LingBotWorldFastTimesteps() - pipeline._populate_session_controls = MagicMock() pipeline.encode_prompt = MagicMock(return_value=torch.zeros(1, 4, 8)) pipeline._prepare_image_tensor = MagicMock(return_value=torch.zeros(3, 16, 16)) pipeline._encode_condition_video = MagicMock( side_effect=lambda _image, frame_num: torch.zeros(17, (frame_num - 1) // 4 + 1, 2, 2) ) - pipeline._prepare_control_chunks = MagicMock(return_value=None) return pipeline def _create_runtime(frame_num: int, seed: int = 42): pipeline = _build_runtime_pipeline() - runtime = pipeline.create_runtime( + runtime = pipeline._create_initialized_session( LingBotWorldFastSessionConfig( prompt="baseline", image=Image.new("RGB", (16, 16)), @@ -79,8 +76,8 @@ def test_generation_sessions_receive_isolated_cache_and_decoder_handles() -> Non chunk_size=3, ) - first = pipeline.create_session(config) - second = pipeline.create_session(config) + first = pipeline._create_initialized_session(config) + second = pipeline._create_initialized_session(config) assert first.cache_handle == 0 assert second.cache_handle == 1 @@ -93,7 +90,7 @@ def test_cache_initialization_failure_triggers_global_cleanup() -> None: pipeline.denoise_stage.initialize_cache.side_effect = RuntimeError("rank initialization failed") with pytest.raises(RuntimeError, match="rank initialization failed"): - pipeline.create_session( + pipeline._create_initialized_session( LingBotWorldFastSessionConfig( prompt="baseline", image=Image.new("RGB", (16, 16)), @@ -168,7 +165,7 @@ def test_final_chunk_marks_runtime_inactive_and_releases_denoise_state() -> None current_chunk_index=0, noise_chunks=[torch.zeros_like(cached_latent)], condition_chunks=[torch.zeros_like(cached_latent)], - control_chunks=None, + config=LingBotWorldFastSessionConfig(prompt="test", image=Image.new("RGB", (8, 8))), chunk_size=3, frame_tokens=1, world_kv_cached_latents={0: cached_latent}, @@ -177,7 +174,7 @@ def test_final_chunk_marks_runtime_inactive_and_releases_denoise_state() -> None emitted_frames=0, ) - frames = pipeline.generate_next_chunk(runtime) + frames = pipeline.generate_next_chunk(runtime, control=torch.zeros(1)) assert frames == expected_frames assert runtime.current_chunk_index == 1 @@ -195,18 +192,3 @@ def test_runtime_rejects_non_aligned_frame_count() -> None: def test_runtime_rejects_frame_count_smaller_than_first_chunk() -> None: with pytest.raises(ValueError, match="frame_num"): _create_runtime(frame_num=5) - - -@pytest.mark.xfail(strict=True, reason="Control alignment currently considers pose length only") -def test_control_alignment_rejects_short_action_sequence() -> None: - poses = np.zeros((9, 4, 4), dtype=np.float32) - intrinsics = np.zeros((9, 4), dtype=np.float32) - action = np.zeros((5, 6), dtype=np.float32) - - with pytest.raises(ValueError, match="action"): - LingBotWorldFastPipeline._truncate_control_inputs_to_frame_num( - poses=poses, - intrinsics=intrinsics, - action=action, - frame_num=9, - ) diff --git a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py index a66870e..c1758c0 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py @@ -1,6 +1,6 @@ import threading from types import SimpleNamespace -from unittest.mock import MagicMock +from unittest.mock import MagicMock, patch import torch from PIL import Image @@ -29,44 +29,47 @@ def test_online_worker_waits_for_external_action_before_generating() -> None: service = LingBotWorldFastService(pipeline) state = _state() runtime_ready = threading.Event() - runtime = SimpleNamespace( - active=True, - width=8, - height=8, - latent_f=3, - noise_chunks=[torch.zeros(1, 1, 3)], - current_chunk_index=0, - ) - def create_session(*args, **kwargs): + def control_context(*args, **kwargs): runtime_ready.set() - return runtime + return SimpleNamespace( + control_type="cam", + chunk_size=3, + width=8, + height=8, + latent_frames=3, + ) - def generate_chunk(runtime_state, request, progress_callback=None): - assert request.control_override is control - runtime_state.active = False + def generate_chunk(runtime, request, progress_callback=None): + assert request.control is deferred_control + runtime.active = False return SimpleNamespace(frames=[Image.new("RGB", (8, 8))]) - pipeline.create_session.side_effect = create_session - pipeline.build_control_override.return_value = control = torch.ones(1) + pipeline.control_context.side_effect = control_context pipeline.side_effect = generate_chunk + builder = MagicMock() + control = torch.ones(1) + deferred_control = MagicMock(return_value=control) + builder.defer.return_value = deferred_control + + with patch("telefuser.pipelines.lingbot_world_fast.service.LingBotWorldFastControlBuilder", return_value=builder): + worker = threading.Thread( + target=service._run_worker_loop, + args=("session-a", state, MagicMock()), + daemon=True, + ) + worker.start() - worker = threading.Thread( - target=service._run_worker_loop, - args=("session-a", state, MagicMock()), - daemon=True, - ) - worker.start() - - assert runtime_ready.wait(timeout=1.0) - assert pipeline.call_count == 0 + assert runtime_ready.wait(timeout=1.0) + assert pipeline.call_count == 0 - state.pending_inputs.put({"type": "control", "control_tensor": control}) - worker.join(timeout=2.0) + state.pending_inputs.put({"type": "control", "control_tensor": control}) + worker.join(timeout=2.0) assert not worker.is_alive() assert pipeline.call_count == 1 - pipeline.release_session.assert_called_once_with(runtime) + builder.defer.assert_called_once_with({"type": "control", "control_tensor": control}) + pipeline.release_session.assert_called_once() def test_direction_action_updates_state_and_wakes_worker() -> None: From 575871051acdbaab4a4d6034e303f965e4771856 Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Mon, 13 Jul 2026 18:01:25 +0000 Subject: [PATCH 4/9] fix(lingbot): validate control inputs and clean examples Reject incomplete frame and control windows instead of truncating them, and validate control mode, tensor shape, dtype, and device before generation. Simplify LingBot initialization by removing the unused module manager parameter, clean obsolete configuration fields, and keep serialization in the service layer. Use TF_MODEL_ZOO_PATH in both examples and synchronize the English and Chinese streaming documentation. Verification: - python -m pytest tests/unit/pipelines/lingbot_world_fast tests/unit/models/test_lingbot_world_fast_dit.py -q - python -m ruff check telefuser/pipelines/lingbot_world_fast examples/lingbot tests/unit/pipelines/lingbot_world_fast - python -m ruff format --check telefuser/pipelines/lingbot_world_fast examples/lingbot tests/unit/pipelines/lingbot_world_fast - 4-GPU LingBot offline smoke test; output SHA-256 matched Stage 0 and Stage 3 baselines --- docs/en/stream_server.md | 31 +++++-- docs/zh/stream_server.md | 27 ++++-- .../lingbot_world_fast_image_to_video_h100.py | 36 ++++---- examples/lingbot/stream_lingbot_world_fast.py | 31 ++++--- .../pipelines/lingbot_world_fast/control.py | 89 +++++++++++++------ .../pipelines/lingbot_world_fast/pipeline.py | 62 ++++++++----- .../pipelines/lingbot_world_fast/service.py | 20 ++++- .../pipelines/lingbot_world_fast/session.py | 1 - .../test_control_alignment.py | 52 ++++++++++- .../lingbot_world_fast/test_pipeline_call.py | 47 +++++++--- .../test_runtime_baseline.py | 15 +++- .../lingbot_world_fast/test_stream_example.py | 24 +++-- 12 files changed, 306 insertions(+), 129 deletions(-) diff --git a/docs/en/stream_server.md b/docs/en/stream_server.md index 16da624..477a492 100644 --- a/docs/en/stream_server.md +++ b/docs/en/stream_server.md @@ -557,15 +557,16 @@ LingBot-World-Fast requires two sets of weights: | Setting | Example | Description | |---------|---------|-------------| -| `TF_MODEL_ZOO_PATH` | `/storage/model_zoo` | Model root constant configured in the example script | +| `TF_MODEL_ZOO_PATH` | `/storage/model_zoo` | Required environment variable that locates both model trees | | Base model subdirectory | `/storage/model_zoo/Wan2.2-I2V-A14B` | Base Wan2.2 I2V weights containing VAE, T5 text encoder, and tokenizer | -| Fast model subdirectory | `/storage/model_zoo/lingbot-world-fast` | LingBot-World-Fast DiT weights | +| Fast model subdirectory | `/storage/model_zoo/lingbot/lingbot-world-fast` | LingBot-World-Fast DiT weights | #### Start the Server -Set `TF_MODEL_ZOO_PATH` and `PPL_CONFIG["parallelism"]` in `examples/lingbot/stream_lingbot_world_fast.py`. The default configuration uses four GPUs and creates Ulysses workers internally, so the server command does not need `torchrun` or distributed environment variables. +Set `TF_MODEL_ZOO_PATH` and, if needed, `PPL_CONFIG["parallelism"]` before starting the service. The default configuration uses four GPUs and creates Ulysses workers internally, so the server command does not need `torchrun` or distributed environment variables. ```bash +TF_MODEL_ZOO_PATH=/storage/model_zoo \ TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478' \ TELEFUSER_TURN_USERNAME=telefuser \ TELEFUSER_TURN_CREDENTIAL=your-turn-password \ @@ -705,10 +706,22 @@ Only switch to `act` when using action-control weights: --control-mode act ``` -The service example currently sets `control_type="cam"` inside -`examples/lingbot/stream_lingbot_world_fast.py`. To use action-control -weights, edit `PPL_CONFIG["control_type"]` in that script as well as passing -`--control-mode act` to the demo. +The service example sets `PPL_CONFIG["control_mode"]="cam"` inside +`examples/lingbot/stream_lingbot_world_fast.py`. A session's control mode must +match the mode used to initialize the pipeline. To use action-control weights, +set that value to `"act"` before starting the service and pass `--control-mode +act` to the demo. + +#### Frame and Control Contract + +LingBot accepts complete latent chunks only. `frame_num` must be `4n + 1`, and +the resulting latent-frame count must divide evenly by `chunk_size`. With the +default chunk size of 3, valid output lengths are 9, 21, 33, ..., 81 frames; +invalid values are rejected rather than rounded down. Offline control files +must provide enough poses and action samples for the requested video window. +Intrinsics may be either one static `(4,)` value or one `(frames, 4)` value per +video frame. Explicit control tensors must match the pipeline's selected mode, +device, dtype, and full latent-chunk shape. #### VRAM and Resolution @@ -716,14 +729,14 @@ LingBot's KV cache grows with `frame_num` and output resolution. 832×480 at 81 ```bash # In examples/lingbot/stream_lingbot_world_fast.py: -PPL_CONFIG["max_area"] = 99840 # approximately 416×240 +PPL_CONFIG["resolution"] = "240p" ``` Common tuning parameters: | Parameter | Effect | |-----------|--------| -| `PPL_CONFIG["max_area"]` | Reduce output area, significantly lower VRAM usage | +| `PPL_CONFIG["resolution"]` | Select the configured output area; use the included `240p` preset to reduce VRAM | | `--frame-num` | Reduce total generated frames and latent chunk count | | `--chunk-size` | Affect the latent chunk size per generation step | diff --git a/docs/zh/stream_server.md b/docs/zh/stream_server.md index 2342f16..c86cf34 100644 --- a/docs/zh/stream_server.md +++ b/docs/zh/stream_server.md @@ -557,15 +557,16 @@ LingBot-World-Fast 需要两类权重: | 配置 | 示例 | 说明 | |----------|------|------| -| `TF_MODEL_ZOO_PATH` | `/storage/model_zoo` | 在示例脚本中配置的模型根目录常量 | +| `TF_MODEL_ZOO_PATH` | `/storage/model_zoo` | 必填环境变量,用于定位两套模型目录 | | 基础模型子目录 | `/storage/model_zoo/Wan2.2-I2V-A14B` | 基础 Wan2.2 I2V 权重,包含 VAE、T5 文本编码器和 tokenizer | -| Fast 模型子目录 | `/storage/model_zoo/lingbot-world-fast` | LingBot-World-Fast DiT 权重 | +| Fast 模型子目录 | `/storage/model_zoo/lingbot/lingbot-world-fast` | LingBot-World-Fast DiT 权重 | #### 启动服务端 -在 `examples/lingbot/stream_lingbot_world_fast.py` 中设置 `TF_MODEL_ZOO_PATH` 和 `PPL_CONFIG["parallelism"]`。默认配置使用四张 GPU,并由 TeleFuser 在服务内部创建 Ulysses worker,因此启动命令不需要 `torchrun` 或分布式环境变量。 +启动前设置 `TF_MODEL_ZOO_PATH`;如有需要,再调整 `PPL_CONFIG["parallelism"]`。默认配置使用四张 GPU,并由 TeleFuser 在服务内部创建 Ulysses worker,因此启动命令不需要 `torchrun` 或分布式环境变量。 ```bash +TF_MODEL_ZOO_PATH=/storage/model_zoo \ TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478' \ TELEFUSER_TURN_USERNAME=telefuser \ TELEFUSER_TURN_CREDENTIAL=your-turn-password \ @@ -705,9 +706,19 @@ demo 默认开启 `Control HUD`。该 HUD 会叠加在使用了方向控制的 --control-mode act ``` -服务示例当前在 `examples/lingbot/stream_lingbot_world_fast.py` 中把 -`control_type` 固定为 `"cam"`。如果要使用 action-control 权重,除了给 demo -传 `--control-mode act`,还需要修改该脚本里的 `PPL_CONFIG["control_type"]`。 +服务示例在 `examples/lingbot/stream_lingbot_world_fast.py` 中设置 +`PPL_CONFIG["control_mode"]="cam"`。session 的控制模式必须与 pipeline 初始化 +时的模式一致。若要使用 action-control 权重,请在启动服务前将该值改为 `"act"`, +并给 demo 传入 `--control-mode act`。 + +#### 帧数与控制输入契约 + +LingBot 只接受完整 latent chunk。`frame_num` 必须为 `4n + 1`,并且得到的 +latent frame 数必须能被 `chunk_size` 整除。默认 `chunk_size=3` 时,合法输出帧数为 +9、21、33、…、81;非法值会直接报错,不再向下截断。离线 control 文件必须提供覆盖 +目标视频窗口的 pose 和 action。intrinsics 可以是单个静态 `(4,)` 值,也可以是逐视频帧 +的 `(frames, 4)` 值。显式 control tensor 必须与 pipeline 的控制模式、device、dtype +和完整 latent-chunk shape 一致。 #### 显存与分辨率 @@ -715,14 +726,14 @@ LingBot 的 KV cache 会随 `frame_num` 和输出分辨率增长。832x480、81 ```bash # 在 examples/lingbot/stream_lingbot_world_fast.py 中: -PPL_CONFIG["max_area"] = 99840 # 约 416x240 +PPL_CONFIG["resolution"] = "240p" ``` 常用调参方向: | 参数 | 影响 | |------|------| -| `PPL_CONFIG["max_area"]` | 降低输出面积,显著降低显存占用 | +| `PPL_CONFIG["resolution"]` | 选择预设输出面积;可使用内置 `240p` 预设降低显存 | | `--frame-num` | 降低总生成帧数和 latent chunk 数 | | `--chunk-size` | 影响每次生成的 latent chunk 大小 | diff --git a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py index d2f8943..0190b45 100644 --- a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py +++ b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py @@ -9,6 +9,7 @@ from __future__ import annotations +import os import time from pathlib import Path @@ -17,7 +18,6 @@ from PIL import Image from telefuser.core.config import AttentionConfig, AttnImplType, ModelRuntimeConfig, ParallelConfig -from telefuser.core.module_manager import ModuleManager from telefuser.pipelines.lingbot_world_fast.control import ( LingBotWorldFastControlBuilder, LingBotWorldFastOfflineControlSource, @@ -25,10 +25,7 @@ load_camera_control_inputs, truncate_control_sequence, ) -from telefuser.pipelines.lingbot_world_fast.pipeline import ( - LingBotWorldFastPipeline, - LingBotWorldFastPipelineConfig, -) +from telefuser.pipelines.lingbot_world_fast.pipeline import LingBotWorldFastPipeline, LingBotWorldFastPipelineConfig from telefuser.pipelines.lingbot_world_fast.session import ( LingBotWorldFastChunkRequest, LingBotWorldFastGenerationSession, @@ -38,7 +35,6 @@ _PROJECT_ROOT = Path(__file__).resolve().parents[2] _DATA_ROOT = _PROJECT_ROOT / "examples" / "data" / "lingbot_world_fast" -TF_MODEL_ZOO_PATH = "/hhb-data/aigc/model_zoo" DEFAULT_IMAGE_PATH = str(_DATA_ROOT / "image.jpg") DEFAULT_ACTION_PATH = str(_DATA_ROOT) DEFAULT_OUTPUT_DIR = _PROJECT_ROOT / "work_dirs" @@ -46,15 +42,11 @@ "A serene lakeside scene with a lone tree standing in calm water, surrounded by distant snow-capped " "mountains under a bright blue sky with drifting white clouds. Gentle ripples reflect the tree and sky." ) -RESOLUTION_AREAS = {"480p": 480 * 832, "720p": 720 * 1280} +RESOLUTION_AREAS = {"240p": 240 * 416, "480p": 480 * 832, "720p": 720 * 1280} PPL_CONFIG = dict( - name="lingbot_world_fast_i2v_h100", - model_root=TF_MODEL_ZOO_PATH + "/Wan2.2-I2V-A14B", - fast_model_root=TF_MODEL_ZOO_PATH + "/lingbot/lingbot-world-fast", control_mode="cam", resolution="480p", - num_inference_steps=4, frame_num=81, chunk_size=3, sample_shift=10.0, @@ -71,20 +63,24 @@ def get_pipeline( parallelism: int = 1, - model_root: str = PPL_CONFIG["model_root"], - fast_model_root: str = PPL_CONFIG["fast_model_root"], + model_root: str | None = None, + fast_model_root: str | None = None, ) -> LingBotWorldFastPipeline: """Load LingBot-World-Fast for offline chunked generation.""" + if model_root is None or fast_model_root is None: + model_zoo_path = Path(os.environ["TF_MODEL_ZOO_PATH"]).expanduser() + default_model_root = str(model_zoo_path / "Wan2.2-I2V-A14B") + default_fast_model_root = str(model_zoo_path / "lingbot" / "lingbot-world-fast") + else: + default_model_root, default_fast_model_root = model_root, fast_model_root if parallelism < 1: raise ValueError(f"parallelism must be positive, got {parallelism}") - dtype = PPL_CONFIG["torch_dtype"] pipeline = LingBotWorldFastPipeline(device="cuda", torch_dtype=dtype) pipeline.init( - ModuleManager(device="cpu"), LingBotWorldFastPipelineConfig( - checkpoint_dir=model_root, - fast_checkpoint_subdir=fast_model_root, + checkpoint_dir=model_root or default_model_root, + fast_checkpoint_path=fast_model_root or default_fast_model_root, vae_config=ModelRuntimeConfig(device_type="cuda", device_id=0, torch_dtype=dtype), text_encoding_config=ModelRuntimeConfig(device_type="cuda", device_id=0, torch_dtype=dtype), dit_torch_dtype=dtype, @@ -168,13 +164,13 @@ def run( @click.option("--action_path", default=DEFAULT_ACTION_PATH, type=click.Path(exists=True, file_okay=False)) @click.option("--prompt", default=DEFAULT_PROMPT, help="Positive guidance prompt") @click.option("--seed", default=PPL_CONFIG["seed"], type=int) -@click.option("--resolution", default=PPL_CONFIG["resolution"], type=click.Choice(["480p", "720p"])) +@click.option("--resolution", default=PPL_CONFIG["resolution"], type=click.Choice(list(RESOLUTION_AREAS))) @click.option("--frame_num", default=PPL_CONFIG["frame_num"], type=int, help="Number of output frames") @click.option("--fps", default=PPL_CONFIG["target_fps"], type=int, help="Output video frame rate") -@click.option("--model_root", default=PPL_CONFIG["model_root"], type=click.Path(exists=True, file_okay=False)) +@click.option("--model_root", default=None, type=click.Path(exists=True, file_okay=False)) @click.option( "--fast_model_root", - default=PPL_CONFIG["fast_model_root"], + default=None, type=click.Path(exists=True, file_okay=False), ) @click.option("--output", default=None, type=click.Path(dir_okay=False), help="Output video path") diff --git a/examples/lingbot/stream_lingbot_world_fast.py b/examples/lingbot/stream_lingbot_world_fast.py index 7a0f383..dbb504b 100644 --- a/examples/lingbot/stream_lingbot_world_fast.py +++ b/examples/lingbot/stream_lingbot_world_fast.py @@ -7,23 +7,18 @@ from __future__ import annotations +import os +from pathlib import Path + import torch from telefuser.core.config import AttentionConfig, AttnImplType, ModelRuntimeConfig, ParallelConfig -from telefuser.core.module_manager import ModuleManager -from telefuser.pipelines.lingbot_world_fast.pipeline import ( - LingBotWorldFastPipeline, - LingBotWorldFastPipelineConfig, -) +from telefuser.pipelines.lingbot_world_fast.pipeline import LingBotWorldFastPipeline, LingBotWorldFastPipelineConfig from telefuser.pipelines.lingbot_world_fast.service import LingBotWorldFastService -TF_MODEL_ZOO_PATH = "/hhb-data/aigc/model_zoo" -RESOLUTION_AREAS = {"480p": 480 * 832, "720p": 720 * 1280} +RESOLUTION_AREAS = {"240p": 240 * 416, "480p": 480 * 832, "720p": 720 * 1280} PPL_CONFIG = dict( - name="lingbot_world_fast_stream", - model_root=TF_MODEL_ZOO_PATH + "/Wan2.2-I2V-A14B", - fast_model_root=TF_MODEL_ZOO_PATH + "/lingbot-world-fast", parallelism=4, control_mode="cam", resolution="480p", @@ -38,20 +33,24 @@ def get_pipeline( parallelism: int = PPL_CONFIG["parallelism"], - model_root: str = PPL_CONFIG["model_root"], - fast_model_root: str = PPL_CONFIG["fast_model_root"], + model_root: str | None = None, + fast_model_root: str | None = None, ) -> LingBotWorldFastPipeline: """Load LingBot-World-Fast with internal multi-GPU workers.""" + if model_root is None or fast_model_root is None: + model_zoo_path = Path(os.environ["TF_MODEL_ZOO_PATH"]).expanduser() + default_model_root = str(model_zoo_path / "Wan2.2-I2V-A14B") + default_fast_model_root = str(model_zoo_path / "lingbot" / "lingbot-world-fast") + else: + default_model_root, default_fast_model_root = model_root, fast_model_root if parallelism < 1: raise ValueError(f"parallelism must be positive, got {parallelism}") - dtype = PPL_CONFIG["torch_dtype"] pipeline = LingBotWorldFastPipeline(device="cuda", torch_dtype=dtype) pipeline.init( - ModuleManager(device="cpu"), LingBotWorldFastPipelineConfig( - checkpoint_dir=model_root, - fast_checkpoint_subdir=fast_model_root, + checkpoint_dir=model_root or default_model_root, + fast_checkpoint_path=fast_model_root or default_fast_model_root, vae_config=ModelRuntimeConfig(device_type="cuda", device_id=0, torch_dtype=dtype), text_encoding_config=ModelRuntimeConfig(device_type="cuda", device_id=0, torch_dtype=dtype), dit_torch_dtype=dtype, diff --git a/telefuser/pipelines/lingbot_world_fast/control.py b/telefuser/pipelines/lingbot_world_fast/control.py index dfeb9f7..1a51c5e 100644 --- a/telefuser/pipelines/lingbot_world_fast/control.py +++ b/telefuser/pipelines/lingbot_world_fast/control.py @@ -200,16 +200,23 @@ def truncate_control_sequence( action: object | None, frame_num: int, ) -> tuple[object, object, object | None]: - """Limit an external offline control sequence to the requested 4n+1 video frames.""" - requested_frame_num = ((int(frame_num) - 1) // 4) * 4 + 1 - available_frame_num = ((len(poses) - 1) // 4) * 4 + 1 - effective_frame_num = min(requested_frame_num, available_frame_num) - if effective_frame_num < 2: - raise ValueError("Control sequence must contain at least two video frames") - trimmed_poses = poses[:effective_frame_num] + """Select the requested complete video-rate control window without shortening it.""" + if frame_num < 1 or (frame_num - 1) % 4: + raise ValueError(f"frame_num must be 4n+1, got {frame_num}") + if len(poses) < frame_num: + raise ValueError(f"Pose sequence has {len(poses)} frames but frame_num requires {frame_num}") + intrinsics_arr = np.asarray(intrinsics) - trimmed_intrinsics = intrinsics[:effective_frame_num] if intrinsics_arr.ndim > 1 else intrinsics - trimmed_action = action[:effective_frame_num] if action is not None else None + if intrinsics_arr.ndim not in (1, 2) or intrinsics_arr.shape[-1] != 4: + raise ValueError("Intrinsics must have shape (4,) or (frames, 4)") + if intrinsics_arr.ndim == 2 and len(intrinsics_arr) not in (1,) and len(intrinsics_arr) < frame_num: + raise ValueError(f"Intrinsics sequence has {len(intrinsics_arr)} frames but frame_num requires {frame_num}") + if action is not None and len(action) < frame_num: + raise ValueError(f"Action sequence has {len(action)} frames but frame_num requires {frame_num}") + + trimmed_poses = poses[:frame_num] + trimmed_intrinsics = intrinsics[:frame_num] if intrinsics_arr.ndim > 1 else intrinsics + trimmed_action = action[:frame_num] if action is not None else None return trimmed_poses, trimmed_intrinsics, trimmed_action @@ -283,15 +290,37 @@ def _align_action_frames(action: torch.Tensor, target_frames: int) -> torch.Tens action = action.unsqueeze(0) if action.shape[0] == target_frames: return action - sampled = action[::4] - if sampled.shape[0] >= target_frames: - return sampled[:target_frames] - if action.shape[0] == 1: - return action.repeat(target_frames, 1) - if action.shape[0] < target_frames: - raise ValueError(f"Action length {action.shape[0]} is shorter than target latent frames {target_frames}") - indices = torch.linspace(0, action.shape[0] - 1, target_frames, device=action.device) - return action.index_select(0, indices.round().long()) + video_rate_frames = (target_frames - 1) * 4 + 1 + if action.shape[0] == video_rate_frames: + return action[::4] + raise ValueError( + f"Action length must be {target_frames} latent frames or {video_rate_frames} video-rate frames, " + f"got {action.shape[0]}" + ) + + @staticmethod + def _validate_poses(poses: torch.Tensor, target_frames: int) -> None: + if poses.shape != (target_frames, 4, 4): + raise ValueError(f"Poses must have shape ({target_frames}, 4, 4), got {tuple(poses.shape)}") + + @staticmethod + def _resample_intrinsics(intrinsics: torch.Tensor, target_frames: int) -> torch.Tensor: + if intrinsics.ndim == 1: + if intrinsics.shape[0] != 4: + raise ValueError(f"Static intrinsics must have shape (4,), got {tuple(intrinsics.shape)}") + return intrinsics.unsqueeze(0).repeat(target_frames, 1) + if intrinsics.ndim != 2 or intrinsics.shape[1] != 4: + raise ValueError(f"Intrinsics must have shape (4,) or (frames, 4), got {tuple(intrinsics.shape)}") + if intrinsics.shape[0] == 1: + return intrinsics.repeat(target_frames, 1) + if intrinsics.shape[0] == target_frames: + return intrinsics + + source_positions = torch.linspace(0, intrinsics.shape[0] - 1, target_frames, device=intrinsics.device) + lower = source_positions.floor().long() + upper = source_positions.ceil().long() + weight = (source_positions - lower).unsqueeze(1) + return torch.lerp(intrinsics.index_select(0, lower), intrinsics.index_select(0, upper), weight) def build(self, action: dict[str, object]) -> torch.Tensor: """Build one model control tensor from one external chunk action.""" @@ -307,11 +336,10 @@ def build(self, action: dict[str, object]) -> torch.Tensor: raise ValueError("External action requires poses and intrinsics") poses_t = torch.as_tensor(poses, dtype=torch.float32, device=self.context.device) intrinsics_t = torch.as_tensor(intrinsics, dtype=torch.float32, device=self.context.device) - if intrinsics_t.ndim == 1: - intrinsics_t = intrinsics_t.unsqueeze(0).repeat(poses_t.shape[0], 1) - intrinsics_t = self._transform_intrinsics(intrinsics_t) + self._validate_poses(poses_t, self.context.chunk_size) + intrinsics_t = self._transform_intrinsics(self._resample_intrinsics(intrinsics_t, self.context.chunk_size)) poses_rel = compute_relative_poses(poses_t, framewise=True) - return self._build_tensor(poses_rel, intrinsics_t, action.get("action")) + return self._build_tensor(poses_rel, intrinsics_t, action.get("action")).to(dtype=torch.float32) def build_sequence( self, @@ -321,10 +349,11 @@ def build_sequence( ) -> list[torch.Tensor]: """Build all controls for an offline action sequence without storing it in a session.""" poses_t = torch.as_tensor(poses, dtype=torch.float32) - intrinsics_t = self._transform_intrinsics(torch.as_tensor(intrinsics, dtype=torch.float32)) source_frames = len(poses_t) if source_frames < 2: raise ValueError("Control sequence requires at least two poses") + if poses_t.shape != (source_frames, 4, 4): + raise ValueError(f"Poses must have shape (frames, 4, 4), got {tuple(poses_t.shape)}") interpolated = interpolate_camera_poses( src_indices=np.linspace(0, source_frames - 1, source_frames), src_rot_mat=np.asarray(poses_t[:, :3, :3]), @@ -332,9 +361,13 @@ def build_sequence( tgt_indices=np.linspace(0, source_frames - 1, self.context.latent_frames), ) poses_rel = compute_relative_poses(interpolated.to(self.context.device), framewise=True) - intrinsics_t = intrinsics_t[0].to(self.context.device).repeat(len(poses_rel), 1) + intrinsics_t = torch.as_tensor(intrinsics, dtype=torch.float32, device=self.context.device) + intrinsics_t = self._transform_intrinsics(self._resample_intrinsics(intrinsics_t, len(poses_rel))) control = self._build_tensor(poses_rel, intrinsics_t, action) - return list(control.split(self.context.chunk_size, dim=2)) + chunks = list(control.to(dtype=torch.float32).split(self.context.chunk_size, dim=2)) + if any(chunk.shape[2] != self.context.chunk_size for chunk in chunks): + raise ValueError("Control sequence must contain complete chunks") + return chunks def _transform_intrinsics(self, intrinsics: torch.Tensor) -> torch.Tensor: return get_ks_transformed( @@ -348,7 +381,9 @@ def _transform_intrinsics(self, intrinsics: torch.Tensor) -> torch.Tensor: ) def _build_tensor(self, poses: torch.Tensor, intrinsics: torch.Tensor, action: object | None) -> torch.Tensor: - if self.context.control_type == "act" and action is not None: + if self.context.control_type == "act": + if action is None: + raise ValueError("Action control mode requires an action sequence") action_t = torch.as_tensor(action, dtype=torch.float32, device=self.context.device) action_t = self._align_action_frames(action_t, len(poses)) return build_action_control_chunk( @@ -360,6 +395,8 @@ def _build_tensor(self, poses: torch.Tensor, intrinsics: torch.Tensor, action: o self.context.height, self.context.width, ).control_tensor + if action is not None: + raise ValueError("Camera control mode does not accept an action sequence") return build_camera_control_chunk( poses, intrinsics, self.context.latent_h, self.context.latent_w, self.context.height, self.context.width ).control_tensor diff --git a/telefuser/pipelines/lingbot_world_fast/pipeline.py b/telefuser/pipelines/lingbot_world_fast/pipeline.py index 8c0a12a..6a08025 100644 --- a/telefuser/pipelines/lingbot_world_fast/pipeline.py +++ b/telefuser/pipelines/lingbot_world_fast/pipeline.py @@ -1,12 +1,10 @@ from __future__ import annotations -import base64 import math from collections.abc import Callable from dataclasses import dataclass, field from pathlib import Path -import cv2 import numpy as np import torch from PIL import Image @@ -36,7 +34,7 @@ @dataclass class LingBotWorldFastPipelineConfig: checkpoint_dir: str = "" - fast_checkpoint_subdir: str = "lingbot_world_fast" + fast_checkpoint_path: str = "lingbot_world_fast" vae_config: ModelRuntimeConfig = field(default_factory=ModelRuntimeConfig) text_encoding_config: ModelRuntimeConfig = field(default_factory=ModelRuntimeConfig) dit_torch_dtype: torch.dtype = torch.bfloat16 @@ -81,7 +79,7 @@ def _runtime_device(self, runtime_config: ModelRuntimeConfig) -> torch.device: return torch.device(f"cuda:{runtime_config.device_id}") return torch.device(runtime_config.device_type) - def init(self, module_manager, config: LingBotWorldFastPipelineConfig) -> None: + def init(self, config: LingBotWorldFastPipelineConfig) -> None: self.config = config checkpoint_root = Path(config.checkpoint_dir).expanduser().resolve() self._model_info = [{"name": "lingbot_world_fast", "path": str(checkpoint_root)}] @@ -101,7 +99,7 @@ def init(self, module_manager, config: LingBotWorldFastPipelineConfig) -> None: self.vae.load_state_dict(vae_state_dict, strict=False) self.vae = self.vae.to(device=self.vae_device, dtype=self.torch_dtype).eval() - fast_path = checkpoint_root / config.fast_checkpoint_subdir + fast_path = checkpoint_root / config.fast_checkpoint_path dit_device = "cpu" if config.parallel_config.world_size > 1 else self.device self.dit = LingBotWorldFastDiT.from_pretrained( str(fast_path), @@ -195,13 +193,14 @@ def _best_output_size(w: int, h: int, expected_area: int, dw: int = 16, dh: int def control_context(self, session_config: LingBotWorldFastSessionConfig) -> LingBotWorldFastControlContext: """Return control geometry without allocating a generation runtime.""" + self._validate_session_config(session_config) width, height = self._best_output_size( session_config.image.width, session_config.image.height, self.config.max_area, ) height, width = self.check_resize_height_width(height, width) - frame_num = ((session_config.frame_num - 1) // 4) * 4 + 1 + frame_num = session_config.frame_num latent_frames = (frame_num - 1) // 4 + 1 latent_frames -= latent_frames % session_config.chunk_size if latent_frames < session_config.chunk_size: @@ -209,7 +208,7 @@ def control_context(self, session_config: LingBotWorldFastSessionConfig) -> Ling return LingBotWorldFastControlContext( control_type=self.config.control_type, device=self.device, - torch_dtype=self.torch_dtype, + torch_dtype=torch.float32, orig_height=self.config.orig_height, orig_width=self.config.orig_width, height=height, @@ -220,6 +219,38 @@ def control_context(self, session_config: LingBotWorldFastSessionConfig) -> Ling chunk_size=session_config.chunk_size, ) + def _validate_session_config(self, session_config: LingBotWorldFastSessionConfig) -> None: + if session_config.control_mode != self.config.control_type: + raise ValueError( + f"Session control_mode {session_config.control_mode!r} does not match " + f"pipeline control_type {self.config.control_type!r}" + ) + frame_num = int(session_config.frame_num) + if frame_num < 1 or (frame_num - 1) % 4: + raise ValueError(f"frame_num must be 4n+1, got {frame_num}") + latent_frames = (frame_num - 1) // 4 + 1 + if latent_frames < session_config.chunk_size or latent_frames % session_config.chunk_size: + raise ValueError( + f"frame_num {frame_num} does not contain a whole number of latent chunks of size " + f"{session_config.chunk_size}" + ) + + def _validate_control(self, session: LingBotWorldFastGenerationSession, control: torch.Tensor) -> None: + expected_device = torch.device(self.device) + if control.device.type != expected_device.type or ( + expected_device.index is not None and control.device.index != expected_device.index + ): + raise ValueError(f"Control device must be compatible with {self.device}, got {control.device}") + if control.dtype != torch.float32: + raise ValueError(f"Control dtype must be torch.float32, got {control.dtype}") + channels_per_pixel = 7 if self.config.control_type == "act" else 6 + height_factor = max(1, session.height // session.latent_h) + width_factor = max(1, session.width // session.latent_w) + expected_channels = channels_per_pixel * height_factor * width_factor + expected_shape = (1, expected_channels, session.chunk_size, session.latent_h, session.latent_w) + if tuple(control.shape) != expected_shape: + raise ValueError(f"Control shape must be {expected_shape}, got {tuple(control.shape)}") + def _prepare_image_tensor(self, image: Image.Image, height: int, width: int) -> torch.Tensor: image = image.convert("RGB").resize((width, height), Image.BICUBIC) array = np.asarray(image, dtype=np.float32) / 255.0 @@ -323,6 +354,7 @@ def materialize_first_control() -> None: raise if resolved_control is None: resolved_control = self._resolve_control(request.control) + self._validate_control(session, resolved_control) return self._generate_session_chunk(session, request, resolved_control, progress_callback) finally: session.transaction_lock.release() @@ -424,6 +456,7 @@ def _create_initialized_session( before_cache: Callable[[], None] | None = None, ) -> LingBotWorldFastGenerationSession: """Allocate model state for the first chunk; callers never invoke this directly.""" + self._validate_session_config(session_config) self._notify_progress(progress_callback, "encoding_prompt", device=str(self.text_device)) prompt_emb = self.encode_prompt(session_config.prompt) self._notify_progress(progress_callback, "prompt_encoded") @@ -435,7 +468,7 @@ def _create_initialized_session( self._notify_progress(progress_callback, "preparing_image", width=width, height=height) image_tensor = self._prepare_image_tensor(session_config.image, height, width) - frame_num = ((session_config.frame_num - 1) // 4) * 4 + 1 + frame_num = session_config.frame_num self._notify_progress( progress_callback, "encoding_condition_video", @@ -448,8 +481,6 @@ def _create_initialized_session( lat_h = height // 8 lat_w = width // 8 lat_f = (frame_num - 1) // 4 + 1 - lat_f = int(lat_f - (lat_f % session_config.chunk_size)) - frame_num = (lat_f - 1) * 4 + 1 patch_area = self.dit.patch_size[1] * self.dit.patch_size[2] frame_tokens = (lat_h * lat_w) // patch_area kv_size = self._resolve_self_kv_size( @@ -595,14 +626,3 @@ def generate_next_chunk( if runtime.current_chunk_index >= len(runtime.noise_chunks): runtime.active = False return images - - @staticmethod - def encode_frames_to_b64(frames: list[Image.Image], quality: int = 85) -> list[str]: - encoded: list[str] = [] - for frame in frames: - rgb = np.asarray(frame.convert("RGB")) - bgr = cv2.cvtColor(rgb, cv2.COLOR_RGB2BGR) - ok, buf = cv2.imencode(".jpg", bgr, [cv2.IMWRITE_JPEG_QUALITY, int(quality)]) - if ok: - encoded.append(base64.b64encode(buf.tobytes()).decode("ascii")) - return encoded diff --git a/telefuser/pipelines/lingbot_world_fast/service.py b/telefuser/pipelines/lingbot_world_fast/service.py index 862608b..ba493a4 100644 --- a/telefuser/pipelines/lingbot_world_fast/service.py +++ b/telefuser/pipelines/lingbot_world_fast/service.py @@ -1,6 +1,7 @@ from __future__ import annotations import asyncio +import base64 import gc import math import queue @@ -9,6 +10,8 @@ import uuid from collections.abc import AsyncGenerator, Callable +import cv2 +import numpy as np import torch from PIL import Image, ImageDraw @@ -100,7 +103,6 @@ def create_session(self, config: dict) -> str: sample_shift=float(config.get("sample_shift", 10.0)), seed=int(config.get("seed", 42)), max_attention_size=config.get("max_attention_size"), - offload_model=bool(config.get("offload_model", False)), max_sequence_length=int(config.get("max_sequence_length", 512)), control_move_step=float(config.get("control_move_step", 0.18)), control_yaw_step_degrees=float(config.get("control_yaw_step_degrees", 10.0)), @@ -125,6 +127,18 @@ def _put_output(state: LingBotWorldFastSessionState, payload: dict) -> None: except Exception as exc: logger.warning(f"Failed to enqueue LingBotWorld output: {exc}") + @staticmethod + def _encode_frames_to_b64(frames: list[Image.Image], quality: int = 85) -> list[str]: + """Serialize generated frames for the streaming transport.""" + encoded: list[str] = [] + for frame in frames: + rgb = np.asarray(frame.convert("RGB")) + bgr = cv2.cvtColor(rgb, cv2.COLOR_RGB2BGR) + ok, buf = cv2.imencode(".jpg", bgr, [cv2.IMWRITE_JPEG_QUALITY, int(quality)]) + if ok: + encoded.append(base64.b64encode(buf.tobytes()).decode("ascii")) + return encoded + def _release_generation_session(self, state: LingBotWorldFastSessionState) -> None: if state.generation_session is not None: self.pipeline.release_session(state.generation_session) @@ -148,7 +162,7 @@ def _emit_preview_frame(self, state: LingBotWorldFastSessionState) -> None: "index": -1, "fps": state.config.fps, "timestamp": time.time(), - "frames_b64": self.pipeline.encode_frames_to_b64([preview]), + "frames_b64": self._encode_frames_to_b64([preview]), }, ) @@ -422,7 +436,7 @@ def _run_worker_loop( "index": chunk_index, "fps": state.config.fps, "timestamp": time.time(), - "frames_b64": self.pipeline.encode_frames_to_b64(frames), + "frames_b64": self._encode_frames_to_b64(frames), } self._put_output(state, payload) emit_status("chunk_sent", index=chunk_index, frames=len(frames)) diff --git a/telefuser/pipelines/lingbot_world_fast/session.py b/telefuser/pipelines/lingbot_world_fast/session.py index 6b02c0b..8e0e28a 100644 --- a/telefuser/pipelines/lingbot_world_fast/session.py +++ b/telefuser/pipelines/lingbot_world_fast/session.py @@ -24,7 +24,6 @@ class LingBotWorldFastSessionConfig: sample_shift: float = 10.0 seed: int = 42 max_attention_size: int | None = None - offload_model: bool = False max_sequence_length: int = 512 # Optional CacheSeek world_kv reuse. None preserves baseline behavior. world_kv_binding: object | None = None diff --git a/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py b/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py index d7dffe6..d05d230 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py @@ -10,6 +10,7 @@ compute_relative_poses, get_ks_transformed, interpolate_camera_poses, + truncate_control_sequence, ) @@ -40,7 +41,7 @@ def test_action_alignment_samples_external_video_rate_actions() -> None: def test_action_alignment_rejects_an_incomplete_chunk_action() -> None: - with pytest.raises(ValueError, match="shorter"): + with pytest.raises(ValueError, match="must be"): _builder()._align_action_frames(torch.zeros(2, 4), target_frames=3) @@ -78,8 +79,20 @@ def test_external_builder_matches_legacy_offline_camera_control_math() -> None: poses = np.repeat(np.eye(4, dtype=np.float32)[None], 9, axis=0) poses[:, 2, 3] = np.linspace(0.0, 1.0, len(poses)) intrinsics = np.repeat(np.array([[8.0, 8.0, 4.0, 4.0]], dtype=np.float32), len(poses), axis=0) - context = _builder().context - controls = torch.cat(_builder().build_sequence(poses, intrinsics), dim=2) + context = LingBotWorldFastControlContext( + control_type="cam", + device="cpu", + torch_dtype=torch.float32, + orig_height=8, + orig_width=8, + height=8, + width=8, + latent_h=1, + latent_w=1, + latent_frames=3, + chunk_size=3, + ) + controls = torch.cat(LingBotWorldFastControlBuilder(context).build_sequence(poses, intrinsics), dim=2) poses_t = torch.as_tensor(poses, dtype=torch.float32) intrinsics_t = get_ks_transformed( @@ -108,3 +121,36 @@ def test_external_builder_matches_legacy_offline_camera_control_math() -> None: ).control_tensor assert torch.equal(controls, legacy) + + +def test_offline_control_window_rejects_short_action_or_intrinsics() -> None: + poses = np.repeat(np.eye(4, dtype=np.float32)[None], 9, axis=0) + + with pytest.raises(ValueError, match="Intrinsics sequence"): + truncate_control_sequence(poses, np.ones((8, 4), dtype=np.float32), None, frame_num=9) + with pytest.raises(ValueError, match="Action sequence"): + truncate_control_sequence(poses, np.ones(4, dtype=np.float32), np.ones((8, 4), dtype=np.float32), frame_num=9) + + +def test_action_mode_requires_actions_and_camera_mode_accepts_per_frame_intrinsics() -> None: + poses = np.repeat(np.eye(4, dtype=np.float32)[None], 3, axis=0) + intrinsics = np.repeat(np.array([[8.0, 8.0, 4.0, 4.0]], dtype=np.float32), 3, axis=0) + + with pytest.raises(ValueError, match="requires an action"): + _builder().build({"poses": poses, "intrinsics": intrinsics}) + + camera_context = LingBotWorldFastControlContext( + control_type="cam", + device="cpu", + torch_dtype=torch.float32, + orig_height=8, + orig_width=8, + height=8, + width=8, + latent_h=1, + latent_w=1, + latent_frames=3, + chunk_size=3, + ) + control = LingBotWorldFastControlBuilder(camera_context).build({"poses": poses, "intrinsics": intrinsics}) + assert control.shape == (1, 384, 3, 1, 1) diff --git a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py index 6bf94a6..467ff92 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py @@ -45,8 +45,18 @@ def _session( ) -def test_pipeline_call_generates_one_explicitly_indexed_chunk() -> None: +def _control() -> torch.Tensor: + return torch.zeros(1, 384, 1, 1, 1, dtype=torch.float32) + + +def _pipeline() -> LingBotWorldFastPipeline: pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline.config = SimpleNamespace(control_type="cam") + return pipeline + + +def test_pipeline_call_generates_one_explicitly_indexed_chunk() -> None: + pipeline = _pipeline() pipeline.denoise_stage = MagicMock() runtime = _session() expected = [Image.new("RGB", (8, 8), "red") for _ in range(9)] @@ -58,7 +68,7 @@ def generate_next_chunk(runtime_state, control=None, progress_callback=None): pipeline.generate_next_chunk = MagicMock(side_effect=generate_next_chunk) progress_callback = MagicMock() - control = torch.zeros(1) + control = _control() result = pipeline( runtime, @@ -92,7 +102,7 @@ def test_chunk_request_rejects_invalid_inputs() -> None: def test_pipeline_call_rejects_inactive_runtime() -> None: - pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline = _pipeline() runtime = _session(active=False) pipeline.generate_next_chunk = MagicMock() @@ -103,7 +113,7 @@ def test_pipeline_call_rejects_inactive_runtime() -> None: def test_pipeline_call_rejects_out_of_order_chunk() -> None: - pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline = _pipeline() runtime = _session(current_chunk_index=1) pipeline.generate_next_chunk = MagicMock() @@ -114,11 +124,11 @@ def test_pipeline_call_rejects_out_of_order_chunk() -> None: def test_new_session_rejects_out_of_order_chunk_without_initializing() -> None: - pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline = _pipeline() session = LingBotWorldFastGenerationSession( config=LingBotWorldFastSessionConfig(prompt="test", image=Image.new("RGB", (8, 8))) ) - deferred_control = MagicMock(return_value=torch.zeros(1)) + deferred_control = MagicMock(return_value=_control()) pipeline._create_initialized_session = MagicMock() with pytest.raises(ValueError, match="does not match session index"): @@ -129,13 +139,13 @@ def test_new_session_rejects_out_of_order_chunk_without_initializing() -> None: def test_first_pipeline_call_initializes_the_external_session() -> None: - pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline = _pipeline() pipeline.denoise_stage = MagicMock() initialized = _session() session = LingBotWorldFastGenerationSession( config=LingBotWorldFastSessionConfig(prompt="test", image=Image.new("RGB", (8, 8))) ) - control = torch.zeros(1) + control = _control() events: list[str] = [] def initialize(config, progress_callback, before_cache): @@ -161,13 +171,13 @@ def deferred_control() -> torch.Tensor: def test_pipeline_call_releases_runtime_when_generation_fails() -> None: - pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline = _pipeline() pipeline.denoise_stage = MagicMock() runtime = _session(chunk_count=1) pipeline.generate_next_chunk = MagicMock(side_effect=RuntimeError("generation failed")) with pytest.raises(RuntimeError, match="generation failed"): - pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=torch.zeros(1))) + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=_control())) assert runtime.active is False assert runtime.status == LingBotWorldFastSessionStatus.POISONED @@ -175,11 +185,22 @@ def test_pipeline_call_releases_runtime_when_generation_fails() -> None: pipeline.denoise_stage.release_cache.assert_called_once_with(7) with pytest.raises(RuntimeError, match="poisoned"): - pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=torch.zeros(1))) + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=_control())) + + +def test_pipeline_call_rejects_control_with_wrong_shape() -> None: + pipeline = _pipeline() + pipeline.denoise_stage = MagicMock() + runtime = _session() + + with pytest.raises(ValueError, match="Control shape"): + pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=torch.zeros(1, dtype=torch.float32))) + + pipeline.denoise_stage.release_cache.assert_not_called() def test_release_session_is_idempotent() -> None: - pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline = _pipeline() pipeline.denoise_stage = MagicMock() session = _session() @@ -192,7 +213,7 @@ def test_release_session_is_idempotent() -> None: def test_concurrent_chunk_on_same_session_is_rejected() -> None: - pipeline = LingBotWorldFastPipeline(device="cpu") + pipeline = _pipeline() session = _session() lock_acquired = threading.Event() release_lock = threading.Event() diff --git a/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py b/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py index 489a1ec..496557c 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py @@ -182,13 +182,24 @@ def test_final_chunk_marks_runtime_inactive_and_releases_denoise_state() -> None assert runtime.active is False -@pytest.mark.xfail(strict=True, reason="Non-aligned frame counts are silently truncated instead of rejected") def test_runtime_rejects_non_aligned_frame_count() -> None: with pytest.raises(ValueError, match="frame_num"): _create_runtime(frame_num=13) -@pytest.mark.xfail(strict=True, reason="Frame counts smaller than one complete chunk are not validated") def test_runtime_rejects_frame_count_smaller_than_first_chunk() -> None: with pytest.raises(ValueError, match="frame_num"): _create_runtime(frame_num=5) + + +def test_control_mode_must_match_the_initialized_pipeline() -> None: + pipeline = _build_runtime_pipeline() + with pytest.raises(ValueError, match="does not match"): + pipeline.control_context( + LingBotWorldFastSessionConfig( + prompt="baseline", + image=Image.new("RGB", (16, 16)), + control_mode="act", + frame_num=9, + ) + ) diff --git a/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py b/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py index c0bfded..9a23f46 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py @@ -9,10 +9,7 @@ def test_stream_get_pipeline_maps_ppl_config_to_internal_workers() -> None: pipeline = MagicMock() - with ( - patch.object(stream_example, "LingBotWorldFastPipeline", return_value=pipeline) as pipeline_cls, - patch.object(stream_example, "ModuleManager") as module_manager_cls, - ): + with patch.object(stream_example, "LingBotWorldFastPipeline", return_value=pipeline) as pipeline_cls: result = stream_example.get_pipeline( parallelism=4, model_root="/models/Wan2.2-I2V-A14B", @@ -21,11 +18,11 @@ def test_stream_get_pipeline_maps_ppl_config_to_internal_workers() -> None: assert result is pipeline pipeline_cls.assert_called_once_with(device="cuda", torch_dtype=torch.bfloat16) - module_manager_cls.assert_called_once_with(device="cpu") - config = pipeline.init.call_args.args[1] + assert len(pipeline.init.call_args.args) == 1 + config = pipeline.init.call_args.args[0] assert config.checkpoint_dir == "/models/Wan2.2-I2V-A14B" - assert config.fast_checkpoint_subdir == "/models/lingbot-world-fast" + assert config.fast_checkpoint_path == "/models/lingbot-world-fast" assert config.control_type == "cam" assert config.max_area == 480 * 832 assert config.attention_config.attn_impl == AttnImplType.SAGE_ATTN_2_8_8_SM90 @@ -43,3 +40,16 @@ def test_stream_get_service_uses_ppl_pipeline_and_fps() -> None: get_pipeline.assert_called_once_with() assert service.pipeline is pipeline assert service.default_fps == stream_example.PPL_CONFIG["target_fps"] + + +def test_stream_get_pipeline_reads_tf_model_zoo_path(monkeypatch) -> None: + monkeypatch.setenv("TF_MODEL_ZOO_PATH", "/models") + + pipeline = MagicMock() + with patch.object(stream_example, "LingBotWorldFastPipeline", return_value=pipeline): + stream_example.get_pipeline() + + assert len(pipeline.init.call_args.args) == 1 + config = pipeline.init.call_args.args[0] + assert config.checkpoint_dir == "/models/Wan2.2-I2V-A14B" + assert config.fast_checkpoint_path == "/models/lingbot/lingbot-world-fast" From b3782ca72c192d643221df518aeb6ae974cdfc77 Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Mon, 13 Jul 2026 18:03:39 +0000 Subject: [PATCH 5/9] docs(lingbot): remove unused 240p preset Remove the unneeded 240p LingBot resolution preset from the offline and streaming examples. Update English and Chinese streaming guidance to recommend reducing frame_num for lower-memory smoke tests. Verification: - python -m ruff check examples/lingbot - python -m ruff format --check examples/lingbot - python -m pytest tests/unit/pipelines/lingbot_world_fast/test_stream_example.py -q --- docs/en/stream_server.md | 8 ++++---- docs/zh/stream_server.md | 8 ++++---- .../lingbot/lingbot_world_fast_image_to_video_h100.py | 2 +- examples/lingbot/stream_lingbot_world_fast.py | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/en/stream_server.md b/docs/en/stream_server.md index 477a492..cb7832b 100644 --- a/docs/en/stream_server.md +++ b/docs/en/stream_server.md @@ -725,18 +725,18 @@ device, dtype, and full latent-chunk shape. #### VRAM and Resolution -LingBot's KV cache grows with `frame_num` and output resolution. 832×480 at 81 frames approaches the 80 GB H100 VRAM limit. Start with a lower resolution to verify the pipeline: +LingBot's KV cache grows with `frame_num` and output resolution. 832×480 at 81 frames approaches the 80 GB H100 VRAM limit. Start with fewer frames to verify the pipeline: ```bash -# In examples/lingbot/stream_lingbot_world_fast.py: -PPL_CONFIG["resolution"] = "240p" +# In the browser demo or session configuration: +--frame-num 21 ``` Common tuning parameters: | Parameter | Effect | |-----------|--------| -| `PPL_CONFIG["resolution"]` | Select the configured output area; use the included `240p` preset to reduce VRAM | +| `PPL_CONFIG["resolution"]` | Select either the 480p or 720p output area | | `--frame-num` | Reduce total generated frames and latent chunk count | | `--chunk-size` | Affect the latent chunk size per generation step | diff --git a/docs/zh/stream_server.md b/docs/zh/stream_server.md index c86cf34..2e67cb4 100644 --- a/docs/zh/stream_server.md +++ b/docs/zh/stream_server.md @@ -722,18 +722,18 @@ latent frame 数必须能被 `chunk_size` 整除。默认 `chunk_size=3` 时, #### 显存与分辨率 -LingBot 的 KV cache 会随 `frame_num` 和输出分辨率增长。832x480、81 帧接近 80GB H100 的显存上限,推荐先使用较低分辨率验证链路: +LingBot 的 KV cache 会随 `frame_num` 和输出分辨率增长。832x480、81 帧接近 80GB H100 的显存上限,推荐先减少帧数验证链路: ```bash -# 在 examples/lingbot/stream_lingbot_world_fast.py 中: -PPL_CONFIG["resolution"] = "240p" +# 在浏览器 demo 或 session 配置中: +--frame-num 21 ``` 常用调参方向: | 参数 | 影响 | |------|------| -| `PPL_CONFIG["resolution"]` | 选择预设输出面积;可使用内置 `240p` 预设降低显存 | +| `PPL_CONFIG["resolution"]` | 选择 480p 或 720p 输出面积 | | `--frame-num` | 降低总生成帧数和 latent chunk 数 | | `--chunk-size` | 影响每次生成的 latent chunk 大小 | diff --git a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py index 0190b45..76dffb5 100644 --- a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py +++ b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py @@ -42,7 +42,7 @@ "A serene lakeside scene with a lone tree standing in calm water, surrounded by distant snow-capped " "mountains under a bright blue sky with drifting white clouds. Gentle ripples reflect the tree and sky." ) -RESOLUTION_AREAS = {"240p": 240 * 416, "480p": 480 * 832, "720p": 720 * 1280} +RESOLUTION_AREAS = {"480p": 480 * 832, "720p": 720 * 1280} PPL_CONFIG = dict( control_mode="cam", diff --git a/examples/lingbot/stream_lingbot_world_fast.py b/examples/lingbot/stream_lingbot_world_fast.py index dbb504b..6cf9365 100644 --- a/examples/lingbot/stream_lingbot_world_fast.py +++ b/examples/lingbot/stream_lingbot_world_fast.py @@ -16,7 +16,7 @@ from telefuser.pipelines.lingbot_world_fast.pipeline import LingBotWorldFastPipeline, LingBotWorldFastPipelineConfig from telefuser.pipelines.lingbot_world_fast.service import LingBotWorldFastService -RESOLUTION_AREAS = {"240p": 240 * 416, "480p": 480 * 832, "720p": 720 * 1280} +RESOLUTION_AREAS = {"480p": 480 * 832, "720p": 720 * 1280} PPL_CONFIG = dict( parallelism=4, From 80c69d24f386a430c49dda76e4a76b06dae18f9a Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Mon, 13 Jul 2026 18:17:10 +0000 Subject: [PATCH 6/9] fix(lingbot): harden session lifecycle Validate session configuration before creation, retain the normalized control context, and reliably drain terminal service messages. Release decoder and KV-cache state when sessions finish, avoid per-call cache clears for streaming generation, and remove unused LingBot runtime abstractions.\n\nVerification:\n- python -m ruff check telefuser/core/base_pipeline.py telefuser/pipelines/lingbot_world_fast tests/unit/pipelines/lingbot_world_fast examples/lingbot\n- python -m ruff format --check telefuser/core/base_pipeline.py telefuser/pipelines/lingbot_world_fast tests/unit/pipelines/lingbot_world_fast examples/lingbot\n- python -m pytest tests/unit/pipelines/lingbot_world_fast tests/unit/models/test_lingbot_world_fast_dit.py -q\n- 4-GPU offline LingBot H100 image-to-video run --- telefuser/core/base_pipeline.py | 14 +++--- .../pipelines/lingbot_world_fast/__init__.py | 4 -- .../pipelines/lingbot_world_fast/control.py | 23 ++++------ .../pipelines/lingbot_world_fast/pipeline.py | 43 ++++++++++--------- .../pipelines/lingbot_world_fast/service.py | 10 +++-- .../pipelines/lingbot_world_fast/session.py | 12 ++---- .../test_control_alignment.py | 8 ++-- .../lingbot_world_fast/test_pipeline_call.py | 26 ++++++++++- .../test_runtime_baseline.py | 13 ++++++ .../test_service_action_loop.py | 31 +++++++++++++ 10 files changed, 119 insertions(+), 65 deletions(-) diff --git a/telefuser/core/base_pipeline.py b/telefuser/core/base_pipeline.py index dc07a19..6f72a59 100644 --- a/telefuser/core/base_pipeline.py +++ b/telefuser/core/base_pipeline.py @@ -46,9 +46,6 @@ def wrapped_init(self, *args, **kwargs): @wraps(original_call) def wrapped_call(self, *args, **kwargs): - import gc - - from telefuser.platforms import current_platform from telefuser.utils.profiler import reset_timing_registry reset_timing_registry() @@ -56,9 +53,14 @@ def wrapped_call(self, *args, **kwargs): try: return original_call(self, *args, **kwargs) finally: - # Clear GPU memory after pipeline execution - gc.collect() - current_platform.empty_cache() + if getattr(self, "clear_memory_after_call", True): + # Clear GPU memory after pipeline execution. + import gc + + from telefuser.platforms import current_platform + + gc.collect() + current_platform.empty_cache() cls.__call__ = wrapped_call diff --git a/telefuser/pipelines/lingbot_world_fast/__init__.py b/telefuser/pipelines/lingbot_world_fast/__init__.py index 310d0ca..60d72e0 100644 --- a/telefuser/pipelines/lingbot_world_fast/__init__.py +++ b/telefuser/pipelines/lingbot_world_fast/__init__.py @@ -1,5 +1,4 @@ from .control import ( - CameraControlChunk, build_action_control_chunk, build_camera_control_chunk, load_action_control_inputs, @@ -12,21 +11,18 @@ LingBotWorldFastChunkRequest, LingBotWorldFastChunkResult, LingBotWorldFastGenerationSession, - LingBotWorldFastRuntimeState, LingBotWorldFastSessionConfig, LingBotWorldFastSessionState, LingBotWorldFastSessionStatus, ) __all__ = [ - "CameraControlChunk", "LingBotWorldFastChunkRequest", "LingBotWorldFastChunkResult", "LingBotWorldFastDenoisingStage", "LingBotWorldFastGenerationSession", "LingBotWorldFastPipeline", "LingBotWorldFastPipelineConfig", - "LingBotWorldFastRuntimeState", "LingBotWorldFastService", "LingBotWorldFastSessionConfig", "LingBotWorldFastSessionState", diff --git a/telefuser/pipelines/lingbot_world_fast/control.py b/telefuser/pipelines/lingbot_world_fast/control.py index 1a51c5e..be59921 100644 --- a/telefuser/pipelines/lingbot_world_fast/control.py +++ b/telefuser/pipelines/lingbot_world_fast/control.py @@ -144,13 +144,6 @@ def get_plucker_embeddings( return torch.cat([rays_o, rays_d], dim=-1).view(n_frames, height, width, 6) -@dataclass -class CameraControlChunk: - control_tensor: torch.Tensor - num_latent_frames: int - control_type: str - - def build_camera_control_chunk( poses: torch.Tensor, intrinsics: torch.Tensor, @@ -158,7 +151,7 @@ def build_camera_control_chunk( latent_w: int, height: int, width: int, -) -> CameraControlChunk: +) -> torch.Tensor: plucker = get_plucker_embeddings(poses, intrinsics, height, width, only_rays_d=False) control = rearrange( plucker, @@ -168,7 +161,7 @@ def build_camera_control_chunk( h=latent_h, w=latent_w, ).contiguous() - return CameraControlChunk(control_tensor=control, num_latent_frames=control.shape[2], control_type="cam") + return control def build_action_control_chunk( @@ -179,7 +172,7 @@ def build_action_control_chunk( latent_w: int, height: int, width: int, -) -> CameraControlChunk: +) -> torch.Tensor: plucker = get_plucker_embeddings(poses, intrinsics, height, width, only_rays_d=True) action_map = action[:, None, None, :].repeat(1, height, width, 1) combined = torch.cat([plucker, action_map], dim=-1) @@ -191,7 +184,7 @@ def build_action_control_chunk( h=latent_h, w=latent_w, ).contiguous() - return CameraControlChunk(control_tensor=control, num_latent_frames=control.shape[2], control_type="act") + return control def truncate_control_sequence( @@ -226,7 +219,7 @@ class LingBotWorldFastControlContext: control_type: str device: str | torch.device - torch_dtype: torch.dtype + control_dtype: torch.dtype orig_height: int orig_width: int height: int @@ -328,7 +321,7 @@ def build(self, action: dict[str, object]) -> torch.Tensor: return torch.as_tensor( action["control_tensor"], device=self.context.device, - dtype=self.context.torch_dtype, + dtype=self.context.control_dtype, ) poses = action.get("poses") intrinsics = action.get("intrinsics") @@ -394,12 +387,12 @@ def _build_tensor(self, poses: torch.Tensor, intrinsics: torch.Tensor, action: o self.context.latent_w, self.context.height, self.context.width, - ).control_tensor + ) if action is not None: raise ValueError("Camera control mode does not accept an action sequence") return build_camera_control_chunk( poses, intrinsics, self.context.latent_h, self.context.latent_w, self.context.height, self.context.width - ).control_tensor + ) def load_camera_control_inputs(action_path: str | Path) -> tuple[np.ndarray, np.ndarray]: diff --git a/telefuser/pipelines/lingbot_world_fast/pipeline.py b/telefuser/pipelines/lingbot_world_fast/pipeline.py index 6a08025..eb40e3c 100644 --- a/telefuser/pipelines/lingbot_world_fast/pipeline.py +++ b/telefuser/pipelines/lingbot_world_fast/pipeline.py @@ -51,6 +51,8 @@ class LingBotWorldFastPipelineConfig: class LingBotWorldFastPipeline(BasePipeline): """Pipeline wrapper for LingBot-World-Fast chunked causal generation.""" + clear_memory_after_call = False + def __init__(self, device: str, torch_dtype: torch.dtype = torch.bfloat16) -> None: super().__init__(device=device, torch_dtype=torch_dtype) self.height_division_factor = 16 @@ -80,6 +82,8 @@ def _runtime_device(self, runtime_config: ModelRuntimeConfig) -> torch.device: return torch.device(runtime_config.device_type) def init(self, config: LingBotWorldFastPipelineConfig) -> None: + if config.control_type not in {"cam", "act"}: + raise ValueError(f"Unsupported LingBot control_type: {config.control_type!r}") self.config = config checkpoint_root = Path(config.checkpoint_dir).expanduser().resolve() self._model_info = [{"name": "lingbot_world_fast", "path": str(checkpoint_root)}] @@ -202,13 +206,10 @@ def control_context(self, session_config: LingBotWorldFastSessionConfig) -> Ling height, width = self.check_resize_height_width(height, width) frame_num = session_config.frame_num latent_frames = (frame_num - 1) // 4 + 1 - latent_frames -= latent_frames % session_config.chunk_size - if latent_frames < session_config.chunk_size: - raise ValueError("frame_num must contain at least one complete latent chunk") return LingBotWorldFastControlContext( control_type=self.config.control_type, device=self.device, - torch_dtype=torch.float32, + control_dtype=torch.float32, orig_height=self.config.orig_height, orig_width=self.config.orig_width, height=height, @@ -225,7 +226,13 @@ def _validate_session_config(self, session_config: LingBotWorldFastSessionConfig f"Session control_mode {session_config.control_mode!r} does not match " f"pipeline control_type {self.config.control_type!r}" ) - frame_num = int(session_config.frame_num) + if not isinstance(session_config.chunk_size, int) or isinstance(session_config.chunk_size, bool): + raise ValueError(f"chunk_size must be a positive integer, got {session_config.chunk_size!r}") + if session_config.chunk_size < 1: + raise ValueError(f"chunk_size must be a positive integer, got {session_config.chunk_size}") + if not isinstance(session_config.frame_num, int) or isinstance(session_config.frame_num, bool): + raise ValueError(f"frame_num must be an integer, got {session_config.frame_num!r}") + frame_num = session_config.frame_num if frame_num < 1 or (frame_num - 1) % 4: raise ValueError(f"frame_num must be 4n+1, got {frame_num}") latent_frames = (frame_num - 1) // 4 + 1 @@ -405,10 +412,10 @@ def _generate_session_chunk( raise session.status = LingBotWorldFastSessionStatus.COMMITTED - if not session.active and not self._release_session_cache(session): - session.status = LingBotWorldFastSessionStatus.POISONED - session.poisoned_reason = "Final chunk committed but cache release failed" - raise RuntimeError(session.poisoned_reason) + if not session.active: + self.release_session(session) + if session.status == LingBotWorldFastSessionStatus.POISONED: + raise RuntimeError(session.poisoned_reason or "Final chunk cleanup failed") logger.info( f"Generated LingBot chunk {request.chunk_index + 1}/{len(session.noise_chunks)}: {len(chunk_frames)} frames" ) @@ -456,14 +463,13 @@ def _create_initialized_session( before_cache: Callable[[], None] | None = None, ) -> LingBotWorldFastGenerationSession: """Allocate model state for the first chunk; callers never invoke this directly.""" - self._validate_session_config(session_config) + control_context = self.control_context(session_config) self._notify_progress(progress_callback, "encoding_prompt", device=str(self.text_device)) prompt_emb = self.encode_prompt(session_config.prompt) self._notify_progress(progress_callback, "prompt_encoded") - w0, h0 = session_config.image.size - width, height = self._best_output_size(w0, h0, self.config.max_area) - height, width = self.check_resize_height_width(height, width) + width = control_context.width + height = control_context.height self._notify_progress(progress_callback, "preparing_image", width=width, height=height) image_tensor = self._prepare_image_tensor(session_config.image, height, width) @@ -478,9 +484,9 @@ def _create_initialized_session( latent_condition = self._encode_condition_video(image_tensor, frame_num) self._notify_progress(progress_callback, "condition_video_encoded") - lat_h = height // 8 - lat_w = width // 8 - lat_f = (frame_num - 1) // 4 + 1 + lat_h = control_context.latent_h + lat_w = control_context.latent_w + lat_f = control_context.latent_frames patch_area = self.dit.patch_size[1] * self.dit.patch_size[2] frame_tokens = (lat_h * lat_w) // patch_area kv_size = self._resolve_self_kv_size( @@ -488,7 +494,6 @@ def _create_initialized_session( latent_frames=lat_f, config=self.config, ) - max_seq_len = session_config.chunk_size * frame_tokens max_attention_size = ( kv_size if session_config.max_attention_size is None else int(session_config.max_attention_size) ) @@ -517,7 +522,6 @@ def _create_initialized_session( self._next_cache_handle += 1 session = LingBotWorldFastGenerationSession( prompt_emb=prompt_emb, - encoded_image_latent=latent_condition, config=session_config, noise_chunks=noise_chunks, condition_chunks=condition_chunks, @@ -526,13 +530,10 @@ def _create_initialized_session( latent_f=lat_f, height=height, width=width, - max_seq_len=max_seq_len, frame_tokens=frame_tokens, chunk_size=session_config.chunk_size, max_attention_size=max_attention_size, cache_handle=cache_handle, - kv_local_attn_size=self.config.local_attn_size, - kv_sink_size=self.config.sink_size if self.config.local_attn_size != -1 else 0, ) try: initialize_cache_kwargs = dict( diff --git a/telefuser/pipelines/lingbot_world_fast/service.py b/telefuser/pipelines/lingbot_world_fast/service.py index ba493a4..0d866cf 100644 --- a/telefuser/pipelines/lingbot_world_fast/service.py +++ b/telefuser/pipelines/lingbot_world_fast/service.py @@ -109,8 +109,10 @@ def create_session(self, config: dict) -> str: control_lateral_step=float(config.get("control_lateral_step", 0.12)), show_control_hud=bool(config.get("show_control_hud", True)), ) + control_context = self.pipeline.control_context(session_config) state = LingBotWorldFastSessionState( config=session_config, + control_context=control_context, output_queue=asyncio.Queue(), loop=None, ) @@ -152,8 +154,8 @@ def _release_generation_session(self, state: LingBotWorldFastSessionState) -> No def _emit_preview_frame(self, state: LingBotWorldFastSessionState) -> None: image = state.config.image.convert("RGB") - width, height = self.pipeline._best_output_size(image.width, image.height, self.pipeline.config.max_area) - height, width = self.pipeline.check_resize_height_width(height, width) + control_context = state.control_context or self.pipeline.control_context(state.config) + width, height = control_context.width, control_context.height preview = image.resize((width, height), Image.BICUBIC) self._put_output( state, @@ -367,7 +369,7 @@ def _run_worker_loop( ) -> None: try: self._emit_preview_frame(state) - control_context = self.pipeline.control_context(state.config) + control_context = state.control_context or self.pipeline.control_context(state.config) control_builder = LingBotWorldFastControlBuilder(control_context) state.generation_session = LingBotWorldFastGenerationSession(config=state.config) runtime = state.generation_session @@ -483,7 +485,7 @@ async def pull_chunks(self, session_id: str) -> AsyncGenerator[dict, None]: ) state.worker_thread.start() - while state.active: + while True: chunk = await state.output_queue.get() if chunk.get("type") == "done": break diff --git a/telefuser/pipelines/lingbot_world_fast/session.py b/telefuser/pipelines/lingbot_world_fast/session.py index 8e0e28a..cf9b964 100644 --- a/telefuser/pipelines/lingbot_world_fast/session.py +++ b/telefuser/pipelines/lingbot_world_fast/session.py @@ -12,6 +12,8 @@ from telefuser.models.wan_video_vae import WanVideoVAEStreamingDecodeState +from .control import LingBotWorldFastControlContext + @dataclass class LingBotWorldFastSessionConfig: @@ -76,7 +78,6 @@ class LingBotWorldFastGenerationSession: config: LingBotWorldFastSessionConfig prompt_emb: torch.Tensor | None = field(default=None, repr=False) - encoded_image_latent: torch.Tensor | None = field(default=None, repr=False) noise_chunks: list[torch.Tensor] = field(default_factory=list, repr=False) condition_chunks: list[torch.Tensor] = field(default_factory=list, repr=False) latent_h: int = 0 @@ -84,7 +85,6 @@ class LingBotWorldFastGenerationSession: latent_f: int = 0 height: int = 0 width: int = 0 - max_seq_len: int = 0 frame_tokens: int = 0 chunk_size: int = 0 max_attention_size: int = 0 @@ -96,21 +96,15 @@ class LingBotWorldFastGenerationSession: status: LingBotWorldFastSessionStatus = LingBotWorldFastSessionStatus.NEW poisoned_reason: str | None = None transaction_lock: object = field(default_factory=threading.RLock, repr=False) - # KV geometry in latent frames; -1 means full-length KV. - kv_local_attn_size: int = -1 - kv_sink_size: int = 0 # CacheSeek world_kv binding and decode-only latents for fast-forward hits. world_kv_binding: object | None = None world_kv_cached_latents: dict[int, torch.Tensor] = field(default_factory=dict) -# Compatibility alias for callers migrating from the Stage 1 API. -LingBotWorldFastRuntimeState = LingBotWorldFastGenerationSession - - @dataclass class LingBotWorldFastSessionState: config: LingBotWorldFastSessionConfig + control_context: LingBotWorldFastControlContext | None = None generation_session: LingBotWorldFastGenerationSession | None = None pending_inputs: "queue.Queue[dict]" = field(default_factory=queue.Queue) output_queue: asyncio.Queue | None = None diff --git a/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py b/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py index d05d230..aa1b4d2 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py @@ -19,7 +19,7 @@ def _builder() -> LingBotWorldFastControlBuilder: LingBotWorldFastControlContext( control_type="act", device="cpu", - torch_dtype=torch.float32, + control_dtype=torch.float32, orig_height=8, orig_width=8, height=8, @@ -82,7 +82,7 @@ def test_external_builder_matches_legacy_offline_camera_control_math() -> None: context = LingBotWorldFastControlContext( control_type="cam", device="cpu", - torch_dtype=torch.float32, + control_dtype=torch.float32, orig_height=8, orig_width=8, height=8, @@ -118,7 +118,7 @@ def test_external_builder_matches_legacy_offline_camera_control_math() -> None: context.latent_w, context.height, context.width, - ).control_tensor + ) assert torch.equal(controls, legacy) @@ -142,7 +142,7 @@ def test_action_mode_requires_actions_and_camera_mode_accepts_per_frame_intrinsi camera_context = LingBotWorldFastControlContext( control_type="cam", device="cpu", - torch_dtype=torch.float32, + control_dtype=torch.float32, orig_height=8, orig_width=8, height=8, diff --git a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py index 467ff92..a97e73b 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_pipeline_call.py @@ -27,7 +27,6 @@ def _session( config=LingBotWorldFastSessionConfig(prompt="test", image=Image.new("RGB", (8, 8))), status=LingBotWorldFastSessionStatus.READY, prompt_emb=empty, - encoded_image_latent=empty, noise_chunks=[empty for _ in range(chunk_count)], condition_chunks=[empty for _ in range(chunk_count)], latent_h=1, @@ -35,7 +34,6 @@ def _session( latent_f=chunk_count, height=8, width=8, - max_seq_len=1, frame_tokens=1, chunk_size=1, max_attention_size=1, @@ -199,6 +197,30 @@ def test_pipeline_call_rejects_control_with_wrong_shape() -> None: pipeline.denoise_stage.release_cache.assert_not_called() +def test_final_chunk_releases_decoder_state_and_cache() -> None: + pipeline = _pipeline() + pipeline.denoise_stage = MagicMock() + runtime = _session(chunk_count=1) + runtime.decoder_state.feat_cache = [torch.ones(1)] + runtime.decoder_state.feat_idx = [1] + + def generate_next_chunk(session, control, progress_callback=None): + session.current_chunk_index = 1 + session.active = False + return [] + + pipeline.generate_next_chunk = MagicMock(side_effect=generate_next_chunk) + + result = pipeline(runtime, LingBotWorldFastChunkRequest(chunk_index=0, control=_control())) + + assert result.done is True + assert runtime.cache_handle is None + assert runtime.decoder_state.feat_cache == [] + assert runtime.decoder_state.feat_idx == [0] + assert runtime.status == LingBotWorldFastSessionStatus.RELEASED + pipeline.denoise_stage.release_cache.assert_called_once_with(7) + + def test_release_session_is_idempotent() -> None: pipeline = _pipeline() pipeline.denoise_stage = MagicMock() diff --git a/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py b/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py index 496557c..aafe92b 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_runtime_baseline.py @@ -192,6 +192,19 @@ def test_runtime_rejects_frame_count_smaller_than_first_chunk() -> None: _create_runtime(frame_num=5) +def test_runtime_rejects_non_positive_chunk_size() -> None: + pipeline = _build_runtime_pipeline() + with pytest.raises(ValueError, match="chunk_size"): + pipeline.control_context( + LingBotWorldFastSessionConfig( + prompt="baseline", + image=Image.new("RGB", (16, 16)), + chunk_size=0, + frame_num=9, + ) + ) + + def test_control_mode_must_match_the_initialized_pipeline() -> None: pipeline = _build_runtime_pipeline() with pytest.raises(ValueError, match="does not match"): diff --git a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py index c1758c0..f611b3a 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py @@ -1,7 +1,9 @@ +import asyncio import threading from types import SimpleNamespace from unittest.mock import MagicMock, patch +import pytest import torch from PIL import Image @@ -99,3 +101,32 @@ def test_service_stop_closes_sessions_before_pipeline() -> None: (("session-b",),), ] pipeline.close.assert_called_once_with() + + +def test_create_session_rejects_invalid_pipeline_configuration() -> None: + pipeline = MagicMock() + pipeline.control_context.side_effect = ValueError("invalid session configuration") + service = LingBotWorldFastService(pipeline) + + with pytest.raises(ValueError, match="invalid session"): + service.create_session({"image": Image.new("RGB", (8, 8))}) + + assert service._sessions == {} + + +def test_pull_chunks_drains_terminal_messages_after_session_becomes_inactive() -> None: + service = LingBotWorldFastService(MagicMock()) + state = _state() + state.active = False + state.worker_thread = MagicMock() + state.worker_thread.is_alive.return_value = True + state.output_queue = asyncio.Queue() + state.output_queue.put_nowait({"type": "preview"}) + state.output_queue.put_nowait({"type": "error"}) + state.output_queue.put_nowait({"type": "done"}) + service._sessions["session-a"] = state + + async def collect() -> list[dict]: + return [chunk async for chunk in service.pull_chunks("session-a")] + + assert asyncio.run(collect()) == [{"type": "preview"}, {"type": "error"}] From eb9b5df3065724485dbc8cd1ca092bc887282d2c Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Tue, 14 Jul 2026 04:15:58 +0000 Subject: [PATCH 7/9] feat(lingbot): align real-time camera streaming - match LingBot WASD/IJKL camera integration, fixed intrinsics, and cross-chunk pose continuity - hold the last WebRTC frame while idle and add source-compatible browser controls - pass stream GPU count from --gpu-num into get_service and document H100 usage - add control, service, CLI, and stream example coverage Verification: - .venv/bin/python -m pytest tests/unit/pipelines/lingbot_world_fast tests/unit/service --ignore=tests/unit/service/livekit -q (192 passed) - .venv/bin/python -m ruff check on changed Python files - git diff --check - GPU 2,3 real-model WebRTC E2E at 832x480, 81 frames, 7 chunks --- docs/en/stream_server.md | 57 +++-- docs/zh/stream_server.md | 49 ++-- examples/lingbot/README.md | 166 +++++++++++++ examples/lingbot/stream_lingbot_world_fast.py | 10 +- .../webrtc_bidirectional_demo.py | 52 ++-- telefuser/entrypoints/cli/main.py | 17 +- .../pipelines/lingbot_world_fast/control.py | 38 +-- .../pipelines/lingbot_world_fast/pipeline.py | 20 ++ .../pipelines/lingbot_world_fast/service.py | 224 ++++++++++++------ .../pipelines/lingbot_world_fast/session.py | 21 +- telefuser/service/core/container.py | 2 + .../service/core/stream_pipeline_service.py | 14 +- telefuser/service/main.py | 7 +- .../test_control_alignment.py | 62 ++++- .../test_service_action_loop.py | 70 +++++- .../lingbot_world_fast/test_stream_example.py | 16 +- tests/unit/service/test_service_routes.py | 41 ++++ 17 files changed, 693 insertions(+), 173 deletions(-) create mode 100644 examples/lingbot/README.md diff --git a/docs/en/stream_server.md b/docs/en/stream_server.md index cb7832b..1ca1731 100644 --- a/docs/en/stream_server.md +++ b/docs/en/stream_server.md @@ -109,6 +109,7 @@ telefuser stream-serve [OPTIONS] |------|---------|-------------| | `--port`, `-p` | `8088` | Server port | | `--host` | `0.0.0.0` | Bind address | +| `--gpu-num`, `-g` | `1` | GPU count passed to `get_service(gpu_num=...)` when supported | | `--security-level` | `strict` | Pipeline validation level (`none`, `basic`, `strict`, `sandbox`). `sandbox` is a best-effort restricted-load check, not runtime isolation. | | `--skip-validation` | `false` | Skip pipeline file security checks | @@ -129,7 +130,8 @@ telefuser stream-serve my_pipeline.py -p 8088 --skip-validation ## Creating a Stream Pipeline -A stream pipeline is a Python file that defines a `get_service()` function returning a service object. The service must implement one of two protocols. +A stream pipeline is a Python file that defines a `get_service()` function returning a service object. It may accept +an optional `gpu_num` parameter supplied by `stream-serve --gpu-num`. The service must implement one of two protocols. ### ServerPushService Protocol @@ -563,7 +565,9 @@ LingBot-World-Fast requires two sets of weights: #### Start the Server -Set `TF_MODEL_ZOO_PATH` and, if needed, `PPL_CONFIG["parallelism"]` before starting the service. The default configuration uses four GPUs and creates Ulysses workers internally, so the server command does not need `torchrun` or distributed environment variables. +Set `TF_MODEL_ZOO_PATH` before starting the service and pass the worker count with `--gpu-num`. The service creates +Ulysses workers internally, so the server command does not need `torchrun` or distributed environment variables. +Use `CUDA_VISIBLE_DEVICES` to select the physical GPUs. ```bash TF_MODEL_ZOO_PATH=/storage/model_zoo \ @@ -571,7 +575,7 @@ TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478' \ TELEFUSER_TURN_USERNAME=telefuser \ TELEFUSER_TURN_CREDENTIAL=your-turn-password \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - -p 8088 --host 0.0.0.0 --skip-validation + --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation ``` Wait for the following log line before connecting the browser demo: @@ -595,6 +599,7 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ --server-url http://localhost:8088 \ --port 8091 \ --image-path /tmp/lingbot_test_input.png \ + --action-path examples/data/lingbot_world_fast \ --frame-num 81 \ --chunk-size 3 \ --fps 16 \ @@ -603,8 +608,6 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ --turn-credential your-turn-password \ --force-turn-relay \ --ice-gather-timeout-ms 30000 \ - --control-lateral-step 0.25 \ - --control-yaw-step-degrees 12 \ --no-open ``` @@ -614,7 +617,10 @@ Open in browser: http://localhost:8091 ``` -`--image-path` is a server-side file path, not the laptop local path. The demo enables proxying by default; the browser only needs to access the demo port. Requests to `/v1/stream/webrtc/*` are forwarded by the demo process to `--server-url`. +`--image-path` and `--action-path` are server-side paths, not laptop-local paths. For real-time keyboard control, +the service loads only `intrinsics.npy` from `--action-path` and keeps its first row fixed for the session. The demo +enables proxying by default; the browser only needs to access the demo port. Requests to `/v1/stream/webrtc/*` are +forwarded by the demo process to `--server-url`. #### Without TURN: View on Server Browser @@ -627,7 +633,7 @@ env -u TELEFUSER_TURN_SERVER \ -u TELEFUSER_TURN_USERNAME \ -u TELEFUSER_TURN_CREDENTIAL \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - -p 8088 --host 0.0.0.0 --skip-validation + --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation ``` Demo: @@ -640,11 +646,10 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ --server-url http://127.0.0.1:8088 \ --port 8091 \ --image-path /tmp/lingbot_test_input.png \ + --action-path examples/data/lingbot_world_fast \ --frame-num 81 \ --chunk-size 3 \ --fps 16 \ - --control-lateral-step 0.25 \ - --control-yaw-step-degrees 12 \ --no-open ``` @@ -656,16 +661,24 @@ http://127.0.0.1:8091 #### Direction Control -The demo supports keyboard arrow keys and a page D-pad: +The demo supports the page D-pad, arrow keys, and the source-compatible `WASD`/`IJKL` keyboard controls: | Input | cam mode meaning | -|-------|-----------------| -| `↑` | Camera forward | -| `↓` | Camera backward | -| `←` | Turn left and strafe left | -| `→` | Turn right and strafe right | - -Controls only affect chunks that have not yet started generating; chunks already denoising or decoding are not immediately changed. Therefore, it is recommended to hold a direction key early after connecting, rather than clicking near the end of the video. +|-------|------------------| +| `↑` / `W` | Move forward | +| `↓` / `S` | Move backward | +| `A` / `D` | Strafe left / right | +| `←` / `J` | Yaw left | +| `→` / `L` | Yaw right | +| `I` / `K` | Pitch up / down | + +Controls only affect chunks that have not yet started generating; chunks already denoising or decoding are not +immediately changed. Holding a key continuously generates controlled chunks. After all keys are released, the +service stops requesting new chunks and WebRTC repeats the most recently emitted frame. + +The camera pose starts at identity. Each latent interval integrates four video-frame control steps, matching the +LingBot source trajectory generator. Camera intrinsics are fixed when the session is created. Absolute pose and +pitch state are accumulated across chunks, including the relative-pose delta across each chunk boundary. The following states in the DataChannel log indicate that direction control has been consumed by the server and applied to a generation chunk: @@ -680,13 +693,13 @@ Common control strength parameters: | Parameter | Default | Description | |-----------|---------|-------------| -| `--control-move-step` | `0.18` | Forward/backward displacement step size | -| `--control-yaw-step-degrees` | `10.0` | Yaw angle per latent frame | -| `--control-lateral-step` | `0.12` | Left/right lateral step size | +| `--control-move-step` | `0.05` | Forward/backward displacement per video frame | +| `--control-yaw-step-degrees` | `2.0` | Yaw angle per video frame | +| `--control-lateral-step` | `0.05` | Lateral displacement per video frame | +| `--control-pitch-step-degrees` | `2.0` | Pitch angle per video frame | +| `--control-pitch-limit-degrees` | `85.0` | Absolute pitch limit | | `--show-control-hud / --no-show-control-hud` | `true` | Whether to overlay direction HUD on controlled chunks | -If left/right effects are subtle, increase `--control-lateral-step`, e.g., `0.25` or `0.3`. - #### `cam` vs `act` Control Modes | Mode | Input | Description | diff --git a/docs/zh/stream_server.md b/docs/zh/stream_server.md index 2e67cb4..458a16c 100644 --- a/docs/zh/stream_server.md +++ b/docs/zh/stream_server.md @@ -109,6 +109,7 @@ telefuser stream-serve [选项] |------|--------|------| | `--port`, `-p` | `8088` | 服务端口 | | `--host` | `0.0.0.0` | 绑定地址 | +| `--gpu-num`, `-g` | `1` | 管线支持时传给 `get_service(gpu_num=...)` 的 GPU 数量 | | `--security-level` | `strict` | 管线验证级别(`none`、`basic`、`strict`、`sandbox`)。`sandbox` 是 best-effort 受限加载检查,不是运行时隔离。 | | `--skip-validation` | `false` | 跳过管线文件安全检查 | @@ -129,7 +130,8 @@ telefuser stream-serve my_pipeline.py -p 8088 --skip-validation ## 创建流式管线 -流式管线是一个 Python 文件,定义一个 `get_service()` 函数,返回一个服务对象。该服务必须实现以下两种协议之一。 +流式管线是一个 Python 文件,定义一个返回服务对象的 `get_service()` 函数。该函数可以接收由 +`stream-serve --gpu-num` 提供的可选 `gpu_num` 参数。服务必须实现以下两种协议之一。 ### ServerPushService 协议 @@ -563,7 +565,8 @@ LingBot-World-Fast 需要两类权重: #### 启动服务端 -启动前设置 `TF_MODEL_ZOO_PATH`;如有需要,再调整 `PPL_CONFIG["parallelism"]`。默认配置使用四张 GPU,并由 TeleFuser 在服务内部创建 Ulysses worker,因此启动命令不需要 `torchrun` 或分布式环境变量。 +启动前设置 `TF_MODEL_ZOO_PATH`,并通过 `--gpu-num` 传入 worker 数量。TeleFuser 会在服务内部创建 +Ulysses worker,因此启动命令不需要 `torchrun` 或分布式环境变量。使用 `CUDA_VISIBLE_DEVICES` 选择物理 GPU。 ```bash TF_MODEL_ZOO_PATH=/storage/model_zoo \ @@ -571,7 +574,7 @@ TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478' \ TELEFUSER_TURN_USERNAME=telefuser \ TELEFUSER_TURN_CREDENTIAL=your-turn-password \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - -p 8088 --host 0.0.0.0 --skip-validation + --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation ``` 等待日志出现以下内容后再连接浏览器 demo: @@ -595,6 +598,7 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ --server-url http://localhost:8088 \ --port 8091 \ --image-path /tmp/lingbot_test_input.png \ + --action-path examples/data/lingbot_world_fast \ --frame-num 81 \ --chunk-size 3 \ --fps 16 \ @@ -603,8 +607,6 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ --turn-credential your-turn-password \ --force-turn-relay \ --ice-gather-timeout-ms 30000 \ - --control-lateral-step 0.25 \ - --control-yaw-step-degrees 12 \ --no-open ``` @@ -614,7 +616,9 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ http://localhost:8091 ``` -`--image-path` 是服务端文件路径,不是笔记本本地路径。demo 默认开启代理,浏览器只需要访问 demo 端口;`/v1/stream/webrtc/*` 请求会由 demo 进程转发到 `--server-url`。 +`--image-path` 和 `--action-path` 都是服务端路径,不是笔记本本地路径。实时键盘控制只会从 +`--action-path` 加载 `intrinsics.npy`,并在整个会话中固定使用第一行内参。demo 默认开启代理,浏览器只需 +访问 demo 端口;`/v1/stream/webrtc/*` 请求会由 demo 进程转发到 `--server-url`。 #### 不使用 TURN:在服务器浏览器查看 @@ -627,7 +631,7 @@ env -u TELEFUSER_TURN_SERVER \ -u TELEFUSER_TURN_USERNAME \ -u TELEFUSER_TURN_CREDENTIAL \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - -p 8088 --host 0.0.0.0 --skip-validation + --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation ``` demo: @@ -640,11 +644,10 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ --server-url http://127.0.0.1:8088 \ --port 8091 \ --image-path /tmp/lingbot_test_input.png \ + --action-path examples/data/lingbot_world_fast \ --frame-num 81 \ --chunk-size 3 \ --fps 16 \ - --control-lateral-step 0.25 \ - --control-yaw-step-degrees 12 \ --no-open ``` @@ -656,16 +659,22 @@ http://127.0.0.1:8091 #### 方向控制 -demo 支持键盘方向键和页面 D-pad: +demo 支持页面 D-pad、方向键以及与 LingBot 源码一致的 `WASD`/`IJKL` 键盘控制: | 输入 | cam 模式含义 | |------|--------------| -| `↑` | 相机前进 | -| `↓` | 相机后退 | -| `←` | 左转并向左横移 | -| `→` | 右转并向右横移 | +| `↑` / `W` | 向前移动 | +| `↓` / `S` | 向后移动 | +| `A` / `D` | 向左/向右横移 | +| `←` / `J` | 向左偏航 | +| `→` / `L` | 向右偏航 | +| `I` / `K` | 向上/向下俯仰 | -控制只会作用于“尚未开始生成”的后续 chunk;已经在 denoising 或 decoding 的 chunk 不会被即时改变。因此建议在连接成功后尽早长按方向键,而不是等视频快结束时再点击。 +控制只会作用于“尚未开始生成”的后续 chunk;已经在 denoising 或 decoding 的 chunk 不会被即时改变。 +长按按键会持续生成受控 chunk;松开所有按键后,服务端停止请求新 chunk,WebRTC 会重复显示最近输出的一帧。 + +相机位姿从单位矩阵开始。每个 latent 间隔累计 4 次视频帧控制步,与 LingBot 源码中的轨迹生成方式一致。 +相机内参在创建会话时固定,绝对位姿与 pitch 状态跨 chunk 累计,并保留 chunk 边界两侧的相对位姿变化。 DataChannel 日志中出现以下状态时,表示方向控制已被服务端消费并应用到某个生成 chunk: @@ -680,13 +689,13 @@ demo 默认开启 `Control HUD`。该 HUD 会叠加在使用了方向控制的 | 参数 | 默认值 | 说明 | |------|--------|------| -| `--control-move-step` | `0.18` | 前进/后退位移步长 | -| `--control-yaw-step-degrees` | `10.0` | 每个 latent frame 的转向角度 | -| `--control-lateral-step` | `0.12` | 左右横向平移步长 | +| `--control-move-step` | `0.05` | 每个视频帧的前进/后退位移 | +| `--control-yaw-step-degrees` | `2.0` | 每个视频帧的偏航角度 | +| `--control-lateral-step` | `0.05` | 每个视频帧的横向位移 | +| `--control-pitch-step-degrees` | `2.0` | 每个视频帧的俯仰角度 | +| `--control-pitch-limit-degrees` | `85.0` | 绝对俯仰角限制 | | `--show-control-hud / --no-show-control-hud` | `true` | 是否在受控 chunk 上叠加方向 HUD | -如果左右效果不明显,可以增大 `--control-lateral-step`,例如 `0.25` 或 `0.3`。 - #### `cam` 与 `act` 控制模式 | 模式 | 输入 | 说明 | diff --git a/examples/lingbot/README.md b/examples/lingbot/README.md new file mode 100644 index 0000000..f6703ea --- /dev/null +++ b/examples/lingbot/README.md @@ -0,0 +1,166 @@ +# LingBot-World-Fast Examples + +Offline image-to-video and online streaming generation with LingBot-World-Fast. This page describes how to run +the `lingbot_world_fast_image_to_video_h100.py` offline image-to-video example on H100 GPUs. + +## Model Directory + +The offline example requires the Wan2.2 I2V base model and the LingBot-World-Fast model. The recommended directory +layout is: + +```text +${TF_MODEL_ZOO_PATH}/ +├── Wan2.2-I2V-A14B/ +└── lingbot/ + └── lingbot-world-fast/ +``` + +Set the model root before running the example: + +```bash +export TF_MODEL_ZOO_PATH=/path/to/model_zoo +``` + +## Feature Support + +| Feature | Support | +| --- | --- | +| Offline image-to-video | ✔️ | +| Camera control | ✔️ | +| Continuous chunked generation | ✔️ | +| Single-GPU inference | ✔️ | +| Ulysses Sequence Parallel | ✔️ | +| FSDP | Disabled by default in this example | +| H100 Sage Attention | ✔️ | + +## Files + +### lingbot_world_fast_image_to_video_h100.py + +Offline video generation on H100 GPUs using LingBot-World-Fast with camera control. + +Default configuration: + +- Resolution: `480p` +- Output frames: `81` +- Frame rate: `16 FPS` +- Chunk size: `3` latent frames +- Seed: `42` +- Control mode: `cam` +- Attention backend: `SAGE_ATTN_2_8_8_SM90` +- Default input: `examples/data/lingbot_world_fast/image.jpg` +- Default control directory: `examples/data/lingbot_world_fast/` +- Default output: `work_dirs/lingbot_world_fast_i2v_gpu.mp4` + +## Usage + +### Four H100 GPUs + +The recommended configuration uses four H100 GPUs with Ulysses sequence parallelism for DiT inference: + +```bash +python examples/lingbot/lingbot_world_fast_image_to_video_h100.py \ + --gpu_num 4 \ + --model_root "${TF_MODEL_ZOO_PATH}/Wan2.2-I2V-A14B" \ + --fast_model_root "${TF_MODEL_ZOO_PATH}/lingbot/lingbot-world-fast" +``` + +### Single H100 GPU + +```bash +python examples/lingbot/lingbot_world_fast_image_to_video_h100.py \ + --gpu_num 1 \ + --model_root "${TF_MODEL_ZOO_PATH}/Wan2.2-I2V-A14B" \ + --fast_model_root "${TF_MODEL_ZOO_PATH}/lingbot/lingbot-world-fast" +``` + +### Custom Input and Output + +`--action_path` accepts a directory. In camera-control mode, the directory must contain `poses.npy` and +`intrinsics.npy`. + +```bash +python examples/lingbot/lingbot_world_fast_image_to_video_h100.py \ + --gpu_num 4 \ + --model_root "${TF_MODEL_ZOO_PATH}/Wan2.2-I2V-A14B" \ + --fast_model_root "${TF_MODEL_ZOO_PATH}/lingbot/lingbot-world-fast" \ + --image_path /path/to/input.jpg \ + --action_path /path/to/camera_control \ + --prompt "A cinematic scene with smooth camera motion" \ + --resolution 720p \ + --frame_num 81 \ + --fps 16 \ + --seed 42 \ + --output work_dirs/lingbot_world_fast_custom.mp4 +``` + +### Repository-Provided Input + +The repository includes an image, poses, and intrinsics that can be used directly. Omit the input, control, and +output options to use these defaults: + +```bash +python examples/lingbot/lingbot_world_fast_image_to_video_h100.py \ + --gpu_num 4 \ + --model_root "${TF_MODEL_ZOO_PATH}/Wan2.2-I2V-A14B" \ + --fast_model_root "${TF_MODEL_ZOO_PATH}/lingbot/lingbot-world-fast" +``` + +## Options + +| Option | Default | Description | +| --- | --- | --- | +| `--gpu_num` | `1` | Number of GPUs used for Ulysses sequence parallelism | +| `--model_root` | `${TF_MODEL_ZOO_PATH}/Wan2.2-I2V-A14B` | Wan2.2 I2V base model directory | +| `--fast_model_root` | `${TF_MODEL_ZOO_PATH}/lingbot/lingbot-world-fast` | LingBot-World-Fast model directory | +| `--image_path` | Bundled `image.jpg` | Input image path | +| `--action_path` | Bundled control directory | Directory containing `poses.npy` and `intrinsics.npy` | +| `--prompt` | Bundled English prompt | Positive guidance prompt | +| `--resolution` | `480p` | Output resolution; available values are `480p` and `720p` | +| `--frame_num` | `81` | Number of output video frames | +| `--fps` | `16` | Output video frame rate | +| `--seed` | `42` | Random seed | +| `--output` | `work_dirs/lingbot_world_fast_i2v_gpu.mp4` | Output MP4 path | + +Display the command-line help: + +```bash +python examples/lingbot/lingbot_world_fast_image_to_video_h100.py --help +``` + +## Notes + +- `frame_num` must satisfy the pipeline's complete latent-chunk constraint. The default 81 frames correspond to + 21 latent frames, which are split into seven complete chunks. +- `--gpu_num` must not exceed the number of GPUs visible to the process. For example, set + `CUDA_VISIBLE_DEVICES=0,1,2,3` to select four devices. +- The example explicitly closes its parallel workers on exit. If the process is forcibly terminated, check for + residual `spawn_main` child processes. + +## Real-Time Streaming + +Start the bidirectional WebRTC service with two physical H100 GPUs (2 and 3): + +```bash +TF_MODEL_ZOO_PATH=/path/to/model_zoo \ +CUDA_VISIBLE_DEVICES=2,3 \ +telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ + --gpu-num 2 -p 8088 --host 0.0.0.0 --skip-validation +``` + +Run the browser controller on the server. The action directory supplies the same fixed camera intrinsics used by +the offline example; camera poses are generated from keyboard input in real time. + +```bash +python examples/stream_server/webrtc_bidirectional_demo.py \ + --server-url http://127.0.0.1:8088 \ + --port 8091 \ + --image-path examples/data/lingbot_world_fast/image.jpg \ + --action-path examples/data/lingbot_world_fast \ + --frame-num 81 \ + --chunk-size 3 \ + --no-open +``` + +Use `W/S` to move forward/backward, `A/D` to strafe, `J/L` (or the left/right arrows) to yaw, and `I/K` to +pitch. Releasing all controls stops new chunk generation, so the WebRTC stream holds the last output frame. diff --git a/examples/lingbot/stream_lingbot_world_fast.py b/examples/lingbot/stream_lingbot_world_fast.py index 6cf9365..fb02c5e 100644 --- a/examples/lingbot/stream_lingbot_world_fast.py +++ b/examples/lingbot/stream_lingbot_world_fast.py @@ -1,8 +1,12 @@ """LingBot-World-Fast bidirectional streaming service example. Run the four-GPU stream service: + TF_MODEL_ZOO_PATH=/path/to/model_zoo \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - -p 8088 --skip-validation + --gpu-num 4 -p 8088 --skip-validation + +Select physical GPUs with CUDA_VISIBLE_DEVICES. For example, use physical GPUs +2 and 3 with --gpu-num 2 and CUDA_VISIBLE_DEVICES=2,3. """ from __future__ import annotations @@ -69,7 +73,7 @@ def get_pipeline( return pipeline -def get_service() -> LingBotWorldFastService: +def get_service(gpu_num: int = PPL_CONFIG["parallelism"]) -> LingBotWorldFastService: """Build the service loaded by the TeleFuser stream server.""" - pipeline = get_pipeline() + pipeline = get_pipeline(parallelism=gpu_num) return LingBotWorldFastService(pipeline, default_fps=PPL_CONFIG["target_fps"]) diff --git a/examples/stream_server/webrtc_bidirectional_demo.py b/examples/stream_server/webrtc_bidirectional_demo.py index a5513f2..747de42 100644 --- a/examples/stream_server/webrtc_bidirectional_demo.py +++ b/examples/stream_server/webrtc_bidirectional_demo.py @@ -699,10 +699,14 @@ ArrowDown: "down", ArrowLeft: "left", ArrowRight: "right", - KeyW: "up", - KeyS: "down", - KeyA: "left", - KeyD: "right", + KeyW: "w", + KeyA: "a", + KeyS: "s", + KeyD: "d", + KeyI: "i", + KeyJ: "j", + KeyK: "k", + KeyL: "l", }; function $(id) { @@ -740,9 +744,9 @@ $("seed").value = DEFAULT_OPTIONS.seed ?? 42; $("control-mode").value = DEFAULT_OPTIONS.control_mode || "cam"; $("action-path").value = DEFAULT_OPTIONS.action_path || ""; - $("control-move-step").value = DEFAULT_OPTIONS.control_move_step ?? 0.18; - $("control-yaw-step").value = DEFAULT_OPTIONS.control_yaw_step_degrees ?? 10.0; - $("control-lateral-step").value = DEFAULT_OPTIONS.control_lateral_step ?? 0.12; + $("control-move-step").value = DEFAULT_OPTIONS.control_move_step ?? 0.05; + $("control-yaw-step").value = DEFAULT_OPTIONS.control_yaw_step_degrees ?? 2.0; + $("control-lateral-step").value = DEFAULT_OPTIONS.control_lateral_step ?? 0.05; $("show-control-hud").checked = DEFAULT_OPTIONS.show_control_hud ?? true; } @@ -790,9 +794,11 @@ sample_shift: numberValue("sample-shift", DEFAULT_OPTIONS.sample_shift ?? 5.0), seed: numberValue("seed", DEFAULT_OPTIONS.seed ?? 42), control_mode: $("control-mode").value, - control_move_step: numberValue("control-move-step", DEFAULT_OPTIONS.control_move_step ?? 0.18), - control_yaw_step_degrees: numberValue("control-yaw-step", DEFAULT_OPTIONS.control_yaw_step_degrees ?? 10.0), - control_lateral_step: numberValue("control-lateral-step", DEFAULT_OPTIONS.control_lateral_step ?? 0.12), + control_move_step: numberValue("control-move-step", DEFAULT_OPTIONS.control_move_step ?? 0.05), + control_yaw_step_degrees: numberValue("control-yaw-step", DEFAULT_OPTIONS.control_yaw_step_degrees ?? 2.0), + control_lateral_step: numberValue("control-lateral-step", DEFAULT_OPTIONS.control_lateral_step ?? 0.05), + control_pitch_step_degrees: DEFAULT_OPTIONS.control_pitch_step_degrees ?? 2.0, + control_pitch_limit_degrees: DEFAULT_OPTIONS.control_pitch_limit_degrees ?? 85.0, show_control_hud: $("show-control-hud").checked, }; const actionPath = $("action-path").value.trim(); @@ -1065,19 +1071,31 @@ def main() -> None: parser.add_argument("--max-attention-size", type=int, default=None, help="Optional LingBot max attention size") parser.add_argument("--max-sequence-length", type=int, default=512, help="LingBot max text sequence length") parser.add_argument("--control-mode", default="cam", choices=("cam", "act"), help="LingBot control mode") - parser.add_argument("--action-path", default="", help="Optional LingBot camera/action control file") - parser.add_argument("--control-move-step", type=float, default=0.18, help="LingBot direction-control move step") + parser.add_argument("--action-path", default="", help="Optional LingBot camera/action control directory") + parser.add_argument("--control-move-step", type=float, default=0.05, help="LingBot video-frame move step") parser.add_argument( "--control-yaw-step-degrees", type=float, - default=10.0, - help="LingBot direction-control yaw step per latent frame", + default=2.0, + help="LingBot yaw step per video frame", ) parser.add_argument( "--control-lateral-step", type=float, - default=0.12, - help="LingBot direction-control lateral strafe step", + default=0.05, + help="LingBot video-frame lateral strafe step", + ) + parser.add_argument( + "--control-pitch-step-degrees", + type=float, + default=2.0, + help="LingBot pitch step per video frame", + ) + parser.add_argument( + "--control-pitch-limit-degrees", + type=float, + default=85.0, + help="LingBot absolute pitch limit", ) parser.add_argument( "--show-control-hud", @@ -1144,6 +1162,8 @@ def main() -> None: "control_move_step": args.control_move_step, "control_yaw_step_degrees": args.control_yaw_step_degrees, "control_lateral_step": args.control_lateral_step, + "control_pitch_step_degrees": args.control_pitch_step_degrees, + "control_pitch_limit_degrees": args.control_pitch_limit_degrees, "show_control_hud": args.show_control_hud, } if args.max_attention_size is not None: diff --git a/telefuser/entrypoints/cli/main.py b/telefuser/entrypoints/cli/main.py index 35cda0c..fd1babf 100644 --- a/telefuser/entrypoints/cli/main.py +++ b/telefuser/entrypoints/cli/main.py @@ -136,6 +136,13 @@ def serve( @click.argument("pipe_path") @click.option("--port", "-p", default=8088, type=int, help="Server port") @click.option("--host", default="0.0.0.0", type=str, help="Server host") +@click.option( + "--gpu-num", + "-g", + default=1, + type=click.IntRange(min=1), + help="Number of GPUs passed to a stream pipeline get_service(gpu_num=...) factory", +) @click.option( "--security-level", type=click.Choice(["none", "basic", "strict", "sandbox"], case_sensitive=False), @@ -152,6 +159,7 @@ def stream_serve( pipe_path: str, port: int, host: str, + gpu_num: int, security_level: str, skip_validation: bool, ) -> None: @@ -178,7 +186,14 @@ def stream_serve( from telefuser.service.main import run_stream_server - run_stream_server(pipe_path, port, host, skip_validation=skip_validation, security_level=security_level) + run_stream_server( + pipe_path, + port, + host, + gpu_num=gpu_num, + skip_validation=skip_validation, + security_level=security_level, + ) @main.command(name="validate") diff --git a/telefuser/pipelines/lingbot_world_fast/control.py b/telefuser/pipelines/lingbot_world_fast/control.py index be59921..531282b 100644 --- a/telefuser/pipelines/lingbot_world_fast/control.py +++ b/telefuser/pipelines/lingbot_world_fast/control.py @@ -193,7 +193,7 @@ def truncate_control_sequence( action: object | None, frame_num: int, ) -> tuple[object, object, object | None]: - """Select the requested complete video-rate control window without shortening it.""" + """Select a video-rate pose/action window and keep the first camera intrinsics fixed.""" if frame_num < 1 or (frame_num - 1) % 4: raise ValueError(f"frame_num must be 4n+1, got {frame_num}") if len(poses) < frame_num: @@ -202,13 +202,13 @@ def truncate_control_sequence( intrinsics_arr = np.asarray(intrinsics) if intrinsics_arr.ndim not in (1, 2) or intrinsics_arr.shape[-1] != 4: raise ValueError("Intrinsics must have shape (4,) or (frames, 4)") - if intrinsics_arr.ndim == 2 and len(intrinsics_arr) not in (1,) and len(intrinsics_arr) < frame_num: - raise ValueError(f"Intrinsics sequence has {len(intrinsics_arr)} frames but frame_num requires {frame_num}") + if intrinsics_arr.ndim == 2 and len(intrinsics_arr) < 1: + raise ValueError("Intrinsics sequence must contain at least one row") if action is not None and len(action) < frame_num: raise ValueError(f"Action sequence has {len(action)} frames but frame_num requires {frame_num}") trimmed_poses = poses[:frame_num] - trimmed_intrinsics = intrinsics[:frame_num] if intrinsics_arr.ndim > 1 else intrinsics + trimmed_intrinsics = intrinsics_arr[0] if intrinsics_arr.ndim == 2 else intrinsics_arr trimmed_action = action[:frame_num] if action is not None else None return trimmed_poses, trimmed_intrinsics, trimmed_action @@ -228,6 +228,7 @@ class LingBotWorldFastControlContext: latent_w: int latent_frames: int chunk_size: int + intrinsics: torch.Tensor class LingBotWorldFastDeferredControl: @@ -304,16 +305,9 @@ def _resample_intrinsics(intrinsics: torch.Tensor, target_frames: int) -> torch. return intrinsics.unsqueeze(0).repeat(target_frames, 1) if intrinsics.ndim != 2 or intrinsics.shape[1] != 4: raise ValueError(f"Intrinsics must have shape (4,) or (frames, 4), got {tuple(intrinsics.shape)}") - if intrinsics.shape[0] == 1: - return intrinsics.repeat(target_frames, 1) - if intrinsics.shape[0] == target_frames: - return intrinsics - - source_positions = torch.linspace(0, intrinsics.shape[0] - 1, target_frames, device=intrinsics.device) - lower = source_positions.floor().long() - upper = source_positions.ceil().long() - weight = (source_positions - lower).unsqueeze(1) - return torch.lerp(intrinsics.index_select(0, lower), intrinsics.index_select(0, upper), weight) + if intrinsics.shape[0] < 1: + raise ValueError("Intrinsics sequence must contain at least one row") + return intrinsics[0:1].repeat(target_frames, 1) def build(self, action: dict[str, object]) -> torch.Tensor: """Build one model control tensor from one external chunk action.""" @@ -324,14 +318,22 @@ def build(self, action: dict[str, object]) -> torch.Tensor: dtype=self.context.control_dtype, ) poses = action.get("poses") - intrinsics = action.get("intrinsics") - if poses is None or intrinsics is None: - raise ValueError("External action requires poses and intrinsics") + intrinsics = action.get("intrinsics", self.context.intrinsics) + if poses is None: + raise ValueError("External action requires poses") poses_t = torch.as_tensor(poses, dtype=torch.float32, device=self.context.device) intrinsics_t = torch.as_tensor(intrinsics, dtype=torch.float32, device=self.context.device) self._validate_poses(poses_t, self.context.chunk_size) intrinsics_t = self._transform_intrinsics(self._resample_intrinsics(intrinsics_t, self.context.chunk_size)) - poses_rel = compute_relative_poses(poses_t, framewise=True) + previous_pose = action.get("previous_pose") + if previous_pose is None: + poses_rel = compute_relative_poses(poses_t, framewise=True) + else: + previous_pose_t = torch.as_tensor(previous_pose, dtype=torch.float32, device=self.context.device) + if previous_pose_t.shape != (4, 4): + raise ValueError(f"Previous pose must have shape (4, 4), got {tuple(previous_pose_t.shape)}") + poses_with_boundary = torch.cat([previous_pose_t.unsqueeze(0), poses_t], dim=0) + poses_rel = compute_relative_poses(poses_with_boundary, framewise=True)[1:] return self._build_tensor(poses_rel, intrinsics_t, action.get("action")).to(dtype=torch.float32) def build_sequence( diff --git a/telefuser/pipelines/lingbot_world_fast/pipeline.py b/telefuser/pipelines/lingbot_world_fast/pipeline.py index eb40e3c..d2615dc 100644 --- a/telefuser/pipelines/lingbot_world_fast/pipeline.py +++ b/telefuser/pipelines/lingbot_world_fast/pipeline.py @@ -206,6 +206,25 @@ def control_context(self, session_config: LingBotWorldFastSessionConfig) -> Ling height, width = self.check_resize_height_width(height, width) frame_num = session_config.frame_num latent_frames = (frame_num - 1) // 4 + 1 + if session_config.intrinsics is None: + focal = float(max(self.config.orig_width, self.config.orig_height)) + intrinsics = torch.tensor( + [focal, focal, self.config.orig_width * 0.5, self.config.orig_height * 0.5], + dtype=torch.float32, + device=self.device, + ) + else: + intrinsics = torch.as_tensor(session_config.intrinsics, dtype=torch.float32, device=self.device) + if intrinsics.ndim == 2: + if intrinsics.shape[0] < 1 or intrinsics.shape[1] != 4: + raise ValueError( + f"Session intrinsics must have shape (4,) or (frames, 4), got {tuple(intrinsics.shape)}" + ) + intrinsics = intrinsics[0] + if intrinsics.shape != (4,): + raise ValueError( + f"Session intrinsics must have shape (4,) or (frames, 4), got {tuple(intrinsics.shape)}" + ) return LingBotWorldFastControlContext( control_type=self.config.control_type, device=self.device, @@ -218,6 +237,7 @@ def control_context(self, session_config: LingBotWorldFastSessionConfig) -> Ling latent_w=width // 8, latent_frames=latent_frames, chunk_size=session_config.chunk_size, + intrinsics=intrinsics, ) def _validate_session_config(self, session_config: LingBotWorldFastSessionConfig) -> None: diff --git a/telefuser/pipelines/lingbot_world_fast/service.py b/telefuser/pipelines/lingbot_world_fast/service.py index 0d866cf..09dd646 100644 --- a/telefuser/pipelines/lingbot_world_fast/service.py +++ b/telefuser/pipelines/lingbot_world_fast/service.py @@ -9,6 +9,7 @@ import time import uuid from collections.abc import AsyncGenerator, Callable +from pathlib import Path import cv2 import numpy as np @@ -28,26 +29,34 @@ ) _DIRECTION_ALIASES = { - "ArrowUp": "up", - "ArrowDown": "down", - "ArrowLeft": "left", - "ArrowRight": "right", - "KeyW": "up", - "KeyS": "down", - "KeyA": "left", - "KeyD": "right", - "w": "up", - "s": "down", - "a": "left", - "d": "right", - "up": "up", - "down": "down", - "left": "left", - "right": "right", - "forward": "up", - "backward": "down", + "ArrowUp": "w", + "ArrowDown": "s", + "ArrowLeft": "j", + "ArrowRight": "l", + "KeyW": "w", + "KeyA": "a", + "KeyS": "s", + "KeyD": "d", + "KeyI": "i", + "KeyJ": "j", + "KeyK": "k", + "KeyL": "l", + "w": "w", + "a": "a", + "s": "s", + "d": "d", + "i": "i", + "j": "j", + "k": "k", + "l": "l", + "up": "w", + "down": "s", + "left": "j", + "right": "l", + "forward": "w", + "backward": "s", } -_ACTION_DIRECTIONS = ("up", "down", "left", "right") +_ACTION_DIRECTIONS = ("w", "a", "s", "d") class LingBotWorldFastService: @@ -92,6 +101,9 @@ def create_session(self, config: dict) -> str: session_id = config.get("session_id") or str(uuid.uuid4()) image = self._load_image(config) + intrinsics = config.get("intrinsics") + if intrinsics is None and config.get("action_path"): + intrinsics = np.load(Path(config["action_path"]) / "intrinsics.npy") session_config = LingBotWorldFastSessionConfig( prompt=config.get("prompt", ""), @@ -104,9 +116,12 @@ def create_session(self, config: dict) -> str: seed=int(config.get("seed", 42)), max_attention_size=config.get("max_attention_size"), max_sequence_length=int(config.get("max_sequence_length", 512)), - control_move_step=float(config.get("control_move_step", 0.18)), - control_yaw_step_degrees=float(config.get("control_yaw_step_degrees", 10.0)), - control_lateral_step=float(config.get("control_lateral_step", 0.12)), + intrinsics=intrinsics, + control_move_step=float(config.get("control_move_step", 0.05)), + control_yaw_step_degrees=float(config.get("control_yaw_step_degrees", 2.0)), + control_lateral_step=float(config.get("control_lateral_step", 0.05)), + control_pitch_step_degrees=float(config.get("control_pitch_step_degrees", 2.0)), + control_pitch_limit_degrees=float(config.get("control_pitch_limit_degrees", 85.0)), show_control_hud=bool(config.get("show_control_hud", True)), ) control_context = self.pipeline.control_context(session_config) @@ -177,24 +192,71 @@ def _direction_from_chunk(chunk: dict) -> str | None: @staticmethod def _is_explicit_control_chunk(chunk: dict) -> bool: - return "control_tensor" in chunk or (chunk.get("poses") is not None and chunk.get("intrinsics") is not None) + return "control_tensor" in chunk or chunk.get("poses") is not None @staticmethod - def _pose_matrix(yaw: float, position: list[float]) -> list[list[float]]: - cos_y = math.cos(yaw) - sin_y = math.sin(yaw) - return [ - [cos_y, 0.0, sin_y, position[0]], - [0.0, 1.0, 0.0, position[1]], - [-sin_y, 0.0, cos_y, position[2]], - [0.0, 0.0, 0.0, 1.0], - ] - - def _default_intrinsics(self) -> list[list[float]]: - width = float(self.pipeline.config.orig_width) - height = float(self.pipeline.config.orig_height) - focal = max(width, height) - return [[focal, focal, width * 0.5, height * 0.5]] + def _rotation_matrix(axis: str, angle: float) -> np.ndarray: + cos_a = math.cos(angle) + sin_a = math.sin(angle) + if axis == "x": + return np.asarray([[1.0, 0.0, 0.0], [0.0, cos_a, -sin_a], [0.0, sin_a, cos_a]]) + if axis == "y": + return np.asarray([[cos_a, 0.0, sin_a], [0.0, 1.0, 0.0], [-sin_a, 0.0, cos_a]]) + raise ValueError(f"Unsupported rotation axis: {axis}") + + @classmethod + def _integrate_camera_step( + cls, + c2w: np.ndarray, + pitch: float, + controls: set[str], + config: LingBotWorldFastSessionConfig, + ) -> tuple[np.ndarray, float]: + pitch_delta = 0.0 + pitch_step = math.radians(float(config.control_pitch_step_degrees)) + if "i" in controls: + pitch_delta += pitch_step + if "k" in controls: + pitch_delta -= pitch_step + pitch_limit = math.radians(float(config.control_pitch_limit_degrees)) + new_pitch = pitch + pitch_delta + if -pitch_limit <= new_pitch <= pitch_limit: + pitch = new_pitch + else: + pitch_delta = 0.0 + + yaw_delta = 0.0 + yaw_step = math.radians(float(config.control_yaw_step_degrees)) + if "j" in controls: + yaw_delta -= yaw_step + if "l" in controls: + yaw_delta += yaw_step + + rotation = c2w[:3, :3] + rotation_new = cls._rotation_matrix("y", yaw_delta) @ rotation @ cls._rotation_matrix("x", pitch_delta) + forward = np.asarray([rotation_new[0, 2], 0.0, rotation_new[2, 2]]) + right = np.asarray([rotation_new[0, 0], 0.0, rotation_new[2, 0]]) + forward_norm = np.linalg.norm(forward) + right_norm = np.linalg.norm(right) + if forward_norm > 0: + forward /= forward_norm + 1e-6 + if right_norm > 0: + right /= right_norm + 1e-6 + + movement = np.zeros(3) + if "w" in controls: + movement += forward * float(config.control_move_step) + if "s" in controls: + movement -= forward * float(config.control_move_step) + if "d" in controls: + movement += right * float(config.control_lateral_step) + if "a" in controls: + movement -= right * float(config.control_lateral_step) + + result = np.eye(4) + result[:3, :3] = rotation_new + result[:3, 3] = c2w[:3, 3] + movement + return result, pitch @staticmethod def _draw_triangle( @@ -222,7 +284,17 @@ def _overlay_control_hud(cls, frames: list[Image.Image], controls: list[str] | N if not controls: return frames - active = set(controls) + controls_active = set(controls) + active = { + direction + for direction, source_controls in { + "up": {"w"}, + "down": {"s"}, + "left": {"a", "j"}, + "right": {"d", "l"}, + }.items() + if controls_active & source_controls + } out: list[Image.Image] = [] for frame in frames: image = frame.convert("RGB") @@ -264,52 +336,40 @@ def _build_directional_control_chunk( with state.control_lock: controls = set(state.pressed_controls) | set(state.queued_controls) state.queued_controls.clear() - yaw = float(state.control_yaw) - position = [float(v) for v in state.control_position] + c2w = np.asarray(state.control_c2w, dtype=np.float64) + pitch = float(state.control_pitch) + initialized = state.control_initialized + + if not controls: + return None latent_frames = control_context.chunk_size - move_step = float(state.config.control_move_step) - yaw_step = math.radians(float(state.config.control_yaw_step_degrees)) - lateral_step = float(state.config.control_lateral_step) poses: list[list[list[float]]] = [] action_rows: list[list[float]] = [] + previous_pose = c2w.copy() if initialized else None - for _ in range(latent_frames): - strafe = 0 - if "left" in controls and "right" not in controls: - yaw += yaw_step - strafe = -1 - elif "right" in controls and "left" not in controls: - yaw -= yaw_step - strafe = 1 - - forward_x = math.sin(yaw) - forward_z = math.cos(yaw) - right_x = math.cos(yaw) - right_z = -math.sin(yaw) - if "up" in controls and "down" not in controls: - position[0] += forward_x * move_step - position[2] += forward_z * move_step - elif "down" in controls and "up" not in controls: - position[0] -= forward_x * move_step - position[2] -= forward_z * move_step - if strafe: - position[0] += right_x * lateral_step * strafe - position[2] += right_z * lateral_step * strafe - - poses.append(self._pose_matrix(yaw, position)) + if not initialized: + poses.append(c2w.tolist()) + action_rows.append([1.0 if name in controls else 0.0 for name in _ACTION_DIRECTIONS]) + intervals = latent_frames if initialized else latent_frames - 1 + for _ in range(intervals): + for _ in range(4): + c2w, pitch = self._integrate_camera_step(c2w, pitch, controls, state.config) + poses.append(c2w.tolist()) action_rows.append([1.0 if name in controls else 0.0 for name in _ACTION_DIRECTIONS]) with state.control_lock: - state.control_yaw = yaw - state.control_position = position + state.control_c2w = c2w.tolist() + state.control_pitch = pitch + state.control_initialized = True chunk: dict = { "type": "control", "poses": poses, - "intrinsics": self._default_intrinsics(), "controls": sorted(controls), } + if previous_pose is not None: + chunk["previous_pose"] = previous_pose.tolist() if control_context.control_type == "act": chunk["action"] = action_rows return chunk @@ -326,8 +386,9 @@ def _update_direction_controls(self, state: LingBotWorldFastSessionState, chunk: elif event == "reset": state.pressed_controls.clear() state.queued_controls.clear() - state.control_position = [0.0, 0.0, 0.0] - state.control_yaw = 0.0 + state.control_c2w = np.eye(4).tolist() + state.control_pitch = 0.0 + state.control_initialized = False else: state.pressed_controls.add(direction) state.queued_controls.add(direction) @@ -382,7 +443,15 @@ def _run_worker_loop( ) chunk_index = 0 while state.active and runtime.active: - incoming = state.pending_inputs.get() + with state.control_lock: + controls_held = bool(state.pressed_controls) + if controls_held: + try: + incoming = state.pending_inputs.get_nowait() + except queue.Empty: + incoming = {"type": "direction_control"} + else: + incoming = state.pending_inputs.get() if incoming.get("type") == "stop": break @@ -406,7 +475,7 @@ def _run_worker_loop( else: directional_chunk = self._build_directional_control_chunk(state, control_context) if directional_chunk is None: - raise RuntimeError("Directional action could not be converted into a control chunk") + continue applied_controls = directional_chunk["controls"] emit_status( "applying_direction_control", @@ -415,6 +484,7 @@ def _run_worker_loop( move_step=state.config.control_move_step, yaw_step_degrees=state.config.control_yaw_step_degrees, lateral_step=state.config.control_lateral_step, + pitch_step_degrees=state.config.control_pitch_step_degrees, ) control = control_builder.defer(directional_chunk) @@ -465,7 +535,9 @@ def push_chunk(self, session_id: str, chunk: dict) -> None: return is_direction_action = chunk.get("type") == "control" and self._update_direction_controls(state, chunk) if is_direction_action: - state.pending_inputs.put({"type": "direction_control"}) + event = str(chunk.get("event") or chunk.get("action") or "press").lower() + if event not in {"release", "keyup", "end", "reset"}: + state.pending_inputs.put({"type": "direction_control"}) return state.pending_inputs.put(chunk) diff --git a/telefuser/pipelines/lingbot_world_fast/session.py b/telefuser/pipelines/lingbot_world_fast/session.py index cf9b964..3a25c5a 100644 --- a/telefuser/pipelines/lingbot_world_fast/session.py +++ b/telefuser/pipelines/lingbot_world_fast/session.py @@ -29,9 +29,12 @@ class LingBotWorldFastSessionConfig: max_sequence_length: int = 512 # Optional CacheSeek world_kv reuse. None preserves baseline behavior. world_kv_binding: object | None = None - control_move_step: float = 0.18 - control_yaw_step_degrees: float = 10.0 - control_lateral_step: float = 0.12 + intrinsics: object | None = None + control_move_step: float = 0.05 + control_yaw_step_degrees: float = 2.0 + control_lateral_step: float = 0.05 + control_pitch_step_degrees: float = 2.0 + control_pitch_limit_degrees: float = 85.0 show_control_hud: bool = True @@ -113,6 +116,14 @@ class LingBotWorldFastSessionState: active: bool = True pressed_controls: set[str] = field(default_factory=set) queued_controls: set[str] = field(default_factory=set) - control_position: list[float] = field(default_factory=lambda: [0.0, 0.0, 0.0]) - control_yaw: float = 0.0 + control_c2w: list[list[float]] = field( + default_factory=lambda: [ + [1.0, 0.0, 0.0, 0.0], + [0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 1.0, 0.0], + [0.0, 0.0, 0.0, 1.0], + ] + ) + control_pitch: float = 0.0 + control_initialized: bool = False control_lock: object = field(default_factory=threading.Lock) diff --git a/telefuser/service/core/container.py b/telefuser/service/core/container.py index 4f7a598..c04f607 100644 --- a/telefuser/service/core/container.py +++ b/telefuser/service/core/container.py @@ -250,6 +250,7 @@ def initialize_stream_service( self, pipe_path: str, skip_validation: bool = False, + gpu_num: int = 1, ) -> bool: """Initialize stream pipeline service (alternative to initialize_all).""" self.stream_pipeline_service = StreamPipelineService( @@ -258,6 +259,7 @@ def initialize_stream_service( ) return self.stream_pipeline_service.start_service( ppl_file=pipe_path, + gpu_num=gpu_num, skip_validation=skip_validation, ) diff --git a/telefuser/service/core/stream_pipeline_service.py b/telefuser/service/core/stream_pipeline_service.py index e7095d1..7b6f0b5 100644 --- a/telefuser/service/core/stream_pipeline_service.py +++ b/telefuser/service/core/stream_pipeline_service.py @@ -17,6 +17,7 @@ from __future__ import annotations import asyncio +import inspect import threading from collections.abc import AsyncGenerator from types import ModuleType @@ -79,7 +80,9 @@ class StreamPipelineService: """Loads a stream pipeline module and drives streaming execution. Pipeline file convention: - def get_service() -> ServerPushService | BidirectionalService + def get_service(gpu_num: int = 1) -> ServerPushService | BidirectionalService + + Factories without a ``gpu_num`` parameter remain supported. """ def __init__( @@ -109,7 +112,7 @@ def __init__( # -- lifecycle ----------------------------------------------------------- - def start_service(self, ppl_file: str, skip_validation: bool = False) -> bool: + def start_service(self, ppl_file: str, skip_validation: bool = False, gpu_num: int = 1) -> bool: """Load module, call get_service(), detect mode, and start.""" if self.is_running: logger.warning("Stream service is already running") @@ -135,7 +138,12 @@ def start_service(self, ppl_file: str, skip_validation: bool = False) -> bool: "returning a ServerPushService or BidirectionalService" ) - self.service = self._module.get_service() + get_service = self._module.get_service + signature = inspect.signature(get_service) + accepts_gpu_num = "gpu_num" in signature.parameters or any( + parameter.kind is inspect.Parameter.VAR_KEYWORD for parameter in signature.parameters.values() + ) + self.service = get_service(gpu_num=gpu_num) if accepts_gpu_num else get_service() self.stream_mode = self._detect_mode(self.service) self.service.start() self.is_running = True diff --git a/telefuser/service/main.py b/telefuser/service/main.py index 4f5aeff..2bd88ed 100644 --- a/telefuser/service/main.py +++ b/telefuser/service/main.py @@ -94,6 +94,7 @@ def run_stream_server( enable_rate_limit: bool = True, skip_validation: bool = False, security_level: str | None = None, + gpu_num: int = 1, ) -> None: """Run the TeleFuser stream server. @@ -109,7 +110,11 @@ def run_stream_server( container = ServiceContainer.create(config=server_config) - if not container.initialize_stream_service(pipe_path=pipe_path, skip_validation=skip_validation): + if not container.initialize_stream_service( + pipe_path=pipe_path, + gpu_num=gpu_num, + skip_validation=skip_validation, + ): raise RuntimeError("Failed to initialize stream service") logger.info("Stream service initialized successfully") diff --git a/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py b/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py index aa1b4d2..54f5121 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_control_alignment.py @@ -28,6 +28,7 @@ def _builder() -> LingBotWorldFastControlBuilder: latent_w=1, latent_frames=3, chunk_size=3, + intrinsics=torch.tensor([8.0, 8.0, 4.0, 4.0]), ) ) @@ -91,6 +92,7 @@ def test_external_builder_matches_legacy_offline_camera_control_math() -> None: latent_w=1, latent_frames=3, chunk_size=3, + intrinsics=torch.tensor([8.0, 8.0, 4.0, 4.0]), ) controls = torch.cat(LingBotWorldFastControlBuilder(context).build_sequence(poses, intrinsics), dim=2) @@ -123,16 +125,25 @@ def test_external_builder_matches_legacy_offline_camera_control_math() -> None: assert torch.equal(controls, legacy) -def test_offline_control_window_rejects_short_action_or_intrinsics() -> None: +def test_offline_control_window_keeps_first_intrinsics_and_rejects_short_action() -> None: poses = np.repeat(np.eye(4, dtype=np.float32)[None], 9, axis=0) + intrinsics = np.arange(32, dtype=np.float32).reshape(8, 4) - with pytest.raises(ValueError, match="Intrinsics sequence"): - truncate_control_sequence(poses, np.ones((8, 4), dtype=np.float32), None, frame_num=9) with pytest.raises(ValueError, match="Action sequence"): truncate_control_sequence(poses, np.ones(4, dtype=np.float32), np.ones((8, 4), dtype=np.float32), frame_num=9) + _, fixed_intrinsics, _ = truncate_control_sequence(poses, intrinsics, None, frame_num=9) + np.testing.assert_array_equal(fixed_intrinsics, intrinsics[0]) -def test_action_mode_requires_actions_and_camera_mode_accepts_per_frame_intrinsics() -> None: + +def test_offline_control_window_rejects_empty_intrinsics() -> None: + poses = np.repeat(np.eye(4, dtype=np.float32)[None], 9, axis=0) + + with pytest.raises(ValueError, match="at least one row"): + truncate_control_sequence(poses, np.empty((0, 4), dtype=np.float32), None, frame_num=9) + + +def test_action_mode_requires_actions_and_camera_mode_fixes_per_frame_intrinsics() -> None: poses = np.repeat(np.eye(4, dtype=np.float32)[None], 3, axis=0) intrinsics = np.repeat(np.array([[8.0, 8.0, 4.0, 4.0]], dtype=np.float32), 3, axis=0) @@ -151,6 +162,49 @@ def test_action_mode_requires_actions_and_camera_mode_accepts_per_frame_intrinsi latent_w=1, latent_frames=3, chunk_size=3, + intrinsics=torch.tensor([8.0, 8.0, 4.0, 4.0]), ) control = LingBotWorldFastControlBuilder(camera_context).build({"poses": poses, "intrinsics": intrinsics}) assert control.shape == (1, 384, 3, 1, 1) + + resampled = LingBotWorldFastControlBuilder._resample_intrinsics( + torch.tensor([[8.0, 8.0, 4.0, 4.0], [9.0, 9.0, 5.0, 5.0]]), + target_frames=3, + ) + torch.testing.assert_close(resampled, torch.tensor([[8.0, 8.0, 4.0, 4.0]]).repeat(3, 1)) + + +def test_online_builder_uses_session_intrinsics_and_preserves_chunk_boundary_delta() -> None: + context = LingBotWorldFastControlContext( + control_type="cam", + device="cpu", + control_dtype=torch.float32, + orig_height=8, + orig_width=8, + height=8, + width=8, + latent_h=1, + latent_w=1, + latent_frames=6, + chunk_size=3, + intrinsics=torch.tensor([8.0, 8.0, 4.0, 4.0]), + ) + builder = LingBotWorldFastControlBuilder(context) + captured_intrinsics: list[torch.Tensor] = [] + + def capture(poses: torch.Tensor, intrinsics: torch.Tensor, action: object | None) -> torch.Tensor: + captured_intrinsics.append(intrinsics) + return poses + + builder._build_tensor = capture + poses = np.repeat(np.eye(4, dtype=np.float32)[None], 3, axis=0) + poses[:, 2, 3] = [0.3, 0.4, 0.5] + previous_pose = np.eye(4, dtype=np.float32) + previous_pose[2, 3] = 0.2 + + relative = builder.build({"poses": poses, "previous_pose": previous_pose}) + + assert not torch.equal(relative[0], torch.eye(4)) + torch.testing.assert_close(relative[:, 2, 3], torch.ones(3)) + assert len(captured_intrinsics) == 1 + torch.testing.assert_close(captured_intrinsics[0], context.intrinsics.repeat(3, 1)) diff --git a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py index f611b3a..ee6922a 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py @@ -1,8 +1,10 @@ import asyncio import threading +from pathlib import Path from types import SimpleNamespace from unittest.mock import MagicMock, patch +import numpy as np import pytest import torch from PIL import Image @@ -84,10 +86,57 @@ def test_direction_action_updates_state_and_wakes_worker() -> None: {"type": "control", "direction": "up", "event": "press"}, ) - assert state.pressed_controls == {"up"} + assert state.pressed_controls == {"w"} assert state.pending_inputs.get_nowait() == {"type": "direction_control"} +def test_release_stops_control_without_scheduling_stationary_generation() -> None: + service = LingBotWorldFastService(MagicMock()) + state = _state() + service._sessions["session-a"] = state + state.pressed_controls.add("w") + + service.push_chunk("session-a", {"type": "control", "key": "ArrowUp", "event": "release"}) + + assert state.pressed_controls == set() + assert state.pending_inputs.empty() + + +def test_directional_chunks_match_source_video_rate_integration_and_boundary() -> None: + service = LingBotWorldFastService(MagicMock()) + state = _state() + state.pressed_controls.add("w") + context = SimpleNamespace(control_type="cam", chunk_size=3) + + first = service._build_directional_control_chunk(state, context) + second = service._build_directional_control_chunk(state, context) + + assert first is not None + assert second is not None + assert "previous_pose" not in first + first_poses = np.asarray(first["poses"]) + second_poses = np.asarray(second["poses"]) + np.testing.assert_allclose(first_poses[:, 2, 3], [0.0, 0.2, 0.4], rtol=0, atol=1e-6) + np.testing.assert_allclose(np.asarray(second["previous_pose"])[2, 3], 0.4, rtol=0, atol=1e-6) + np.testing.assert_allclose(second_poses[:, 2, 3], [0.6, 0.8, 1.0], rtol=0, atol=1e-6) + + +def test_wasd_ijkl_and_arrow_aliases_have_distinct_translation_and_rotation_controls() -> None: + service = LingBotWorldFastService(MagicMock()) + state = _state() + context = SimpleNamespace(control_type="cam", chunk_size=3) + + state.pressed_controls.add("j") + yaw_chunk = service._build_directional_control_chunk(state, context) + + assert yaw_chunk is not None + expected_yaw = np.deg2rad(-16.0) + np.testing.assert_allclose(np.asarray(yaw_chunk["poses"])[-1, 0, 0], np.cos(expected_yaw), atol=1e-6) + assert service._direction_from_chunk({"key": "ArrowLeft"}) == "j" + assert service._direction_from_chunk({"key": "KeyA"}) == "a" + assert service._direction_from_chunk({"key": "KeyI"}) == "i" + + def test_service_stop_closes_sessions_before_pipeline() -> None: pipeline = MagicMock() service = LingBotWorldFastService(pipeline) @@ -114,6 +163,25 @@ def test_create_session_rejects_invalid_pipeline_configuration() -> None: assert service._sessions == {} +def test_create_session_initializes_fixed_intrinsics_from_action_path() -> None: + pipeline = MagicMock() + service = LingBotWorldFastService(pipeline) + intrinsics = np.asarray([[8.0, 8.0, 4.0, 4.0], [9.0, 9.0, 4.0, 4.0]]) + + with patch("telefuser.pipelines.lingbot_world_fast.service.np.load", return_value=intrinsics) as load: + session_id = service.create_session( + { + "image": Image.new("RGB", (8, 8)), + "action_path": "/controls", + } + ) + + load.assert_called_once_with(Path("/controls") / "intrinsics.npy") + session_config = pipeline.control_context.call_args.args[0] + assert session_config.intrinsics is intrinsics + assert service._sessions[session_id].control_context is pipeline.control_context.return_value + + def test_pull_chunks_drains_terminal_messages_after_session_becomes_inactive() -> None: service = LingBotWorldFastService(MagicMock()) state = _state() diff --git a/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py b/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py index 9a23f46..4bed600 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py @@ -31,17 +31,27 @@ def test_stream_get_pipeline_maps_ppl_config_to_internal_workers() -> None: assert config.parallel_config.enable_fsdp is False -def test_stream_get_service_uses_ppl_pipeline_and_fps() -> None: +def test_stream_get_service_uses_passed_gpu_num_and_ppl_fps() -> None: pipeline = MagicMock() with patch.object(stream_example, "get_pipeline", return_value=pipeline) as get_pipeline: - service = stream_example.get_service() + service = stream_example.get_service(gpu_num=4) - get_pipeline.assert_called_once_with() + get_pipeline.assert_called_once_with(parallelism=4) assert service.pipeline is pipeline assert service.default_fps == stream_example.PPL_CONFIG["target_fps"] +def test_stream_get_service_retains_example_default_gpu_num() -> None: + pipeline = MagicMock() + + with patch.object(stream_example, "get_pipeline", return_value=pipeline) as get_pipeline: + service = stream_example.get_service() + + get_pipeline.assert_called_once_with(parallelism=stream_example.PPL_CONFIG["parallelism"]) + assert service.pipeline is pipeline + + def test_stream_get_pipeline_reads_tf_model_zoo_path(monkeypatch) -> None: monkeypatch.setenv("TF_MODEL_ZOO_PATH", "/models") diff --git a/tests/unit/service/test_service_routes.py b/tests/unit/service/test_service_routes.py index f982f8d..974ce76 100644 --- a/tests/unit/service/test_service_routes.py +++ b/tests/unit/service/test_service_routes.py @@ -308,6 +308,8 @@ def fake_run_stream_server(pipe_path, port, host, **kwargs): [ "stream-serve", "stream_pipeline.py", + "--gpu-num", + "3", "--security-level", "none", ], @@ -315,6 +317,7 @@ def fake_run_stream_server(pipe_path, port, host, **kwargs): assert result.exit_code == 0 assert captured["validated"] == "stream_pipeline.py" + assert captured["gpu_num"] == 3 assert captured["security_level"] == "none" assert captured["skip_validation"] is False @@ -419,6 +422,44 @@ def test_stream_pipeline_service_uses_injected_config() -> None: assert service.validation_config.strict_validation is False +def test_stream_pipeline_service_passes_gpu_num_to_factory(monkeypatch: pytest.MonkeyPatch) -> None: + captured = {} + + class FakeBidirectionalService: + def start(self) -> None: + captured["started"] = True + + def stop(self) -> None: + pass + + def create_session(self, config: dict) -> str: + return "session" + + def push_chunk(self, session_id: str, chunk: dict) -> None: + pass + + async def pull_chunks(self, session_id: str): + if False: + yield {} + + def close_session(self, session_id: str) -> None: + pass + + def get_service(gpu_num: int) -> FakeBidirectionalService: + captured["gpu_num"] = gpu_num + return FakeBidirectionalService() + + module = types.SimpleNamespace(get_service=get_service) + monkeypatch.setattr( + "telefuser.service.core.stream_pipeline_service.load_pipeline_module", + lambda *args, **kwargs: (module, "test_stream_module"), + ) + service = StreamPipelineService(config=ServerConfig(security_level=SecurityLevel.NONE)) + + assert service.start_service("stream_pipeline.py", gpu_num=3, skip_validation=True) + assert captured == {"gpu_num": 3, "started": True} + + def test_webrtc_routes_use_api_server_config(monkeypatch: pytest.MonkeyPatch) -> None: captured = {} From e1fd69440f443e95872be42f8831cc8a0fe5952f Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Tue, 14 Jul 2026 05:17:25 +0000 Subject: [PATCH 8/9] feat(lingbot): extend interactive WebRTC streaming - enable four-worker FSDP streaming and enforce the tested 20-second session limit - add duration-based WebRTC controls, separate translation and rotation pads, and H100-aligned defaults - document local, VS Code, and OpenSSH access with TURN-over-TCP setup in English and Chinese - cover duration validation, FSDP configuration, and demo defaults with unit tests Verification: - .venv/bin/python -m pytest -q tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py tests/unit/pipelines/lingbot_world_fast/test_stream_example.py - git diff --cached --check - four-H100 321-frame WebRTC E2E generation (27/27 chunks) --- README.md | 43 +++- docs/en/stream_server.md | 152 ++++++++++--- docs/zh/stream_server.md | 148 ++++++++++--- examples/lingbot/README.md | 199 +++++++++++++++++- .../lingbot_world_fast_image_to_video_h100.py | 7 +- examples/lingbot/stream_lingbot_world_fast.py | 2 +- .../webrtc_bidirectional_demo.py | 156 +++++++++++--- .../pipelines/lingbot_world_fast/service.py | 16 +- .../test_service_action_loop.py | 24 +++ .../lingbot_world_fast/test_stream_example.py | 12 +- 10 files changed, 647 insertions(+), 112 deletions(-) diff --git a/README.md b/README.md index 94e22fb..9effb0a 100644 --- a/README.md +++ b/README.md @@ -82,19 +82,46 @@ video = pipe( TeleFuser includes a bidirectional WebRTC demo for `LingBot-World-Fast`. ```bash -# Set TF_MODEL_ZOO_PATH and PPL_CONFIG["parallelism"] in: -# examples/lingbot/stream_lingbot_world_fast.py - +TF_MODEL_ZOO_PATH=/path/to/model_zoo \ +CUDA_VISIBLE_DEVICES=0,1,2,3 \ +TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478?transport=tcp' \ +TELEFUSER_TURN_USERNAME=telefuser \ +TELEFUSER_TURN_CREDENTIAL=telefuser-turn \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - -p 8088 \ - --skip-validation + --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation python examples/stream_server/webrtc_bidirectional_demo.py \ - --server-url http://localhost:8088 \ - --image-path /path/to/input.png + --server-url http://127.0.0.1:8088 \ + --port 8091 \ + --image-path examples/data/lingbot_world_fast/image.jpg \ + --action-path examples/data/lingbot_world_fast \ + --frame-num 321 --chunk-size 3 --sample-shift 10.0 --fps 16 \ + --turn-url 'turn:localhost:3478?transport=tcp' \ + --turn-username telefuser --turn-credential telefuser-turn \ + --force-turn-relay --ice-gather-timeout-ms 30000 --no-open +``` + +This starts a continuous session where the client sends control messages over a WebRTC DataChannel and receives +generated video frames over media tracks. When the browser runs on a laptop through VS Code Remote SSH, configure +TURN over TCP and forward ports `8091` and `3478`; port `8088` does not need forwarding because the demo proxies +signaling requests. Keep local port `3478` equal to remote port `3478`; the forwarded 8091 port may use any available +local port. Without VS Code, run the equivalent tunnel from a terminal on the laptop: + +```bash +ssh -N -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 \ + -L 8091:127.0.0.1:8091 \ + -L 3478:127.0.0.1:3478 \ + USER@SERVER_HOST ``` -This starts a continuous session where the client sends control messages over a WebRTC DataChannel and receives generated video frames over media tracks. +Then open `http://localhost:8091`. The TURN command and credentials above are development examples. See the +[stream server guide](docs/en/stream_server.md#lingbot-world-fast-streaming) and the +[LingBot example README](examples/lingbot/README.md) for coturn startup and the tested four-H100 setup. + +If the browser runs on the same physical machine as TeleFuser, no SSH tunnel or TURN server is needed. Unset all +`TELEFUSER_TURN_*` variables, start the service on `127.0.0.1:8088`, run the demo without any `--turn-*` or +`--force-turn-relay` arguments, and open `http://localhost:8091`. This does not apply when only the shell is on the +server through SSH but the browser still runs on a laptop. ### 3. Batch Service Mode diff --git a/docs/en/stream_server.md b/docs/en/stream_server.md index 1ca1731..08bd3db 100644 --- a/docs/en/stream_server.md +++ b/docs/en/stream_server.md @@ -563,6 +563,38 @@ LingBot-World-Fast requires two sets of weights: | Base model subdirectory | `/storage/model_zoo/Wan2.2-I2V-A14B` | Base Wan2.2 I2V weights containing VAE, T5 text encoder, and tokenizer | | Fast model subdirectory | `/storage/model_zoo/lingbot/lingbot-world-fast` | LingBot-World-Fast DiT weights | +#### VS Code Remote SSH: TURN over TCP + +When the page is opened by a laptop browser through VS Code Remote SSH, the browser and TeleFuser are not on the +same network interface even though both URLs use `localhost`. SDP signaling can use the demo's HTTP proxy, but RTP +media still needs an ICE route. VS Code forwards TCP rather than arbitrary UDP relay ports, so use TURN over TCP. + +For development on a trusted host, install coturn and run a loopback-only server in a separate terminal: + +```bash +sudo apt-get install -y coturn + +turnserver -n -m 1 \ + --listening-ip=127.0.0.1 \ + --relay-ip=127.0.0.1 \ + --listening-port=3478 \ + --min-port=49160 --max-port=49200 \ + --user=telefuser:telefuser-turn \ + --realm=telefuser.local \ + --fingerprint --lt-cred-mech \ + --no-tls --no-dtls --no-cli \ + --allow-loopback-peers \ + --simple-log --log-file=/tmp/telefuser-turn.log +``` + +`--allow-loopback-peers` is needed only because coturn and TeleFuser are peers on the same host. This command is for +local development and must not be exposed directly to the internet. Verify the TCP allocation and credentials: + +```bash +turnutils_uclient -t -y -c \ + -u telefuser -w telefuser-turn -p 3478 127.0.0.1 +``` + #### Start the Server Set `TF_MODEL_ZOO_PATH` before starting the service and pass the worker count with `--gpu-num`. The service creates @@ -571,13 +603,17 @@ Use `CUDA_VISIBLE_DEVICES` to select the physical GPUs. ```bash TF_MODEL_ZOO_PATH=/storage/model_zoo \ -TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478' \ +CUDA_VISIBLE_DEVICES=0,1,2,3 \ +TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478?transport=tcp' \ TELEFUSER_TURN_USERNAME=telefuser \ -TELEFUSER_TURN_CREDENTIAL=your-turn-password \ +TELEFUSER_TURN_CREDENTIAL=telefuser-turn \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation ``` +The streaming example enables FSDP and Ulysses sequence parallelism. All four worker logs should show a device mesh +with `dims=[4]` and `Enabling FSDP for lingbot_world_fast_denoise`. + Wait for the following log line before connecting the browser demo: ```text @@ -592,20 +628,22 @@ curl --noproxy '*' http://127.0.0.1:8088/v1/service/health #### Start the Browser Demo -When using VS Code Remote SSH to access the server from a laptop browser, browser JavaScript runs locally. In this case, use TURN and forward the remote `3478` port to local `3478`. +When using VS Code Remote SSH, run the demo on the remote TeleFuser host. The demo proxies signaling and session +requests to 8088 by default. ```bash python examples/stream_server/webrtc_bidirectional_demo.py \ - --server-url http://localhost:8088 \ + --server-url http://127.0.0.1:8088 \ --port 8091 \ - --image-path /tmp/lingbot_test_input.png \ + --image-path examples/data/lingbot_world_fast/image.jpg \ --action-path examples/data/lingbot_world_fast \ - --frame-num 81 \ + --frame-num 321 \ --chunk-size 3 \ + --sample-shift 10.0 \ --fps 16 \ --turn-url 'turn:localhost:3478?transport=tcp' \ --turn-username telefuser \ - --turn-credential your-turn-password \ + --turn-credential telefuser-turn \ --force-turn-relay \ --ice-gather-timeout-ms 30000 \ --no-open @@ -617,46 +655,90 @@ Open in browser: http://localhost:8091 ``` +In the VS Code **Ports** panel, forward the following remote TCP ports: + +| Remote port | Local port | Purpose | +|-------------|------------|---------| +| `8091` | Any available port | Demo HTML and proxied `/v1/stream/webrtc/*` requests | +| `3478` | `3478` | TURN-over-TCP connection referenced by `turn:localhost:3478` | + +Port 8088 does not need forwarding while the demo proxy is enabled. Port 3478 must retain local port 3478 unless +the demo's `--turn-url` is changed to match another local port. Open the exact 8091 URL displayed by VS Code using +`http://`; `localhost` is a browser secure context, so HTTPS is not needed for this development workflow. + +Do not forward the coturn relay range (`49160-49200`) through VS Code. Browser relay traffic stays inside the +forwarded TURN TCP connection; the relay range is used on the remote host between coturn and the WebRTC peer. +Internet-facing production TURN is different and must expose its configured relay range through the firewall. + +If you use a normal SSH client instead of the VS Code Ports panel, start the tunnel in a separate laptop terminal. +Replace `USER` and `SERVER_HOST` with the server login: + +```bash +ssh -N \ + -o ExitOnForwardFailure=yes \ + -o ServerAliveInterval=30 \ + -L 8091:127.0.0.1:8091 \ + -L 3478:127.0.0.1:3478 \ + USER@SERVER_HOST +``` + +Keep the tunnel running and open `http://localhost:8091`. Add `-p SSH_PORT` for a non-default SSH port or +`-i /path/to/private_key` for a specific identity file. Omit `-N` if the same connection should also open an +interactive shell. + +If local port 8091 is occupied, use `-L 18091:127.0.0.1:8091` and open `http://localhost:18091`. If local port 3478 +is occupied, use `-L 13478:127.0.0.1:3478` and pass +`--turn-url 'turn:localhost:13478?transport=tcp'` to the browser demo. Do not change the server-side +`TELEFUSER_TURN_SERVER`, which still connects to coturn at remote port 3478. + `--image-path` and `--action-path` are server-side paths, not laptop-local paths. For real-time keyboard control, the service loads only `intrinsics.npy` from `--action-path` and keeps its first row fixed for the session. The demo enables proxying by default; the browser only needs to access the demo port. Requests to `/v1/stream/webrtc/*` are forwarded by the demo process to `--server-url`. -#### Without TURN: View on Server Browser +#### Run the Browser and Service on the Same Machine + +If the browser and GPU service run on the same physical machine, you can skip coturn and SSH forwarding. Examples +include Chrome opened directly on the workstation or through remote desktop, VNC, or noVNC. An SSH login alone does +not make the laptop browser local: if the browser still runs on the laptop, use the TURN and port-forwarding setup +above. -If the browser actually runs on the server side (e.g., Chrome in remote desktop, VNC, or noVNC), you can skip TURN. Do not set `TELEFUSER_TURN_*` and do not pass `--turn-url` to the demo. +Do not set `TELEFUSER_TURN_*`, and do not pass `--turn-url`, TURN credentials, or `--force-turn-relay` to the demo. Server: ```bash env -u TELEFUSER_TURN_SERVER \ --u TELEFUSER_TURN_USERNAME \ --u TELEFUSER_TURN_CREDENTIAL \ -telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation + -u TELEFUSER_TURN_USERNAME \ + -u TELEFUSER_TURN_CREDENTIAL \ + TF_MODEL_ZOO_PATH=/path/to/model_zoo \ + CUDA_VISIBLE_DEVICES=0,1,2,3 \ + telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ + --gpu-num 4 -p 8088 --host 127.0.0.1 --skip-validation ``` Demo: ```bash env -u TELEFUSER_TURN_SERVER \ --u TELEFUSER_TURN_USERNAME \ --u TELEFUSER_TURN_CREDENTIAL \ -python examples/stream_server/webrtc_bidirectional_demo.py \ + -u TELEFUSER_TURN_USERNAME \ + -u TELEFUSER_TURN_CREDENTIAL \ + python examples/stream_server/webrtc_bidirectional_demo.py \ --server-url http://127.0.0.1:8088 \ --port 8091 \ - --image-path /tmp/lingbot_test_input.png \ + --image-path examples/data/lingbot_world_fast/image.jpg \ --action-path examples/data/lingbot_world_fast \ - --frame-num 81 \ + --frame-num 321 \ --chunk-size 3 \ + --sample-shift 10.0 \ --fps 16 \ --no-open ``` -Open on server browser: +Open in the browser on the same machine: ```text -http://127.0.0.1:8091 +http://localhost:8091 ``` #### Direction Control @@ -667,9 +749,9 @@ The demo supports the page D-pad, arrow keys, and the source-compatible `WASD`/` |-------|------------------| | `↑` / `W` | Move forward | | `↓` / `S` | Move backward | -| `A` / `D` | Strafe left / right | -| `←` / `J` | Yaw left | -| `→` / `L` | Yaw right | +| `←` / `A` | Strafe left | +| `→` / `D` | Strafe right | +| `J` / `L` | Yaw left / right | | `I` / `K` | Pitch up / down | Controls only affect chunks that have not yet started generating; chunks already denoising or decoding are not @@ -729,8 +811,10 @@ act` to the demo. LingBot accepts complete latent chunks only. `frame_num` must be `4n + 1`, and the resulting latent-frame count must divide evenly by `chunk_size`. With the -default chunk size of 3, valid output lengths are 9, 21, 33, ..., 81 frames; -invalid values are rejected rather than rounded down. Offline control files +default chunk size of 3, valid output lengths are 9, 21, 33, ..., 321 frames. +The browser accepts a duration and rounds down to the largest complete chunk: +10 seconds becomes 153 frames and 20 seconds becomes 321 frames at 16 FPS. +Direct API requests with invalid values are rejected. Offline control files must provide enough poses and action samples for the requested video window. Intrinsics may be either one static `(4,)` value or one `(frames, 4)` value per video frame. Explicit control tensors must match the pipeline's selected mode, @@ -738,11 +822,22 @@ device, dtype, and full latent-chunk shape. #### VRAM and Resolution -LingBot's KV cache grows with `frame_num` and output resolution. 832×480 at 81 frames approaches the 80 GB H100 VRAM limit. Start with fewer frames to verify the pipeline: +LingBot's global KV cache grows with `frame_num` and output resolution. FSDP shards model parameters, while Ulysses +shards KV heads across workers. More GPUs therefore allow longer sessions, but the scaling is not perfectly linear. +The following 832x480 configurations were tested with FSDP, `chunk_size=3`, and `sample_shift=10.0`: + +| GPUs | Duration | Frames | Result | +|------|----------|--------|--------| +| 2 H100 80 GB | 10 seconds | 153 | Passed | +| 2 H100 80 GB | 20 seconds | 321 | KV-cache CUDA OOM | +| 4 H100 80 GB | 20 seconds | 321 | Passed, 27/27 chunks | + +The four-GPU run peaked at approximately 58.6 GiB on GPU 0 and 41.6 GiB on GPUs 1-3. Start with five seconds to +verify the pipeline before selecting the maximum duration: ```bash # In the browser demo or session configuration: ---frame-num 21 +--frame-num 81 ``` Common tuning parameters: @@ -753,6 +848,9 @@ Common tuning parameters: | `--frame-num` | Reduce total generated frames and latent chunk count | | `--chunk-size` | Affect the latent chunk size per generation step | +An OOM marks the parallel worker as failed. Closing the browser session is not enough; restart the stream service +before trying another duration. + The service currently allows only one LingBot active session. Before reconnecting, click **Stop** on the demo, or call: ```bash diff --git a/docs/zh/stream_server.md b/docs/zh/stream_server.md index 458a16c..5c1b5ba 100644 --- a/docs/zh/stream_server.md +++ b/docs/zh/stream_server.md @@ -563,6 +563,38 @@ LingBot-World-Fast 需要两类权重: | 基础模型子目录 | `/storage/model_zoo/Wan2.2-I2V-A14B` | 基础 Wan2.2 I2V 权重,包含 VAE、T5 文本编码器和 tokenizer | | Fast 模型子目录 | `/storage/model_zoo/lingbot/lingbot-world-fast` | LingBot-World-Fast DiT 权重 | +#### VS Code Remote SSH:使用 TCP TURN + +通过 VS Code Remote SSH 在笔记本浏览器中打开远端页面时,浏览器和 TeleFuser 实际不在同一个网络接口。 +SDP 信令可以由 demo 的 HTTP 代理转发,但 RTP 媒体仍需要可用的 ICE 路径。VS Code 转发的是 TCP 端口, +无法直接转发任意 UDP relay 端口,因此该场景应使用 TCP TURN。 + +在可信服务器上进行开发测试时,可以安装 coturn,并在单独终端中启动仅监听 loopback 的临时服务: + +```bash +sudo apt-get install -y coturn + +turnserver -n -m 1 \ + --listening-ip=127.0.0.1 \ + --relay-ip=127.0.0.1 \ + --listening-port=3478 \ + --min-port=49160 --max-port=49200 \ + --user=telefuser:telefuser-turn \ + --realm=telefuser.local \ + --fingerprint --lt-cred-mech \ + --no-tls --no-dtls --no-cli \ + --allow-loopback-peers \ + --simple-log --log-file=/tmp/telefuser-turn.log +``` + +由于 coturn 和 TeleFuser 位于同一台服务器,测试配置需要 `--allow-loopback-peers`。该命令仅用于本地开发, +不要直接暴露到公网。可以使用以下命令验证 TCP allocation 和账号密码: + +```bash +turnutils_uclient -t -y -c \ + -u telefuser -w telefuser-turn -p 3478 127.0.0.1 +``` + #### 启动服务端 启动前设置 `TF_MODEL_ZOO_PATH`,并通过 `--gpu-num` 传入 worker 数量。TeleFuser 会在服务内部创建 @@ -570,13 +602,17 @@ Ulysses worker,因此启动命令不需要 `torchrun` 或分布式环境变量 ```bash TF_MODEL_ZOO_PATH=/storage/model_zoo \ -TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478' \ +CUDA_VISIBLE_DEVICES=0,1,2,3 \ +TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478?transport=tcp' \ TELEFUSER_TURN_USERNAME=telefuser \ -TELEFUSER_TURN_CREDENTIAL=your-turn-password \ +TELEFUSER_TURN_CREDENTIAL=telefuser-turn \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation ``` +streaming example 默认同时启用 FSDP 和 Ulysses sequence parallel。四个 worker 的日志都应出现 +`dims=[4]` 的 DeviceMesh,以及 `Enabling FSDP for lingbot_world_fast_denoise`。 + 等待日志出现以下内容后再连接浏览器 demo: ```text @@ -591,20 +627,22 @@ curl --noproxy '*' http://127.0.0.1:8088/v1/service/health #### 启动浏览器 demo -通过 VS Code Remote SSH 使用笔记本浏览器访问远端 demo 时,浏览器 JavaScript 实际运行在笔记本本地。此时建议使用 TURN,并将远端 `3478` 端口转发到本地 `3478`。 +通过 VS Code Remote SSH 使用笔记本浏览器时,在远端 TeleFuser 主机上运行 demo。demo 默认会代理到 +8088 的信令和 session 请求。 ```bash python examples/stream_server/webrtc_bidirectional_demo.py \ - --server-url http://localhost:8088 \ + --server-url http://127.0.0.1:8088 \ --port 8091 \ - --image-path /tmp/lingbot_test_input.png \ + --image-path examples/data/lingbot_world_fast/image.jpg \ --action-path examples/data/lingbot_world_fast \ - --frame-num 81 \ + --frame-num 321 \ --chunk-size 3 \ + --sample-shift 10.0 \ --fps 16 \ --turn-url 'turn:localhost:3478?transport=tcp' \ --turn-username telefuser \ - --turn-credential your-turn-password \ + --turn-credential telefuser-turn \ --force-turn-relay \ --ice-gather-timeout-ms 30000 \ --no-open @@ -616,45 +654,88 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ http://localhost:8091 ``` +在 VS Code 的 **端口(Ports)** 面板中转发以下远端 TCP 端口: + +| 远端端口 | 本地端口 | 用途 | +|----------|----------|------| +| `8091` | 任意可用端口 | demo HTML,以及代理后的 `/v1/stream/webrtc/*` 请求 | +| `3478` | `3478` | `turn:localhost:3478` 使用的 TCP TURN 连接 | + +demo 代理开启时不需要转发 8088。3478 必须保持本地端口也是 3478,除非同步修改 demo 的 +`--turn-url`。请用 `http://` 打开 VS Code 显示的准确 8091 转发地址;开发场景中的 `localhost` +属于浏览器 secure context,不要求额外配置 HTTPS。 + +不要通过 VS Code 转发 coturn 的 relay 范围(`49160-49200`)。浏览器 relay 流量封装在已转发的 TURN +TCP 连接中;relay 范围只在远端主机上的 coturn 与 WebRTC peer 之间使用。公网生产 TURN 与此不同, +必须在防火墙中开放所配置的 relay 端口范围。 + +如果不使用 VS Code 的端口面板,而是通过普通 SSH 客户端登录服务器,请在笔记本的另一个终端中建立 +隧道。将 `USER` 和 `SERVER_HOST` 替换为实际的服务器登录信息: + +```bash +ssh -N \ + -o ExitOnForwardFailure=yes \ + -o ServerAliveInterval=30 \ + -L 8091:127.0.0.1:8091 \ + -L 3478:127.0.0.1:3478 \ + USER@SERVER_HOST +``` + +保持隧道命令运行,然后打开 `http://localhost:8091`。SSH 使用非默认端口时添加 `-p SSH_PORT`,指定 +私钥时添加 `-i /path/to/private_key`。如果希望同一连接同时进入交互式 shell,可以去掉 `-N`。 + +如果笔记本的 8091 已被占用,可以改用 `-L 18091:127.0.0.1:8091`,并打开 +`http://localhost:18091`。如果本地 3478 已被占用,可以使用 `-L 13478:127.0.0.1:3478`,同时把 +浏览器 demo 参数改为 `--turn-url 'turn:localhost:13478?transport=tcp'`。服务端的 +`TELEFUSER_TURN_SERVER` 不需要修改,它仍然连接远端服务器上的 coturn 3478 端口。 + `--image-path` 和 `--action-path` 都是服务端路径,不是笔记本本地路径。实时键盘控制只会从 `--action-path` 加载 `intrinsics.npy`,并在整个会话中固定使用第一行内参。demo 默认开启代理,浏览器只需 访问 demo 端口;`/v1/stream/webrtc/*` 请求会由 demo 进程转发到 `--server-url`。 -#### 不使用 TURN:在服务器浏览器查看 +#### 浏览器和服务运行在同一台机器 + +如果浏览器和 GPU 服务运行在同一台物理机器上,可以不使用 coturn,也不需要 SSH 端口转发。例如直接在 +工作站上打开 Chrome,或者使用远程桌面、VNC、noVNC 中的服务器侧浏览器。仅通过 SSH 登录服务器并不代表 +笔记本浏览器也在服务器本机;如果浏览器仍运行在笔记本上,必须使用前面的 TURN 和端口转发方案。 -如果浏览器真的运行在服务器侧,例如远程桌面、VNC 或 noVNC 中的 Chrome,可以不使用 TURN。此时不要设置 `TELEFUSER_TURN_*`,demo 也不要传 `--turn-url`。 +该模式不要设置 `TELEFUSER_TURN_*`,demo 也不要传入 `--turn-url`、TURN 账号密码或 +`--force-turn-relay`。 服务端: ```bash env -u TELEFUSER_TURN_SERVER \ --u TELEFUSER_TURN_USERNAME \ --u TELEFUSER_TURN_CREDENTIAL \ -telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation + -u TELEFUSER_TURN_USERNAME \ + -u TELEFUSER_TURN_CREDENTIAL \ + TF_MODEL_ZOO_PATH=/path/to/model_zoo \ + CUDA_VISIBLE_DEVICES=0,1,2,3 \ + telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ + --gpu-num 4 -p 8088 --host 127.0.0.1 --skip-validation ``` demo: ```bash env -u TELEFUSER_TURN_SERVER \ --u TELEFUSER_TURN_USERNAME \ --u TELEFUSER_TURN_CREDENTIAL \ -python examples/stream_server/webrtc_bidirectional_demo.py \ + -u TELEFUSER_TURN_USERNAME \ + -u TELEFUSER_TURN_CREDENTIAL \ + python examples/stream_server/webrtc_bidirectional_demo.py \ --server-url http://127.0.0.1:8088 \ --port 8091 \ - --image-path /tmp/lingbot_test_input.png \ + --image-path examples/data/lingbot_world_fast/image.jpg \ --action-path examples/data/lingbot_world_fast \ - --frame-num 81 \ + --frame-num 321 \ --chunk-size 3 \ + --sample-shift 10.0 \ --fps 16 \ --no-open ``` -在服务器浏览器打开: +在同一台机器的浏览器中打开: ```text -http://127.0.0.1:8091 +http://localhost:8091 ``` #### 方向控制 @@ -665,9 +746,9 @@ demo 支持页面 D-pad、方向键以及与 LingBot 源码一致的 `WASD`/`IJK |------|--------------| | `↑` / `W` | 向前移动 | | `↓` / `S` | 向后移动 | -| `A` / `D` | 向左/向右横移 | -| `←` / `J` | 向左偏航 | -| `→` / `L` | 向右偏航 | +| `←` / `A` | 向左横移 | +| `→` / `D` | 向右横移 | +| `J` / `L` | 向左/向右偏航 | | `I` / `K` | 向上/向下俯仰 | 控制只会作用于“尚未开始生成”的后续 chunk;已经在 denoising 或 decoding 的 chunk 不会被即时改变。 @@ -724,18 +805,30 @@ demo 默认开启 `Control HUD`。该 HUD 会叠加在使用了方向控制的 LingBot 只接受完整 latent chunk。`frame_num` 必须为 `4n + 1`,并且得到的 latent frame 数必须能被 `chunk_size` 整除。默认 `chunk_size=3` 时,合法输出帧数为 -9、21、33、…、81;非法值会直接报错,不再向下截断。离线 control 文件必须提供覆盖 +9、21、33、…、321。浏览器接收时长输入,并向下换算为最大合法完整 chunk:16 FPS 下, +10 秒对应 153 帧,20 秒对应 321 帧。直接 API 请求中的非法值会报错。离线 control 文件必须提供覆盖 目标视频窗口的 pose 和 action。intrinsics 可以是单个静态 `(4,)` 值,也可以是逐视频帧 的 `(frames, 4)` 值。显式 control tensor 必须与 pipeline 的控制模式、device、dtype 和完整 latent-chunk shape 一致。 #### 显存与分辨率 -LingBot 的 KV cache 会随 `frame_num` 和输出分辨率增长。832x480、81 帧接近 80GB H100 的显存上限,推荐先减少帧数验证链路: +LingBot 的全局 KV cache 会随 `frame_num` 和输出分辨率增长。FSDP 负责分片模型参数,Ulysses 会在 +worker 之间分摊 KV heads,因此更多 GPU 可以支持更长 session,但不会完全线性扩展。以下配置已在 +832x480、`chunk_size=3`、`sample_shift=10.0` 下完成实测: + +| GPU | 时长 | 帧数 | 结果 | +|-----|------|------|------| +| 2 张 H100 80 GB | 10 秒 | 153 | 通过 | +| 2 张 H100 80 GB | 20 秒 | 321 | KV cache CUDA OOM | +| 4 张 H100 80 GB | 20 秒 | 321 | 通过,27/27 chunks | + +四卡 20 秒测试峰值约为 GPU0 58.6 GiB,GPU1-3 各 41.6 GiB。建议先使用 5 秒验证完整链路,再选择 +最大时长: ```bash # 在浏览器 demo 或 session 配置中: ---frame-num 21 +--frame-num 81 ``` 常用调参方向: @@ -746,6 +839,9 @@ LingBot 的 KV cache 会随 `frame_num` 和输出分辨率增长。832x480、81 | `--frame-num` | 降低总生成帧数和 latent chunk 数 | | `--chunk-size` | 影响每次生成的 latent chunk 大小 | +发生 OOM 后 parallel worker 会被标记为 failed。此时仅关闭浏览器 session 不足以恢复,必须重启 +stream service 后才能继续测试。 + 服务当前只允许一个 LingBot active session。重新连接前请点击 Stop,或调用: ```bash diff --git a/examples/lingbot/README.md b/examples/lingbot/README.md index f6703ea..995d366 100644 --- a/examples/lingbot/README.md +++ b/examples/lingbot/README.md @@ -1,7 +1,7 @@ # LingBot-World-Fast Examples -Offline image-to-video and online streaming generation with LingBot-World-Fast. This page describes how to run -the `lingbot_world_fast_image_to_video_h100.py` offline image-to-video example on H100 GPUs. +Offline image-to-video and interactive WebRTC streaming generation with LingBot-World-Fast. This page describes +the H100 offline example, the LingBot stream service, and the browser camera controller. ## Model Directory @@ -30,7 +30,7 @@ export TF_MODEL_ZOO_PATH=/path/to/model_zoo | Continuous chunked generation | ✔️ | | Single-GPU inference | ✔️ | | Ulysses Sequence Parallel | ✔️ | -| FSDP | Disabled by default in this example | +| FSDP | Enabled by default for the streaming example; disabled for the offline example | | H100 Sage Attention | ✔️ | ## Files @@ -139,17 +139,77 @@ python examples/lingbot/lingbot_world_fast_image_to_video_h100.py --help ## Real-Time Streaming -Start the bidirectional WebRTC service with two physical H100 GPUs (2 and 3): +The streaming example defaults to camera control, four Ulysses workers, and FSDP. `stream-serve --gpu-num` is +passed to `get_service(gpu_num=...)`; use `CUDA_VISIBLE_DEVICES` to select the physical devices. Do not use +`torchrun` because TeleFuser creates the workers internally. + +### Tested GPU and Duration Limits + +The global KV cache grows with the requested frame count even when FSDP is enabled. The following 832x480 limits +were verified on H100 80 GB GPUs with `chunk_size=3`, `16 FPS`, and `sample_shift=10.0`: + +| GPUs | Duration selected in the page | Frame count | Result | +| --- | --- | --- | --- | +| 2 H100 | 10 seconds | 153 | Passed | +| 2 H100 | 20 seconds | 321 | CUDA OOM while allocating KV cache | +| 4 H100 | 20 seconds | 321 | Passed, 27/27 chunks | + +The four-GPU 20-second test used FSDP and Ulysses degree 4. Peak memory was approximately 58.6 GiB on GPU 0 and +41.6 GiB on GPUs 1-3. These are tested values, not universal limits; other resolutions and concurrent GPU users +change the available capacity. + +### Start a Local TURN Server for VS Code Remote SSH + +VS Code forwards TCP ports. For a laptop browser accessing a remote host, use TURN over TCP and force relay mode. +The following development-only coturn command binds to loopback and uses a small relay range: + +```bash +sudo apt-get install -y coturn + +turnserver -n -m 1 \ + --listening-ip=127.0.0.1 \ + --relay-ip=127.0.0.1 \ + --listening-port=3478 \ + --min-port=49160 --max-port=49200 \ + --user=telefuser:telefuser-turn \ + --realm=telefuser.local \ + --fingerprint --lt-cred-mech \ + --no-tls --no-dtls --no-cli \ + --allow-loopback-peers \ + --simple-log --log-file=/tmp/telefuser-turn.log +``` + +Keep this command running in its own terminal. `--allow-loopback-peers` is required here because both TeleFuser and +coturn run on the same remote host; do not copy this loopback configuration to an internet-facing production TURN +server. Verify the credentials and TCP allocation locally: + +```bash +turnutils_uclient -t -y -c \ + -u telefuser -w telefuser-turn -p 3478 127.0.0.1 +``` + +### Start the Four-GPU LingBot Service ```bash TF_MODEL_ZOO_PATH=/path/to/model_zoo \ -CUDA_VISIBLE_DEVICES=2,3 \ +CUDA_VISIBLE_DEVICES=0,1,2,3 \ +TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478?transport=tcp' \ +TELEFUSER_TURN_USERNAME=telefuser \ +TELEFUSER_TURN_CREDENTIAL=telefuser-turn \ telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ - --gpu-num 2 -p 8088 --host 0.0.0.0 --skip-validation + --gpu-num 4 -p 8088 --host 0.0.0.0 --skip-validation ``` -Run the browser controller on the server. The action directory supplies the same fixed camera intrinsics used by -the offline example; camera poses are generated from keyboard input in real time. +Wait for `Starting stream server on 0.0.0.0:8088`, then verify readiness: + +```bash +curl --noproxy '*' http://127.0.0.1:8088/v1/service/health +``` + +### Start the Browser Demo + +Run the demo on the remote TeleFuser host. It proxies signaling requests to port 8088, so the laptop browser does +not need direct access to 8088. ```bash python examples/stream_server/webrtc_bidirectional_demo.py \ @@ -157,10 +217,127 @@ python examples/stream_server/webrtc_bidirectional_demo.py \ --port 8091 \ --image-path examples/data/lingbot_world_fast/image.jpg \ --action-path examples/data/lingbot_world_fast \ - --frame-num 81 \ + --frame-num 321 \ + --chunk-size 3 \ + --sample-shift 10.0 \ + --fps 16 \ + --turn-url 'turn:localhost:3478?transport=tcp' \ + --turn-username telefuser \ + --turn-credential telefuser-turn \ + --force-turn-relay \ + --ice-gather-timeout-ms 30000 \ + --no-open +``` + +In the VS Code **Ports** panel, forward these remote TCP ports: + +| Remote port | Required local port | Purpose | +| --- | --- | --- | +| `8091` | Any available port | Demo page and proxied SDP/session HTTP requests | +| `3478` | `3478` | Browser TURN-over-TCP connection used by `turn:localhost:3478` | + +Do not forward 8088 when proxying is enabled. Port 3478 must keep local port 3478 unless `--turn-url` is changed to +the alternative local port. Open the forwarded 8091 URL shown by VS Code using `http://`, then hard-refresh the +page after restarting the demo. Do not forward coturn's `49160-49200` relay range through VS Code: browser relay +traffic remains inside the forwarded TURN TCP connection, while that range is used remotely between coturn and the +WebRTC peer. + +If you connect with a normal SSH client instead of VS Code Remote SSH, run this command in a separate terminal on +the laptop. Replace `USER` and `SERVER_HOST` with the SSH login used for the server: + +```bash +ssh -N \ + -o ExitOnForwardFailure=yes \ + -o ServerAliveInterval=30 \ + -L 8091:127.0.0.1:8091 \ + -L 3478:127.0.0.1:3478 \ + USER@SERVER_HOST +``` + +Keep the command running and open `http://localhost:8091`. Add `-p SSH_PORT` or `-i /path/to/private_key` when the +server requires a non-default SSH port or identity file. To obtain an interactive shell from the same connection, +omit `-N`. If local port 8091 is occupied, change only the first mapping, for example +`-L 18091:127.0.0.1:8091`, and open `http://localhost:18091`. + +If local port 3478 is occupied, map another local port such as `-L 13478:127.0.0.1:3478` and change the browser demo +argument to `--turn-url 'turn:localhost:13478?transport=tcp'`. The server-side +`TELEFUSER_TURN_SERVER='turn:127.0.0.1:3478?transport=tcp'` remains unchanged. + +### Run the Demo Entirely on One Machine + +If both the browser and the GPU service run on the same physical machine, neither coturn nor SSH forwarding is +needed. This includes a browser opened directly on the workstation or through its remote desktop, VNC, or noVNC +session. It does not include an SSH shell on the server with the browser still running on a laptop. + +Start the service in the first terminal with TURN variables explicitly removed: + +```bash +env -u TELEFUSER_TURN_SERVER \ + -u TELEFUSER_TURN_USERNAME \ + -u TELEFUSER_TURN_CREDENTIAL \ + TF_MODEL_ZOO_PATH=/path/to/model_zoo \ + CUDA_VISIBLE_DEVICES=0,1,2,3 \ + telefuser stream-serve examples/lingbot/stream_lingbot_world_fast.py \ + --gpu-num 4 -p 8088 --host 127.0.0.1 --skip-validation +``` + +Start the demo in a second terminal without `--turn-url`, TURN credentials, or `--force-turn-relay`: + +```bash +env -u TELEFUSER_TURN_SERVER \ + -u TELEFUSER_TURN_USERNAME \ + -u TELEFUSER_TURN_CREDENTIAL \ + python examples/stream_server/webrtc_bidirectional_demo.py \ + --server-url http://127.0.0.1:8088 \ + --port 8091 \ + --image-path examples/data/lingbot_world_fast/image.jpg \ + --action-path examples/data/lingbot_world_fast \ + --frame-num 321 \ --chunk-size 3 \ + --sample-shift 10.0 \ + --fps 16 \ --no-open ``` -Use `W/S` to move forward/backward, `A/D` to strafe, `J/L` (or the left/right arrows) to yaw, and `I/K` to -pitch. Releasing all controls stops new chunk generation, so the WebRTC stream holds the last output frame. +Open `http://localhost:8091` in the browser on that machine. + +`--image-path` and `--action-path` are paths on the remote host. In real-time `cam` mode, `image.jpg` supplies the +initial frame, only the first row of `intrinsics.npy` is used as fixed intrinsics, and `poses.npy` is not replayed; +camera poses are generated from live controls. + +### Camera Controls + +The page has separate translation and rotation pads: + +| Input | Camera operation | +| --- | --- | +| `W` or `↑` | Move forward | +| `S` or `↓` | Move backward | +| `A` or `←` | Strafe left | +| `D` or `→` | Strafe right | +| `J` | Yaw left | +| `L` | Yaw right | +| `I` | Pitch up | +| `K` | Pitch down | + +Multiple keys can be held together, for example `W+J`. Move/strafe steps default to `0.05` per video frame; +yaw/pitch steps default to `2°` per video frame, with pitch limited to `±85°`. Camera pose and pitch accumulate +across chunks. Controls affect only chunks that have not started inference. Releasing all keys stops requesting new +chunks, and WebRTC repeats the most recent frame while idle. **Reset Control** returns the accumulated pose to the +identity pose. + +### Troubleshooting + +- **Blank 8091 page:** confirm the demo process is listening, open the exact forwarded URL from the VS Code Ports + panel using `http://`, and hard-refresh. The demo uses a threaded HTTP server so VS Code probe connections do not + block page requests. +- **No relay candidate:** confirm local port 3478 maps to remote 3478, the TURN credentials match, and the demo log + shows `iceTransportPolicy=relay`. Browser logs should report at least one `typ=relay` candidate. +- **Static preview:** inspect the DataChannel log for `control_state` and `applying_direction_control`. If the server + logged CUDA OOM, restart the service because a failed parallel worker cannot process another session. +- **Session already active:** click **Stop** or delete it with + `curl -X DELETE http://127.0.0.1:8088/v1/stream/webrtc/`. +- **Residual workers after a forced exit:** terminate stale `spawn_main` processes before restarting. + +For a production/public TURN deployment, TLS, firewall, and relay-port requirements, see the +[stream server guide](../../docs/en/stream_server.md#public-network-deployment). diff --git a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py index 76dffb5..02f6f5b 100644 --- a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py +++ b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py @@ -33,6 +33,8 @@ ) from telefuser.utils.video import save_video +TF_MODEL_ZOO_PATH = os.environ.get("TF_MODEL_ZOO_PATH", "model_zoo") + _PROJECT_ROOT = Path(__file__).resolve().parents[2] _DATA_ROOT = _PROJECT_ROOT / "examples" / "data" / "lingbot_world_fast" DEFAULT_IMAGE_PATH = str(_DATA_ROOT / "image.jpg") @@ -68,9 +70,8 @@ def get_pipeline( ) -> LingBotWorldFastPipeline: """Load LingBot-World-Fast for offline chunked generation.""" if model_root is None or fast_model_root is None: - model_zoo_path = Path(os.environ["TF_MODEL_ZOO_PATH"]).expanduser() - default_model_root = str(model_zoo_path / "Wan2.2-I2V-A14B") - default_fast_model_root = str(model_zoo_path / "lingbot" / "lingbot-world-fast") + default_model_root = str(TF_MODEL_ZOO_PATH / "Wan2.2-I2V-A14B") + default_fast_model_root = str(TF_MODEL_ZOO_PATH / "lingbot" / "lingbot-world-fast") else: default_model_root, default_fast_model_root = model_root, fast_model_root if parallelism < 1: diff --git a/examples/lingbot/stream_lingbot_world_fast.py b/examples/lingbot/stream_lingbot_world_fast.py index fb02c5e..2d7667b 100644 --- a/examples/lingbot/stream_lingbot_world_fast.py +++ b/examples/lingbot/stream_lingbot_world_fast.py @@ -28,7 +28,7 @@ resolution="480p", target_fps=16, attn_impl=AttnImplType.SAGE_ATTN_2_8_8_SM90, - enable_fsdp=False, + enable_fsdp=True, local_attn_size=-1, sink_size=0, torch_dtype=torch.bfloat16, diff --git a/examples/stream_server/webrtc_bidirectional_demo.py b/examples/stream_server/webrtc_bidirectional_demo.py index 747de42..0d7ddc7 100644 --- a/examples/stream_server/webrtc_bidirectional_demo.py +++ b/examples/stream_server/webrtc_bidirectional_demo.py @@ -30,6 +30,12 @@ DEFAULT_SERVER_URL = "http://localhost:8088" DEFAULT_PORT = 8091 +DEFAULT_SAMPLE_SHIFT = 10.0 +MAX_GENERATION_SECONDS = 20.0 +DEFAULT_PROMPT = ( + "A serene lakeside scene with a lone tree standing in calm water, surrounded by distant snow-capped " + "mountains under a bright blue sky with drifting white clouds. Gentle ripples reflect the tree and sky." +) HTML_TEMPLATE = """ @@ -527,16 +533,16 @@ } .dpad { display: grid; - grid-template-columns: 54px 54px 54px; - grid-template-rows: 54px 54px 54px; + grid-template-columns: 44px 44px 44px; + grid-template-rows: 44px 44px 44px; gap: 6px; justify-content: center; - margin: 16px 0 2px; + margin: 8px 0 2px; user-select: none; } .dpad button { - width: 54px; - height: 54px; + width: 44px; + height: 44px; padding: 0; border: 1px solid #cbd5e1; background: #f8fafc; @@ -550,8 +556,31 @@ color: var(--blue); } .dpad .empty { - width: 54px; - height: 54px; + width: 44px; + height: 44px; + } + .control-pads { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 8px; + margin-top: 14px; + } + .control-pad { + padding: 9px 4px 6px; + border: 1px solid #e2e8f0; + border-radius: 6px; + background: #f8fafc; + } + .control-pad h3 { + margin: 0; + color: #475569; + font-size: 11px; + text-align: center; + } + .field-help { + margin-top: 4px; + color: var(--muted); + font-size: 11px; } #messages { height: 210px; @@ -596,7 +625,7 @@

    Inputs

    - +
    @@ -604,22 +633,27 @@
    - - + +
    - - + +
    - + +
    +
    + +
    +
    @@ -661,16 +695,35 @@
    -
    -
    - -
    - -
    - -
    - -
    +
    +
    +

    Move · WASD / Arrows

    +
    +
    + +
    + +
    + +
    + +
    +
    +
    +
    +

    Rotate · IJKL

    +
    +
    + +
    + +
    + +
    + +
    +
    +
    @@ -686,8 +739,10 @@ const SERVER_URL = __SERVER_URL__; const RTC_CONFIG = __RTC_CONFIG__; const DEFAULT_IMAGE_PATH = __IMAGE_PATH__; +const DEFAULT_PROMPT = __PROMPT__; const DEFAULT_OPTIONS = __REQUEST_OPTIONS__; const ICE_GATHER_TIMEOUT_MS = __ICE_GATHER_TIMEOUT_MS__; +const MAX_GENERATION_SECONDS = __MAX_GENERATION_SECONDS__; let pc = null; let dc = null; @@ -695,10 +750,10 @@ let cleaning = false; const pressedControls = new Set(); const keyToControl = { - ArrowUp: "up", - ArrowDown: "down", - ArrowLeft: "left", - ArrowRight: "right", + ArrowUp: "w", + ArrowDown: "s", + ArrowLeft: "a", + ArrowRight: "d", KeyW: "w", KeyA: "a", KeyS: "s", @@ -735,12 +790,37 @@ return Number.isFinite(value) ? value : fallback; } +function frameNumForDuration(durationSeconds, fps, chunkSize) { + const duration = Math.min(MAX_GENERATION_SECONDS, Math.max(0.5, durationSeconds)); + const targetFrames = Math.floor(duration * fps) + 1; + const targetLatentFrames = Math.floor((targetFrames - 1) / 4) + 1; + const completeLatentFrames = Math.max(chunkSize, Math.floor(targetLatentFrames / chunkSize) * chunkSize); + return 4 * (completeLatentFrames - 1) + 1; +} + +function updateFrameNum() { + const fps = Math.max(1, numberValue("fps", DEFAULT_OPTIONS.fps ?? 16)); + const chunkSize = Math.max(1, numberValue("chunk-size", DEFAULT_OPTIONS.chunk_size ?? 3)); + const duration = Math.min( + MAX_GENERATION_SECONDS, + Math.max(0.5, numberValue("duration-seconds", 5.0)), + ); + $("duration-seconds").value = duration; + const frameNum = frameNumForDuration(duration, fps, chunkSize); + $("frame-num").value = frameNum; + const actualDuration = (frameNum - 1) / fps; + $("duration-help").textContent = + "Actual duration: " + actualDuration.toFixed(2) + " s · maximum: " + MAX_GENERATION_SECONDS + " s"; +} + function fillDefaults() { + $("prompt").value = DEFAULT_PROMPT; $("image-path").value = DEFAULT_IMAGE_PATH || ""; $("fps").value = DEFAULT_OPTIONS.fps ?? 16; - $("frame-num").value = DEFAULT_OPTIONS.frame_num ?? 81; $("chunk-size").value = DEFAULT_OPTIONS.chunk_size ?? 3; - $("sample-shift").value = DEFAULT_OPTIONS.sample_shift ?? 5.0; + $("duration-seconds").max = MAX_GENERATION_SECONDS; + $("duration-seconds").value = ((DEFAULT_OPTIONS.frame_num ?? 81) - 1) / (DEFAULT_OPTIONS.fps ?? 16); + $("sample-shift").value = DEFAULT_OPTIONS.sample_shift ?? 10.0; $("seed").value = DEFAULT_OPTIONS.seed ?? 42; $("control-mode").value = DEFAULT_OPTIONS.control_mode || "cam"; $("action-path").value = DEFAULT_OPTIONS.action_path || ""; @@ -748,6 +828,7 @@ $("control-yaw-step").value = DEFAULT_OPTIONS.control_yaw_step_degrees ?? 2.0; $("control-lateral-step").value = DEFAULT_OPTIONS.control_lateral_step ?? 0.05; $("show-control-hud").checked = DEFAULT_OPTIONS.show_control_hud ?? true; + updateFrameNum(); } async function fetchJsonWithTimeout(url, options, timeoutMs) { @@ -786,12 +867,13 @@ } function requestOptionsFromForm() { + updateFrameNum(); const options = { ...DEFAULT_OPTIONS, fps: numberValue("fps", DEFAULT_OPTIONS.fps ?? 16), frame_num: numberValue("frame-num", DEFAULT_OPTIONS.frame_num ?? 81), chunk_size: numberValue("chunk-size", DEFAULT_OPTIONS.chunk_size ?? 3), - sample_shift: numberValue("sample-shift", DEFAULT_OPTIONS.sample_shift ?? 5.0), + sample_shift: numberValue("sample-shift", DEFAULT_OPTIONS.sample_shift ?? 10.0), seed: numberValue("seed", DEFAULT_OPTIONS.seed ?? 42), control_mode: $("control-mode").value, control_move_step: numberValue("control-move-step", DEFAULT_OPTIONS.control_move_step ?? 0.05), @@ -810,6 +892,10 @@ return options; } +$("duration-seconds").addEventListener("input", updateFrameNum); +$("fps").addEventListener("input", updateFrameNum); +$("chunk-size").addEventListener("input", updateFrameNum); + function setControlActive(control, active) { const btn = document.querySelector('[data-control="' + control + '"]'); if (btn) btn.classList.toggle("active", active); @@ -1066,7 +1152,7 @@ def main() -> None: parser.add_argument("--fps", type=int, default=16, help="Output WebRTC FPS and pipeline FPS") parser.add_argument("--frame-num", type=int, default=81, help="Requested LingBot frame count") parser.add_argument("--chunk-size", type=int, default=3, help="LingBot latent chunk size") - parser.add_argument("--sample-shift", type=float, default=5.0, help="LingBot sampler shift") + parser.add_argument("--sample-shift", type=float, default=DEFAULT_SAMPLE_SHIFT, help="LingBot sampler shift") parser.add_argument("--seed", type=int, default=42, help="LingBot random seed") parser.add_argument("--max-attention-size", type=int, default=None, help="Optional LingBot max attention size") parser.add_argument("--max-sequence-length", type=int, default=512, help="LingBot max text sequence length") @@ -1178,8 +1264,10 @@ def main() -> None: HTML_TEMPLATE.replace("__SERVER_URL__", json.dumps(server_url_for_browser)) .replace("__RTC_CONFIG__", json.dumps(rtc_config)) .replace("__IMAGE_PATH__", json.dumps(args.image_path)) + .replace("__PROMPT__", json.dumps(DEFAULT_PROMPT)) .replace("__REQUEST_OPTIONS__", json.dumps(request_options)) .replace("__ICE_GATHER_TIMEOUT_MS__", str(args.ice_gather_timeout_ms)) + .replace("__MAX_GENERATION_SECONDS__", str(MAX_GENERATION_SECONDS)) ) class Handler(http.server.BaseHTTPRequestHandler): @@ -1228,10 +1316,12 @@ def _proxy(self) -> None: self.wfile.write(resp_body) def do_GET(self) -> None: + body = html.encode("utf-8") self.send_response(200) self.send_header("Content-Type", "text/html; charset=utf-8") + self.send_header("Content-Length", str(len(body))) self.end_headers() - self.wfile.write(html.encode("utf-8")) + self.wfile.write(body) def do_POST(self) -> None: if self._proxy_backend(): @@ -1248,7 +1338,7 @@ def do_DELETE(self) -> None: def log_message(self, format: str, *_args: object) -> None: pass - server = http.server.HTTPServer(("0.0.0.0", args.port), Handler) + server = http.server.ThreadingHTTPServer(("0.0.0.0", args.port), Handler) url = f"http://localhost:{args.port}" print(f"Serving LingBot-World-Fast WebRTC demo at {url}") print(f"Stream server: {args.server_url}") diff --git a/telefuser/pipelines/lingbot_world_fast/service.py b/telefuser/pipelines/lingbot_world_fast/service.py index 09dd646..51b9e7f 100644 --- a/telefuser/pipelines/lingbot_world_fast/service.py +++ b/telefuser/pipelines/lingbot_world_fast/service.py @@ -57,6 +57,7 @@ "backward": "s", } _ACTION_DIRECTIONS = ("w", "a", "s", "d") +MAX_GENERATION_SECONDS = 20.0 class LingBotWorldFastService: @@ -105,13 +106,24 @@ def create_session(self, config: dict) -> str: if intrinsics is None and config.get("action_path"): intrinsics = np.load(Path(config["action_path"]) / "intrinsics.npy") + fps = int(config.get("fps") or self.default_fps) + frame_num = int(config.get("frame_num", 81)) + if fps <= 0: + raise ValueError(f"fps must be positive, got {fps}") + duration_seconds = (frame_num - 1) / fps + if duration_seconds > MAX_GENERATION_SECONDS: + raise ValueError( + f"LingBot streaming duration must not exceed {MAX_GENERATION_SECONDS:g} seconds, " + f"got {duration_seconds:g} seconds" + ) + session_config = LingBotWorldFastSessionConfig( prompt=config.get("prompt", ""), image=image, control_mode=config.get("control_mode", "cam"), - fps=int(config.get("fps") or self.default_fps), + fps=fps, chunk_size=int(config.get("chunk_size", 3)), - frame_num=int(config.get("frame_num", 81)), + frame_num=frame_num, sample_shift=float(config.get("sample_shift", 10.0)), seed=int(config.get("seed", 42)), max_attention_size=config.get("max_attention_size"), diff --git a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py index ee6922a..28ec427 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_service_action_loop.py @@ -163,6 +163,30 @@ def test_create_session_rejects_invalid_pipeline_configuration() -> None: assert service._sessions == {} +def test_create_session_limits_stream_generation_to_20_seconds() -> None: + pipeline = MagicMock() + service = LingBotWorldFastService(pipeline) + + session_id = service.create_session( + { + "image": Image.new("RGB", (8, 8)), + "fps": 16, + "frame_num": 321, + } + ) + assert service._sessions[session_id].config.frame_num == 321 + service.close_session(session_id) + + with pytest.raises(ValueError, match="must not exceed 20 seconds"): + service.create_session( + { + "image": Image.new("RGB", (8, 8)), + "fps": 16, + "frame_num": 333, + } + ) + + def test_create_session_initializes_fixed_intrinsics_from_action_path() -> None: pipeline = MagicMock() service = LingBotWorldFastService(pipeline) diff --git a/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py b/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py index 4bed600..698b629 100644 --- a/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py +++ b/tests/unit/pipelines/lingbot_world_fast/test_stream_example.py @@ -2,8 +2,17 @@ import torch +from examples.lingbot import lingbot_world_fast_image_to_video_h100 as offline_example from examples.lingbot import stream_lingbot_world_fast as stream_example +from examples.stream_server import webrtc_bidirectional_demo as webrtc_demo from telefuser.core.config import AttnImplType +from telefuser.pipelines.lingbot_world_fast.service import MAX_GENERATION_SECONDS + + +def test_webrtc_demo_defaults_match_offline_h100_example() -> None: + assert webrtc_demo.DEFAULT_SAMPLE_SHIFT == offline_example.PPL_CONFIG["sample_shift"] + assert webrtc_demo.DEFAULT_PROMPT == offline_example.DEFAULT_PROMPT + assert webrtc_demo.MAX_GENERATION_SECONDS == MAX_GENERATION_SECONDS def test_stream_get_pipeline_maps_ppl_config_to_internal_workers() -> None: @@ -25,10 +34,11 @@ def test_stream_get_pipeline_maps_ppl_config_to_internal_workers() -> None: assert config.fast_checkpoint_path == "/models/lingbot-world-fast" assert config.control_type == "cam" assert config.max_area == 480 * 832 + assert config.local_attn_size == -1 assert config.attention_config.attn_impl == AttnImplType.SAGE_ATTN_2_8_8_SM90 assert config.parallel_config.device_ids == [0, 1, 2, 3] assert config.parallel_config.sp_ulysses_degree == 4 - assert config.parallel_config.enable_fsdp is False + assert config.parallel_config.enable_fsdp is True def test_stream_get_service_uses_passed_gpu_num_and_ppl_fps() -> None: From 84c7ff4f99b1b76f92df819dda2442262295493f Mon Sep 17 00:00:00 2001 From: lzx1413 Date: Tue, 14 Jul 2026 13:33:14 +0800 Subject: [PATCH 9/9] fix(lingbot): fix TF_MODEL_ZOO_PATH set Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- examples/lingbot/lingbot_world_fast_image_to_video_h100.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py index 02f6f5b..bcb1695 100644 --- a/examples/lingbot/lingbot_world_fast_image_to_video_h100.py +++ b/examples/lingbot/lingbot_world_fast_image_to_video_h100.py @@ -33,7 +33,7 @@ ) from telefuser.utils.video import save_video -TF_MODEL_ZOO_PATH = os.environ.get("TF_MODEL_ZOO_PATH", "model_zoo") +TF_MODEL_ZOO_PATH = Path(os.environ.get("TF_MODEL_ZOO_PATH", "model_zoo")).expanduser() _PROJECT_ROOT = Path(__file__).resolve().parents[2] _DATA_ROOT = _PROJECT_ROOT / "examples" / "data" / "lingbot_world_fast"
  • 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Π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%0DU!NDqbTT~Oh{Cb!rJc7=K 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%0AYh# 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�>)G2m?7#CHRJe&Bh$r8q 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