新闻详情

新闻详情

首页 / 资讯中心 / 详情

LTX-2 量化感知蒸馏(QAD)实战:在原生 LTX 训练循环中用 Model Optimizer 融合 NVFP4 校准与知识蒸馏

发布时间:2026/9/27 5:39:46来源:尧图网络
LTX-2 量化感知蒸馏(QAD)实战:在原生 LTX 训练循环中用 Model Optimizer 融合 NVFP4 校准与知识蒸馏
人工智能大模型模型优化模型量化模型压缩【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载本文基于 NVIDIA Model Optimizer 仓库中的 QAD 示例examples/windows/diffusers/qad_example完整讲解如何为 LTX-2 视频生成 DiT 模型搭建Quantization-Aware Distillation量化感知蒸馏训练管线以 LTX 官方训练器ltx-trainer为主干叠加 ModelOpt 的mtq.quantizePTQ 校准、mtd.convert知识蒸馏封装与 NVFP4 量化最终产出可直接加载进 ComfyUI 的推理检查点。读完本文你将掌握该示例的目录结构、配置参数、训练命令、检查点合并全流程以及每个环节在源码中的具体实现。示例概览为什么在蒸馏训练中同时做量化量化感知蒸馏的核心思想是让学生模型以量化fake quantization形态训练同时用全精度的教师模型通过蒸馏损失引导其输出从而在权重被压缩到 NVFP4 等低位格式后仍保留原始模型的生成质量。该示例把这一思路落地到 LTX-2 上组合了两类组件LTX packagesltx-trainer等提供训练循环、数据集、训练策略masked loss、音视频分支拆分、flow matching 时间步采样NVIDIA ModelOpt提供 PTQ 校准mtq.quantize、蒸馏转换mtd.convert与 NVFP4 量化配置。组合损失沿用了完整蒸馏训练器的思想由任务损失与蒸馏损失加权而成L_total α × L_task (1−α) × L_distill其中α即示例中的kd_loss_weight0表示纯任务损失1表示纯蒸馏损失。重要提醒第三方许可边界。LTX-2 是 Lightricks 提供的第三方模型与软件包ltx-core、ltx-pipelines、ltx-trainer不受NVIDIA Model Optimizer 的 Apache 2.0 许可约束。安装和使用这些包必须遵守 LTX Community License Agreement任何基于 LTX-2 使用 Model Optimizer 产生的衍生模型或微调权重包括量化、蒸馏后的检查点仍受该协议约束而不属于 Apache 2.0。示例脚本sample_example_qad_diffusers.py在启动时也会发出相同的UserWarning见 sample_example_qad_diffusers.py。注意事项。本示例定位为演示 QAD 管线的示例脚本已在 Linux RTX 5090 上验证可运行但该配置下会遇到OOM显存不足实际使用时需按自己的 GPU 显存调整批次、梯度累积与 FSDP 分片策略。若需要完整阶段的 QAD 实现LTX-2 DiT ModelOpt 量化、完整校准选项、检查点续训、多节点训练请参考仓库中的全量蒸馏训练器 distillation_trainer.py 及其文档 examples/diffusers/distillation/README.md。环境要求与安装运行本示例需要Python 3.10支持 CUDA 的 GPUAccelerate用于 FSDP 多 GPU 训练此链接为第三方文档仓库内以accelerate依赖形式提供创建虚拟环境并安装依赖python -m venv .venv .venv\Scripts\activate # Windows # source .venv/bin/activate # Linux/macOS pip install -r requirements.txt仓库中 requirements.txt 的实际内容对应文档中的依赖表包来源ltx-coregithttps://github.com/Lightricks/LTX-2.git#subdirectorypackages/ltx-coreltx-pipelinesgithttps://github.com/Lightricks/LTX-2.git#subdirectorypackages/ltx-pipelinesltx-trainergithttps://github.com/Lightricks/LTX-2.git#subdirectorypackages/ltx-trainernvidia-modelopt[hf]PyPInvidia-modelopt[hf]含 HF 相关扩展若环境中尚未具备以下基础包可一并安装pip install torch accelerate safetensors pyyaml项目文件布局示例目录共 5 个文件职责划分如下文件说明sample_example_qad_diffusers.py主脚本QAD 训练与推理检查点生成约 1007 行ltx2_qad.yamlLTX 训练配置模型、数据、优化、QAD 选项fsdp_custom.yamlAccelerate FSDP 多 GPU 训练配置requirements.txt第三方依赖清单README.md本文所依据的使用说明主脚本从ltx_trainer导入LtxvTrainer、PrecomputedDataset、load_transformer、SAMPLERS、get_training_strategy从modelopt.torch导入mtddistill、mtoopt、mtqquantization以及NVFP4_DEFAULT_CFG构成原生 LTX 训练 ModelOpt 量化蒸馏的组合见 sample_example_qad_diffusers.py。使用步骤1. 准备数据集运行 LTX 预处理脚本从视频中提取 latent 与文本 embedding与 LTX 训练管线一致python scripts/process_dataset.py /path/to/dataset.json \ --resolution-buckets 384x256x97 \ --output-dir /path/to/preprocessed \ --model-path /path/to/ltx2/checkpoint.safetensors \ --text-encoder-path /path/to/gemma \ --batch-size 4 \ --with-audio \ --decode参数说明位置参数数据集元数据文件路径带 caption 与视频路径的 CSV/JSON/JSONL。必填--resolution-buckets分辨率分桶、--model-path、--text-encoder-path。可选--output-dir默认.precomputed位于数据集目录下、--batch-size默认 1、--with-audio启用音频分支、--decode解码并保存视频以便人工核验。随后在配置文件步骤 2中把data.preprocessed_data_root设为与--output-dir相同的路径。Slurm 集群场景用srun配合torchrun运行同一脚本需从 Slurm 读取MASTER_ADDR、MASTER_PORT、WORLD_SIZE并传--nnodes$SLURM_NNODES与--nproc_per_node8。2. 配置路径与 QAD 超参数编辑 ltx2_qad.yaml至少设置三个路径model.model_path—— 基础 LTX 检查点路径如.safetensorsmodel.text_encoder_path—— Gemma 文本编码器路径data.preprocessed_data_root—— 预处理后的 LTX 数据集路径。qad段可按需调整calib_size、kd_loss_weight、exclude_blocks、skip_inference_ckpt。可通过 YAML 控制的超参数以下参数均可写入ltx2_qad.yamlQAD 专属选项还可从 CLI 覆盖见步骤 3。文档给出的默认值如下段键默认值示例说明qadcalib_size512PTQ 校准批次数越多 scale 估计越准但启动越慢qadkd_loss_weight0.5组合损失中蒸馏损失的权重0 仅任务损失1 仅蒸馏损失qadexclude_blocks[0, 1, 46, 47]排除量化的 Transformer block 索引如首尾若干层qadskip_inference_ckptfalse为true时训练结束后不构建推理检查点optimizationlearning_rate1e-6学习率QAD/蒸馏通常取低值optimizationsteps300总训练步数optimizationbatch_size1每设备批次大小optimizationgradient_accumulation_steps4梯度累积步数有效批 batch_size × 累积 × GPU 数optimizationoptimizer_typeadamw优化器类型checkpointsinterval100每 N 步保存检查点null表示禁用(根)output_diroutputs/ltx2_qad检查点与日志输出目录仓库中 ltx2_qad.yaml 的完整内容还包含文档未列出的训练细节可作为扩展参考model.training_mode: full非 LoRAtraining_strategy.name: text_to_video、first_frame_conditioning_p: 0.1optimization.max_grad_norm: 1.0、scheduler_type: linear、enable_gradient_checkpointing: trueacceleration.mixed_precision_mode: bf16且注释明确quantization留空——量化由 ModelOpt 接管而不是 LTX 自带的 quant 方案load_text_encoder_in_8bit: true用于省显存validation段定义了推理验证用的 prompts、negative_prompt、video_dims: [768, 448, 89]、guidance_scale: 3.5、inference_steps: 50等flow_matching.timestep_sampling_mode: shifted_logit_normalhub、wandb段控制 HF Hub 推送与 WB 日志。主脚本解析 QAD 参数时遵循CLI 覆盖 YAMLYAML 覆盖默认值的优先级只有当 CLI 参数仍等于默认值512/0.5/[0, 1, 46, 47]时才回退读取qad段见 sample_example_qad_diffusers.py。3. 运行 QAD 训练使用 Accelerate 配合仓库提供的 FSDP 配置启动accelerate launch --config_file fsdp_custom.yaml sample_example_qad_diffusers.py train \ --config ltx2_qad.yaml \QAD 专属参数可在命令行追加覆盖例如accelerate launch --config_file fsdp_custom.yaml sample_example_qad_diffusers.py train \ --config ltx2_qad.yaml \ --calib-size 512 \ --kd-loss-weight 0.5 \ --exclude-blocks 0 1 46 47 \ --skip-inference-ckpt训练结束后检查点保存在output_dir下如outputs/ltx2_qad/checkpoints/格式为 safetensors并附带可选的 amax 与 modelopt state 文件。主脚本还支持仅构建推理检查点的子命令python sample_example_qad_diffusers.py create-inference \ --trained path/to/model_weights_step_02200.safetensors \ --base path/to/ltx2/base.safetensors \ --output path/to/inference.safetensorsfsdp_custom.yaml见 fsdp_custom.yaml的关键设置包括distributed_type: FSDP、fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP、fsdp_transformer_layer_cls_to_wrap: BasicAVTransformerBlock、fsdp_state_dict_type: SHARDED_STATE_DICT、fsdp_sync_module_states: true、fsdp_cpu_ram_efficient_loading: true、num_processes: 8。需要强调的是主脚本在 FSDP 包装accelerator.prepare之前先完成量化和蒸馏封装这与通常的先 prepare 再转换顺序不同是让mtq/mtd的模块替换与 FSDP 分片正确共存的关键设计。4. 创建推理检查点ComfyUI 兼容ComfyUI 是基于节点的扩散模型运行界面支持 Stable Diffusion、LTX 等导出的检查点可在其中加载通过 prompt 与工作流生成图像或视频。要将训练产物合并为单个 ComfyUI 兼容的检查点可使用 PTQ 检查点合并器python -m ltx2.tools.ptq.checkpoint_merger \ --artefact /path/to/amax_artifact.json \ --checkpoint /path/to/ltx2_qad_bf16.safetensors \ --config /path/to/config.yaml \ --output /path/to/comfyui_checkpoints/nvfp4_qad_inference.safetensors参数含义--artefact—— 校准/QAD 训练产生的 amax artifact JSON 路径--checkpoint—— 训练后的 QAD 权重如本次运行得到的ltx2_qad_bf16.safetensors--config—— 合并器配置 YAML 路径--output—— 输出 ComfyUI 就绪的.safetensors文件路径。该命令产出单个.safetensors文件可直接在 ComfyUI 中加载。仓库主脚本内置的create_inference_checkpoint实现了等价逻辑其 7 步流程见 sample_example_qad_diffusers.py可概括为加载训练检查点兼容 torch pickle 与 safetensors通过文件头魔数自动探测格式→ 提取 amax 并单独存为 JSON → 剔除 teacher/loss/quantizer 键 → 加载基础检查点并匹配 dtype → 为 transformer 键补model.diffusion_model.前缀 → 合并基础模型非 transformer 权重 基础 embeddings_connector 训练过的 transformer→ 以原子写方式写.tmp再 rename保存 safetensors 并携带基础模型元数据。工作原理源码级拆解文档给出的 5 步流程与 sample_example_qad_diffusers.py 的实现一一对应1. 模型加载—— 基础 Transformer 通过ltx_trainer.model_loader.load_transformer加载。2. PTQ 校准——mtq.quantize使用 LTX 数据集与训练策略跑校准循环NVFP4 配置排除敏感层与指定 block。量化配置由build_quant_config生成sample_example_qad_diffusers.pyNVFP4 核心理化格式num_bits: (2, 1)E2M1 主格式 1 位缩放、block_sizes: {-1: 16, type: dynamic, scale_bits: (4, 3)}、axis: None*weight_quantizer与*input_quantizer全部启用一组敏感层模式被禁用量化包括*patchify_proj*、*adaln_single*、*caption_projection*、*proj_out*以及音频分支与音视频交叉注意力av_ca_*相关模式见SENSITIVE_LAYER_PATTERNSsample_example_qad_diffusers.pyexclude_blocks指定的 block默认首尾各两个[0, 1, 46, 47]整块排除量化。_run_calibrationsample_example_qad_diffusers.py用 LTX 的PrecomputedDataset 训练策略构造校准 DataLoader按calib_size取批量样本执行前向calibration_forward_loop中途失败批次被记录跳过失败比例过半才中止校准完成后 rank 0 打印mtq.print_quant_summary。3. 蒸馏设置—— 以同一检查点加载全精度教师模型随后用 ModelOpt 的mtd.convert把量化后的学生包装为蒸馏模型。_setup_distillationsample_example_qad_diffusers.py的关键配置teacher_model以惰性 lambda 方式提供教师加载在 CPU、bf16蒸馏损失criterion为自定义DiffusionMSELosssample_example_qad_diffusers.py针对 LTX-2 前向返回(video_pred, audio_pred)元组的新输出格式按video_weight0.95、audio_weight0.05加权两个分支的 MSEloss_balancer使用 ModelOpt 的mtd.StaticLossBalancer(kd_loss_weight...)对应 loss_balancers.py 中的StaticLossBalancer实现L_total α·L_task (1−α)·L_distill的组合expose_minimal_state_dict: False。4. 训练—— 标准 LTX 训练循环但覆写了_training_stepsample_example_qad_diffusers.py先由训练策略算出hard_loss任务损失再unwrap_model后通过DistillationModel.compute_kd_loss(student_losshard_loss)注入蒸馏损失。5. 检查点保存—— 覆写的_save_checkpointsample_example_qad_diffusers.py做四件事提取 amax把含_amax的键值序列化为 JSONamax_step_XXXXX.json供后续 NVFP4 推理合并使用过滤键按QUANTIZER_KEYWORDS_amax、_zero_point、input_quantizer、weight_quantizer、output_quantizer、TEACHER_KEYWORDS_teacher_model、LOSS_KEYWORDS_loss_modules剔除教师/损失/量化器状态is_removable_keysample_example_qad_diffusers.py只保留干净的学生权重dtype 对齐与基础模型对照把model.diffusion_model.前缀下的权重 dtype 对齐到基础模型fp32 兜底转 bf16原子保存先写.tmp再 rename并使用safetensors.save_file不静默回退 pickle随后另存modelopt_state_step_*.pth含get_quantizer_state_dict得到的量化器状态便于后续续训或进一步导出。多节点安全方面脚本通过is_global_rank0()sample_example_qad_diffusers.py保证只有全局 rank 0 写共享文件系统FSDP 的get_state_dict集合通信在所有 rank 上执行。进阶从示例走向全阶段 QAD若需要完整的 QAD 训练器能力文档中明确说明本示例只是演示脚本仓库的 examples/diffusers/distillation 提供了更完整的实现全量训练器 distillation_trainer.py完整配置示例 distillation_example.yaml支持distillation.distillation_alpha对应本文的kd_loss_weight、distillation_loss_typemse/cosine、teacher_dtype、teacher_model_path与 PTQ 工作流一致的全推理校准calibration_prompts_file默认使用提示词数据集、calibration_size默认 128每个 prompt 跑完整去噪循环、calibration_n_steps默认 30、calibration_guidance_scale默认 4.0检查点续训resume_from_checkpointlatest或显式路径、must_save_bySlurm 时限前自动保存退出、restore_quantized_checkpoint/save_quantized_checkpoint自定义量化配置在CUSTOM_QUANT_CONFIGS中注册后YAML 里用quant_cfg: MY_FP8_CFG引用如FP8_DEFAULT_CFG、INT8_DEFAULT_CFG、NVFP4_DEFAULT_CFG后者定义于 config.py多节点启动需在各节点设置NUM_NODES、GPUS_PER_NODE、NODE_RANK、MASTER_ADDR、MASTER_PORT用accelerate launch --num_machines ... --num_processes ... --machine_rank ... --main_process_ip ... --main_process_port ...拉起并可通过distillation.distillation_alpha0.6这类点号记法在 CLI 覆盖配置。小结本示例提供了一个以 LTX 原生训练循环为主干、ModelOpt 只负责量化与蒸馏的 QAD 最小可运行范式PTQ 校准阶段用 NVFP4 配置配合敏感层/首尾 block 排除蒸馏阶段用全精度教师 音视频加权 MSE StaticLossBalancer组合损失训练阶段通过覆写_training_step注入 KD 损失保存阶段则通过键过滤、amax 提取、dtype 对齐与原子写产出干净且 ComfyUI 可加载的推理检查点。对于生产级需求可直接迁移到 examples/diffusers/distillation 的全阶段蒸馏训练器上复用其完整的校准选项、检查点续训与多节点支持。赞分享人工智能大模型模型优化模型量化模型压缩【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载相关推荐使用 NVIDIA Model Optimizer 对 LTX-2 DiT 进行量化感知蒸馏训练QAD完整指南使用 NVIDIA Model Optimizer 对 LTX 2 DiT 进行量化感知蒸馏训练QAD完整指南 本篇技术指南聚焦 NVIDIA Model人工智能大模型模型优化模型量化模型压缩Model-Optimizer 实战用量化感知蒸馏QAD恢复 Qwen3.6-35B-A3B 的 W4A4 NVFP4 精度Model Optimizer 实战用量化感知蒸馏QAD恢复 Qwen3.6 35B A3B 的 W4A4 NVFP4 精度 本篇技术指南基于 Model人工智能大模型模型优化模型量化模型压缩Model-Optimizer 量化感知训练与蒸馏QAT/QAD实战指南从 NVFP4 PTQ 到精度恢复与部署Model Optimizer 量化感知训练与蒸馏QAT/QAD实战指南从 NVFP4 PTQ 到精度恢复与部署 量化感知训练QAT与量化感知蒸馏Q人工智能大模型模型优化模型量化模型压缩创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

建设网站搞网络营销的总结:避开建站报价陷阱,3招搞定流量 2026/9/27 7:56:49

建设网站搞网络营销的总结:避开建站报价陷阱,3招搞定流量

建设网站搞网络营销的总结:避开建站报价陷阱,3招搞定流量 网站做好了没人访问,这是无数老板和运营人最头疼的事。你花了几万块,甚至十几万,盯着建站报价单上的数字,看着页面终于上线,结果后台数据一片惨淡。很多客户拿着做好的网站来找我,第一句话往…

阅读更多 →
锦州做网站哪家好:避开3个坑,搞定性能优化 2026/9/27 7:56:42

锦州做网站哪家好:避开3个坑,搞定性能优化

锦州做网站哪家好:避开3个坑,搞定性能优化 改个按钮颜色,建站公司拖了一周还没动静?这种憋屈劲儿,锦州很多老板都尝过。更糟心的是,网站上线后打开像蜗牛,用户流失率飙升,这时候你才想起来问【性能优化】的事,对方却让你再等。…

阅读更多 →
Perplexity发布实时搜索API,子文档级精度与索引管道拆解 2026/9/27 7:56:36

Perplexity发布实时搜索API,子文档级精度与索引管道拆解

9月25日消息,Perplexity AI 发布全面搜索 API,宣称具备实时更新网络索引库、每秒处理数万次索引更新的能力,并首创子文档级精度算法,面向开发者提供 AI 优化搜索数据。这个发布对做检索增强生成和 AI 搜索应用的人值得仔细拆&…

阅读更多 →
从 opentelemetry-sdk-workers 到 sdk-trace-web:@highlight-run/cloudflare SDK 的演进史与源码剖析 2026/9/27 7:56:35

从 opentelemetry-sdk-workers 到 sdk-trace-web:@highlight-run/cloudflare SDK 的演进史与源码剖析

可观测性后端 【免费下载链接】highlight highlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more. 项目地址: https://gitcode.com/gh_mirrors/hi/highlight 点击查看 免费下…

阅读更多 →
TEN-framework 中 curl 组件的弃用特性清单解析:NSS/gskit/旧版 MinGW 与空格分隔 NO_PROXY 的移除计划 2026/9/27 7:56:35

TEN-framework 中 curl 组件的弃用特性清单解析:NSS/gskit/旧版 MinGW 与空格分隔 NO_PROXY 的移除计划

人工智能AI Agent多模态语音AI 应用 【免费下载链接】ten-framework Open-source framework for conversational voice AI agents 项目地址: https://gitcode.com/TEN-framework/ten-framework 点击查看 免费下载 本指南基于本仓库 third_party/curl/docs/DEPRECAT…

阅读更多 →
如何用 Wand-Enhancer 免费解锁 Wand 专业版:3 分钟本地补丁完整指南 2026/9/27 7:56:29

如何用 Wand-Enhancer 免费解锁 Wand 专业版:3 分钟本地补丁完整指南

如何用 Wand-Enhancer 免费解锁 Wand 专业版:3 分钟本地补丁完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer 是…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉