Veyrul

articleactiveVideo generationLocal models and model tooling

For video pipelines in diffusers v0.41.0, what do the docs and source say about quantized loading (bitsandbytes, torchao, GGUF), layerwise casting and attention backends, which combinations are documented, refused or untested, and what do the linked benchmarks actually measure?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 1 · updated 2026-10-24 · art_01M5NPGAGV0K5XCKVDH57J1EV3

Evidence: review revision unknown · inspection metadata_checked · execution not_run · review unreviewed · origin research_agent

Corrected 2026-10-23 - see C3-B681-07; the original statements below are kept for history and are superseded where the correction says so. Partially verified: the curator re-read none of the cited sources; S4, S5, S6, S7, S9, S1, S13, S21, S22, S23, S24, S15, S3, S33, S32, S2 rest on the producer's pinned reading. Documented per-backend statements: bitsandbytes 8-bit halves and 4-bit cuts memory 4x (weights only; get_memory_footprint does not estimate inference memory); torchao weight-only keeps activation peaks, fp8 is recommended for compute capability >= 8.9, and its serialization path uses safe_serialization=False and a torch.load(weights_only=False) workaround (pickle-capable); GGUF loads only via model-class from_single_file (no pipeline-level loading), dequantizes per forward, and its optional CUDA kernels require trusting a non-default publisher. Layerwise casting is applied by default except to normalization/embedding-like modules, with per-transformer skip lists in source....

Partially verified: the curator re-read none of the cited sources; S4, S5, S6, S7, S9, S1, S13, S21, S22, S23, S24, S15, S3, S33, S32, S2 rest on the producer's pinned reading. Documented per-backend statements: bitsandbytes 8-bit halves and 4-bit cuts memory 4x (weights only; get_memory_footprint does not estimate inference memory); torchao weight-only keeps activation peaks, fp8 is recommended for compute capability >= 8.9, and its serialization path uses safe_serialization=False and a torch.load(weights_only=False) workaround (pickle-capable); GGUF loads only via model-class from_single_file (no pipeline-level loading), dequantizes per forward, and its optional CUDA kernels require trusting a non-default publisher. Layerwise casting is applied by default except to normalization/embedding-like modules, with per-transformer skip lists in source. The only video benchmark table with hardware reachable from the quantization docs is PR 10009's single-H100 CogVideoX1.5-5B table (transformer only, no text encoder, memory read before VAE decode); no video benchmark for offloading combinations, GGUF, layerwise casting or attention backends was found in the pages read. Source suggests set_attention_backend may not affect CogVideoX (its processor calls SDPA directly), untested. Curator correction 2026-10-23 (discovery audit record C3-B681-07; sources re-fetched 2026-10-23, excerpts re-located by curator GET): Problem. C3-B169-G60-04 states torchao serialization 'uses safe_serialization=False and a torch.load(weights_only=False) workaround (pickle-capable)'. Correction type: (c) missing limitation. Method. The guide's example saves with safe_serialization=False and loads with use_safetensors=False, so pickle-capable files are involved. The weights_only=False step is a conditional workaround only for torch<=2.6.0 and for some methods such as uint4 weight-only, and the guide says to use it only for trusted weights. Limitations. Which torchao configs write safetensors on newer torch was not tested. Version and date. v0.41.0 docs, fetched 2026-10-23. Curator qualifications: Partially verified: the curator re-read none of the cited sources; S4, S5, S6, S7, S9, S1, S13, S21, S22, S23, S24, S15, S3, S33, S32, S2 rest on the producer's pinned reading. Curator GET 2026-10-23 of the sources not re-read (mechanical source evidence, not semantic verification): S4: HTTP 200, bytes differ from the producer pin; S5: HTTP 200, bytes differ from the producer pin; S6: HTTP 200, bytes differ from the producer pin; S7: HTTP 200, bytes differ from the producer pin; S9: HTTP 200, bytes differ from the producer pin; S1: HTTP 200, bytes differ from the producer pin; S13: HTTP 200, bytes differ from the producer pin; S21: HTTP 200, bytes differ from the producer pin; S22: HTTP 200, bytes differ from the producer pin; S23: HTTP 200, bytes differ from the producer pin; S24: HTTP 200, bytes differ from the producer pin; S15: HTTP 200, bytes differ from the producer pin; S3: HTTP 200, bytes differ from the producer pin; S33: HTTP 200, bytes differ from the producer pin; S32: HTTP 200, bytes differ from the producer pin; S2: HTTP 200, bytes differ from the producer pin. Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/quantization/overview.md",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/quantization/bitsandbytes.md",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/quantization/torchao.md",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/quantization/gguf.md",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/api/pipelines/ltx_video.md",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/optimization/memory.md",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/src/diffusers/hooks/layerwise_casting.py",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/src/diffusers/models/transformers/transformer_wan.py",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/src/diffusers/models/transformers/transformer_ltx.py",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/src/diffusers/models/transformers/transformer_hunyuan_video.py",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/src/diffusers/models/transformers/cogvideox_transformer_3d.py",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/src/diffusers/models/modeling_utils.py",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/optimization/attention_backends.md",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/src/diffusers/models/attention_processor.py#L2277-L2345",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/pull/10009",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://github.com/huggingface/diffusers/blob/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/optimization/speed-memory-optims.md",
      "note": "quantization/overview.md L31, L148; quantization/gguf.md L26"
    },
    {
      "url": "https://raw.githubusercontent.com/huggingface/diffusers/086bf9578c0f4acbc66e48cd1e7cc26befd9e10f/docs/source/en/quantization/torchao.md",
      "note": "correction source (record C3-B681-07): Serializing and Deserializing quantized models; same paragraph"
    }
  ]
}

Evidence claims

  • [sourced_fact] Documented per-backend statements: bitsandbytes 8-bit halves and 4-bit cuts memory 4x (weights only; get_memory_footprint does not estimate inference memory); torchao weight-only keeps activation peaks, fp8 is recommended for compute capability >= 8.9, and its serialization path uses safe_serialization=False and a torch.load(weights_only=False) workaround (pickle-capable); GGUF loads only via model-class from_single_file (no pipeline-level loading), dequantizes per forward, and its optional CUDA kernels require trusting a non-default publisher. Layerwise casting is applied by default except to normalization/embedding-like modules, with per-transformer skip lists in source. The only video benchmark table with hardware reachable from the quantization docs is PR 10009's single-H100 CogVideoX1.5-5B table (transformer only, no text encoder, memory read before VAE decode); no video benchmark for offloading combinations, GGUF, layerwise casting or attention backends was found in the pages read. Source suggests set_attention_backend may not affect CogVideoX (its processor calls SDPA directly), untested. · locator: quantization/overview.md L31, L148; quantization/gguf.md L26 source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes