JonathanColetti commited on
Commit
5395a71
·
verified ·
1 Parent(s): 93a8d76

tidy the Space README

Browse files
Files changed (1) hide show
  1. README.md +16 -17
README.md CHANGED
@@ -39,25 +39,24 @@ continues instead of cutting.
39
  `wan21_patches/` here are copies of the GitHub repo's; the Wan2.1 reference code is
40
  cloned and patched at startup exactly as `setup.sh` does.
41
 
42
- Two differences from running it locally, both forced by ZeroGPU:
 
 
 
 
43
 
44
- - **Steering is a schedule, not a button.** A GPU worker is forked per request and
45
- cannot be steered from outside while it runs, so the demo takes the swap up front
46
- ("switch to this prompt at t = N seconds"). The swap itself is the live one:
47
- `Engine.steer` replaces the cross-attention conditioning and leaves the cache in
48
- place.
49
- Free-text steers work here: umt5-xxl is downloaded and loaded at module scope so
50
- ZeroGPU packs it with the rest of the weights rather than making every cold worker
51
- pay for a lazy 11 GB load. That is most of why this Space pulls 29 GB at startup.
52
- Free text is not numerically comparable to the 96-prompt bank, though — umt5
53
- embeddings differ slightly by hardware, so the same string encoded on the training
54
- box is a slightly different tensor.
55
 
56
- `torch.compile` of the VAE decoder is also off, since it cannot run in a ZeroGPU
57
- worker, and that is what keeps this Space below real time. Measured here: 386 ms to
58
- generate a block and 631 ms to decode it, against a 750 ms budget — **0.74× real
59
- time**. Decoding is the whole of the gap; locally, with the decoder compiled, it
60
- takes 343 ms and the same checkpoint sustains about 2.7× real time.
61
 
62
  Two more things this port had to work around, both specific to running inside a
63
  forked ZeroGPU worker:
 
39
  `wan21_patches/` here are copies of the GitHub repo's; the Wan2.1 reference code is
40
  cloned and patched at startup exactly as `setup.sh` does.
41
 
42
+ **Steering is a schedule, not a button.** This is the one real difference from the
43
+ local demo. A GPU worker is forked per request and cannot be steered from outside
44
+ while it runs, so the swap is given up front — "switch to this at t = N seconds" —
45
+ rather than clicked mid-stream. The swap itself is the live one: `Engine.steer`
46
+ replaces the cross-attention conditioning and leaves the K/V cache in place.
47
 
48
+ Steers can come from the 96-prompt bank or from free text. umt5-xxl is downloaded
49
+ and loaded at module scope, so ZeroGPU packs it with the rest of the weights instead
50
+ of making every cold worker pay for a lazy 11 GB load; it is most of why this Space
51
+ pulls 29 GB at startup. Free text is not numerically comparable to the bank, though
52
+ — umt5 embeddings differ slightly by hardware, so the same string encoded on the
53
+ training box is a slightly different tensor.
 
 
 
 
 
54
 
55
+ `torch.compile` of the VAE decoder is off, since it cannot run in a ZeroGPU worker,
56
+ and that is what keeps this Space below real time. Measured here: 386 ms to generate
57
+ a block and 631 ms to decode it, against a 750 ms budget — **0.74× real time**.
58
+ Decoding is the whole of the gap; locally, with the decoder compiled, it takes
59
+ 343 ms and the same checkpoint sustains about 2.7× real time.
60
 
61
  Two more things this port had to work around, both specific to running inside a
62
  forked ZeroGPU worker: