WaveCut commited on
Commit
e1297eb
·
verified ·
1 Parent(s): c8ddd11

Card: chart labels clear of the 32 GB line, BF16 offload run count, text encoder source, VAE pixel share, transformer files

Browse files
Files changed (3) hide show
  1. README.md +5 -5
  2. SHA256SUMS +2 -2
  3. assets/latency_and_memory.png +2 -2
README.md CHANGED
@@ -24,7 +24,7 @@ tags:
24
  [OrbitQuant](https://github.com/iamwavecut/OrbitQuant) 4-bit weights for [MiniMax-H3-Image](https://huggingface.co/MiniMaxAI/MiniMax-H3-Image), MiniMax's 33.1B text-to-image and image-editing model that makes images of up to 16 megapixels in 6 steps.
25
  The diffusion transformer and the MiniMax-H3 Qwen3-VL text encoder both run 8-bit activations over 4-bit weights. The 4-bit codes were chosen with GPTQ rounding against calibration prompts that are not in the evaluation set.
26
  The runtime is the official MiniMax-H3-Image modular pipeline of [Diffusers](https://github.com/huggingface/diffusers/pull/15230) with fused OrbitQuant kernels, and the [ComfyUI-OrbitQuant](https://github.com/iamwavecut/ComfyUI-OrbitQuant) nodes.
27
- The download is 27.5 GB. The original needs 135.4 GB: the 66.3 GB transformer and the 66.7 GB text encoder of MiniMax-H3, which it downloads separately.
28
 
29
  **On one RTX PRO 6000 a 4096×4096 image takes 13.5 s with a 29.8 GiB device peak, and a 2048×2048 image takes 2.4 s. The BF16 original needs 22.4 s and 4.4 s for the same work even when each of its models is resident alone. With model offload the release also runs in 23.4 GiB of free device memory (a simulated 24 GB card).**
30
 
@@ -148,7 +148,7 @@ LPIPS against BF16 measures the distance from the original image, not the qualit
148
  - Text: the Cyrillic shop sign of e08 («КНИЖНЫЙ МАГАЗИН») and the large headings of e13 render correctly in both images. The small captions under the icons of e13 are illegible in both the BF16 and the W4A8 image.
149
  - Edits change least: LPIPS 0.015 and 0.025.
150
  - 16 MP (4096×4096 and 4736×3552): LPIPS 0.234 and 0.221; with INT8 attention 0.208 and 0.266.
151
- - INT8 attention moved e03 (the Art Deco poster) from 0.163 to 0.395; the other cases change by at most 0.03.
152
 
153
  <details>
154
  <summary>LPIPS / PSNR (dB) of every case against the BF16 original</summary>
@@ -178,7 +178,7 @@ LPIPS against BF16 measures the distance from the original image, not the qualit
178
 
179
  ## Performance
180
 
181
- Setup: one RTX PRO 6000 Blackwell Server Edition (96 GB), Torch 2.12.1, CUDA 13.0, the frog prompt (e04, 123 text tokens), 6 steps. Each configuration ran in its own process: a warm-up image, then the best of 2–3 images. The time runs from the pipeline call to the finished image tensor on the GPU: prompt encoding, six transformer steps and VAE decoding. The conversion to a PIL image is excluded: on the rented machine, memory pressure from other tenants made host-side work on 16 MP arrays slow and irregular.
182
 
183
  | Configuration | 2048×2048 | 4096×4096 | Device peak, 4096×4096 |
184
  | --- | ---: | ---: | ---: |
@@ -205,7 +205,7 @@ Components, each resident alone:
205
  | VAE decoding, 2048×2048 / 4096×4096 | 0.73 s / 2.66 s | 0.16 s / 0.58 s | 4.7× / 4.6× |
206
  | VAE encoding of a reference, 2048×2048 / 4096×4096 | 1.15 s / 4.20 s | 0.41 s / 1.49 s | 2.8× / 2.8× |
207
 
208
- The VAE weights are unchanged; the speed-up comes from the batched tiles of the loader (see [Components](#components)). The batched convolutions use other cuDNN algorithms, so the decoded pixels differ from the per-tile loop by at most 5–7 levels of 255 (about 11 % of the pixels change).
209
 
210
  Editing (x01, one reference image):
211
 
@@ -231,7 +231,7 @@ The rounding lowered the mean relative output error of a projection group from 0
231
 
232
  ## Files
233
 
234
- - `transformer/`: the packed transformer (`model.safetensors`), its OrbitQuant configuration and manifest, `modulation.json` (the tabulated timesteps), the original `config.json` and `quantization-report.json` (the error of each projection group before and after GPTQ rounding).
235
  - `text_encoder/`: the quantized MiniMax-H3 text encoder (decoder layers 0–49, the vision tower) and its `quantization-report.json`.
236
  - `vae/`, `tokenizer/`, `processor/`, `scheduler/`, `modular_model_index.json`: the original components in the Diffusers layout.
237
  - `minimax_h3_image_orbitquant.py`: the loader. `run_minimax_h3_image.py`: the command-line entry point. `requirements.txt`: the runtime pins.
 
24
  [OrbitQuant](https://github.com/iamwavecut/OrbitQuant) 4-bit weights for [MiniMax-H3-Image](https://huggingface.co/MiniMaxAI/MiniMax-H3-Image), MiniMax's 33.1B text-to-image and image-editing model that makes images of up to 16 megapixels in 6 steps.
25
  The diffusion transformer and the MiniMax-H3 Qwen3-VL text encoder both run 8-bit activations over 4-bit weights. The 4-bit codes were chosen with GPTQ rounding against calibration prompts that are not in the evaluation set.
26
  The runtime is the official MiniMax-H3-Image modular pipeline of [Diffusers](https://github.com/huggingface/diffusers/pull/15230) with fused OrbitQuant kernels, and the [ComfyUI-OrbitQuant](https://github.com/iamwavecut/ComfyUI-OrbitQuant) nodes.
27
+ The download is 27.5 GB. The original needs 135.4 GB: the 66.3 GB transformer and the 66.7 GB MiniMax-H3 text encoder.
28
 
29
  **On one RTX PRO 6000 a 4096×4096 image takes 13.5 s with a 29.8 GiB device peak, and a 2048×2048 image takes 2.4 s. The BF16 original needs 22.4 s and 4.4 s for the same work even when each of its models is resident alone. With model offload the release also runs in 23.4 GiB of free device memory (a simulated 24 GB card).**
30
 
 
148
  - Text: the Cyrillic shop sign of e08 («КНИЖНЫЙ МАГАЗИН») and the large headings of e13 render correctly in both images. The small captions under the icons of e13 are illegible in both the BF16 and the W4A8 image.
149
  - Edits change least: LPIPS 0.015 and 0.025.
150
  - 16 MP (4096×4096 and 4736×3552): LPIPS 0.234 and 0.221; with INT8 attention 0.208 and 0.266.
151
+ - INT8 attention moved e03 (the Art Deco poster) from 0.163 to 0.395; the other 17 cases change by at most 0.03.
152
 
153
  <details>
154
  <summary>LPIPS / PSNR (dB) of every case against the BF16 original</summary>
 
178
 
179
  ## Performance
180
 
181
+ Setup: one RTX PRO 6000 Blackwell Server Edition (96 GB), Torch 2.12.1, CUDA 13.0, the frog prompt (e04, 123 text tokens), 6 steps. Each configuration ran in its own process: a warm-up image, then the best of 2–3 images (one image for the BF16 model offload). The time runs from the pipeline call to the finished image tensor on the GPU: prompt encoding, six transformer steps and VAE decoding. The conversion to a PIL image is excluded: on the rented machine, memory pressure from other tenants made host-side work on 16 MP arrays slow and irregular.
182
 
183
  | Configuration | 2048×2048 | 4096×4096 | Device peak, 4096×4096 |
184
  | --- | ---: | ---: | ---: |
 
205
  | VAE decoding, 2048×2048 / 4096×4096 | 0.73 s / 2.66 s | 0.16 s / 0.58 s | 4.7× / 4.6× |
206
  | VAE encoding of a reference, 2048×2048 / 4096×4096 | 1.15 s / 4.20 s | 0.41 s / 1.49 s | 2.8× / 2.8× |
207
 
208
+ The VAE weights are unchanged; the speed-up comes from the batched tiles of the loader (see [Components](#components)). The batched convolutions use other cuDNN algorithms, so the decoded pixels differ from the per-tile loop by at most 5–7 levels of 255 (11–13 % of the pixels change).
209
 
210
  Editing (x01, one reference image):
211
 
 
231
 
232
  ## Files
233
 
234
+ - `transformer/`: the packed transformer (`model.safetensors`), its OrbitQuant codebooks, rotations, configuration and manifest, `modulation.json` (the tabulated timesteps), the original `config.json` and `quantization-report.json` (the error of each projection group before and after GPTQ rounding).
235
  - `text_encoder/`: the quantized MiniMax-H3 text encoder (decoder layers 0–49, the vision tower) and its `quantization-report.json`.
236
  - `vae/`, `tokenizer/`, `processor/`, `scheduler/`, `modular_model_index.json`: the original components in the Diffusers layout.
237
  - `minimax_h3_image_orbitquant.py`: the loader. `run_minimax_h3_image.py`: the command-line entry point. `requirements.txt`: the runtime pins.
SHA256SUMS CHANGED
@@ -1,7 +1,7 @@
1
  edfab8ece9d0ccd39106c4fe44105ce599b27ca7dd22601b736a8e9219cb4d26 LICENSE
2
  59b99642b95ea21630e311198ddbfffbfe05aadba0c2f5d884cbdf4efcc90f44 LICENSE-MiniMax-H3
3
  1e465a4dbc343d524371e1210a3631f1d2a34aeaa5e85022b88f1e0b232be7ed NOTICE
4
- 085f9f5f7ea7a68607790bd4771f6e9c723ce59e52acb615fadec8bbbe451a05 README.md
5
  c0951934d193eeb212cc962133b828fd7d435b15dc53199c77c6231ed3795610 assets/e01.jpg
6
  5968066c6f85cd3490f56ff9f58b2eb9a057af13b04ac1e7a1e705f579f87fa6 assets/e03.jpg
7
  0a09c1573b126004faad2608dab7f60ffdfe1f344f1f83194a86aaafbf688edd assets/e06.jpg
@@ -10,7 +10,7 @@ c0951934d193eeb212cc962133b828fd7d435b15dc53199c77c6231ed3795610 assets/e01.jpg
10
  59c78dd40cd42d2551a4062306af53fd938e69c860472937fb0d0802ec885ba0 assets/e12.jpg
11
  2be488367911cd77ebe80943214ce61066270abb732e0905f78a7c831e8d63fc assets/e13.jpg
12
  6feefe80606b5755ffabb3f2df756c6800a2afb0b6bf3c38df4fc0f421bf36bf assets/e16.jpg
13
- c9ff1719a7dc108f8a1297e04076c8e791bf975762502db345e65df01a78027a assets/latency_and_memory.png
14
  01df62652f6d23d6fc2ad864e380949af70e521f8950e579e4c5c0c114720c1c assets/s01-crop.jpg
15
  168a56c303e217cdd5b48b9cb4759175d09db3d7ab98bad7a3d55ca8c3c0860b assets/s01.jpg
16
  59abe1cbcec4b0c2b138bf76e8027245acc84e54be5786c4a64e2e77e6a49b55 assets/s02.jpg
 
1
  edfab8ece9d0ccd39106c4fe44105ce599b27ca7dd22601b736a8e9219cb4d26 LICENSE
2
  59b99642b95ea21630e311198ddbfffbfe05aadba0c2f5d884cbdf4efcc90f44 LICENSE-MiniMax-H3
3
  1e465a4dbc343d524371e1210a3631f1d2a34aeaa5e85022b88f1e0b232be7ed NOTICE
4
+ fe83e0ba483c655d56607af3e5d09569ae4e1a49c41032d9aca09c3c12f9a12c README.md
5
  c0951934d193eeb212cc962133b828fd7d435b15dc53199c77c6231ed3795610 assets/e01.jpg
6
  5968066c6f85cd3490f56ff9f58b2eb9a057af13b04ac1e7a1e705f579f87fa6 assets/e03.jpg
7
  0a09c1573b126004faad2608dab7f60ffdfe1f344f1f83194a86aaafbf688edd assets/e06.jpg
 
10
  59c78dd40cd42d2551a4062306af53fd938e69c860472937fb0d0802ec885ba0 assets/e12.jpg
11
  2be488367911cd77ebe80943214ce61066270abb732e0905f78a7c831e8d63fc assets/e13.jpg
12
  6feefe80606b5755ffabb3f2df756c6800a2afb0b6bf3c38df4fc0f421bf36bf assets/e16.jpg
13
+ aa5330054ab2dbdda3b35e569c35dabb2dc65bf56c809a95392510624492513d assets/latency_and_memory.png
14
  01df62652f6d23d6fc2ad864e380949af70e521f8950e579e4c5c0c114720c1c assets/s01-crop.jpg
15
  168a56c303e217cdd5b48b9cb4759175d09db3d7ab98bad7a3d55ca8c3c0860b assets/s01.jpg
16
  59abe1cbcec4b0c2b138bf76e8027245acc84e54be5786c4a64e2e77e6a49b55 assets/s02.jpg
assets/latency_and_memory.png CHANGED

Git LFS Details

  • SHA256: c9ff1719a7dc108f8a1297e04076c8e791bf975762502db345e65df01a78027a
  • Pointer size: 131 Bytes
  • Size of remote file: 247 kB

Git LFS Details

  • SHA256: aa5330054ab2dbdda3b35e569c35dabb2dc65bf56c809a95392510624492513d
  • Pointer size: 131 Bytes
  • Size of remote file: 249 kB