{ "_comment": "JoyImageEdit 16B DiT 量化配置 — 激进策略:边界层BF16,注意力FP8,MLP用NVFP4", "format": "1.0", "block_names": ["double_blocks", "condition_embedder", "proj_out"], "rules": [ { "_comment": "输入/输出边界层 + 时间/文本嵌入 → BF16,不做量化(参数少但敏感)", "match": ["condition_embedder", "proj_out"], "policy": null }, { "_comment": "注意力 QKV + proj 权重 → FP8(注意力对量化噪声更敏感,保留更多精度)", "match": ["img_attn_qkv", "img_attn_proj", "txt_attn_qkv", "txt_attn_proj"], "policy": "float8_e4m3fn" }, { "_comment": "所有 MLP 权重 → NVFP4(参数量的主体,约60-70%,激进4bit量化)", "match": ["img_mlp", "txt_mlp"], "policy": "nvfp4" } ], "_tensor_coverage": { "description": "各层量化策略汇总", "img_in.weight": "5D Conv3d,自动跳过(非2D),保持BF16", "proj_out.weight": "非量化(匹配规则1),保持BF16", "condition_embedder.*.weight": "非量化(匹配规则1),保持BF16", "double_blocks.*.attn.*_qkv.weight": "FP8(匹配规则2)", "double_blocks.*.attn.*_proj.weight": "FP8(匹配规则2)", "double_blocks.*.*_mlp.net.*.weight": "NVFP4(匹配规则3)", "double_blocks.*.*_mlp.net.*.proj.weight": "NVFP4(匹配规则3)", "double_blocks.*.*_mod.modulate_table": "1D,自动跳过,保持BF16", "double_blocks.*.attn.*_norm.weight": "1D RMSNorm,自动跳过,保持BF16", "all *.bias": "1D,自动跳过,保持BF16" }, "_estimated_savings": { "bf16_size_gb": "~32 GB(未量化 DiT 16B参数)", "quantized_size_gb": "~14 GB(MLP: 4x压缩, Attention: 2x压缩, 边界: 无压缩)", "total_estimated_gb": "~30 GB(DiT 14GB + MLLM 16GB BF16)", "nvfp4_blocks": "320个MLP权重矩阵(40 blocks × 2 streams × 2 types × 2 layers)", "fp8_blocks": "320个Attention权重矩阵(40 blocks × 2 streams × 4 weights)" } }