人工智能大模型模型优化模型量化模型压缩【免费下载链接】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点击查看免费下载导读本文基于 Model-Optimizer 仓库中examples/windows/onnx_ptq/whisper示例完整演示了从 HuggingFace Whisper 模型导出 ONNX、执行 INT8/FP8W8A8后训练量化PTQ、到基于 Optimum-ORT 的推理与 WER 精度评测的端到端流程。读完本文你将掌握如何在 Windows CUDA 环境下用 ModelOpt 的 ONNX 量化 API 对 Whisper 的 encoder / decoder / decoder_with_past 三个子模型分别量化并验证量化前后的转写精度。示例概览一条完整的 Whisper ONNX 量化流水线该示例目录 examples/windows/onnx_ptq/whisper 下包含以下文件文件作用README.md使用说明本文所依据的官方文档whisper_onnx_quantization.pyWhisper ONNX 模型 INT8/FP8 量化脚本whisper_optimum_ort_inference.py基于 Optimum-ORT 的推理与 WER 评测脚本requirements.txt依赖清单含精确版本demo.wav附带的示例音频用于快速验证推理整个工作流分为三步导出 ONNX 模型 → 量化encoder / decoder / decoder_with_past→ 推理或 WER 精度评测。从源码结构看两个脚本都以modelopt.onnx.quantization.quantize或 Optimum-ORT 的ORTModelForSpeechSeq2Seq为核心且共享USE_MERGED False的约定——即不使用 Optimum-ORT 的 merged 模型 API而是分别对独立的 encoder / decoder ONNX 文件进行量化和推理。第一步用 HuggingFace Optimum-CLI 导出 Whisper ONNX 模型量化前需要先用 Optimum 的 CLI 将 HuggingFace Whisper 模型导出为 ONNX。文档给出的两条导出命令导出 FP32 whisper-largeoptimum-cli export onnx --model openai/whisper-large E:\model_store\optimum\whisper_large --task automatic-speech-recognition-with-past --opset 20导出 FP16 whisper-mediumoptimum-cli export onnx --model openai/whisper-medium E:\model_store\optimum\whisper_medium --task automatic-speech-recognition-with-past --opset 20 --dtype fp16 --device cuda关键参数说明--task automatic-speech-recognition-with-past导出带 KV-Cachepast key values的语音识别任务图这是生成decoder_with_past_model.onnx的前提--opset 20目标 ONNX opset 版本。ModelOpt 的 INT8/FP8 量化要求 opset 不低于 19INT4 为 21、NVFP4 为 23opset 20 满足要求--dtype fp16 --device cuda在 GPU 上以 FP16 精度导出模型 ID 可替换为openai/whisper-large-v3、openai/whisper-medium等任意的 Whisper 系列模型。导出完成后目录中应包含encoder_model.onnx、decoder_model.onnx、decoder_with_past_model.onnx以及 tokenizer 文件、config.json、generation_config.json、vocab 文件等这些文件需要保持在同一目录供后续推理脚本直接使用。环境与依赖安装基础依赖安装 ModelOpt 及其 onnx 模块参见 docs/source/getting_started/2_installation.rst 中的 onnx 安装说明安装requirements.txt中列出的依赖pip install -r requirements.txtrequirements.txt 的内容含精确版本其中--extra-index-url指向 cu128 轮子源--extra-index-urlhttps://download.pytorch.org/whl/cu128 accelerate datasets2.19.0 evaluate jiwer librosa onnxruntime-gpu1.23.2 optimum1.23.3 soundfile torch2.7.0cu128 torchaudio2.7.0cu128 transformers4.57.3注意torch2.7.0cu128与torchaudio2.7.0cu128为 cu128CUDA 12.8二进制可支撑 RTX 5090 等 Blackwell 架构 GPU。onnxruntime-gpu1.23.2提供 CUDA EPCUDAExecutionProvider用于推理与校准。可选安装最新的 PyTorch / TorchAudio2.8如果你需要 PyTorch 2.8 及以上版本需额外完成四步安装带 CUDA 支持的 PyTorch 与 TorchAudiopip install --upgrade torch torchaudio --index-url https://download.pytorch.org/whl/cu128安装 torchcodecpip install torchcodec配置 FFMPEG 依赖下载 FFMPEG 7.1.1 full buildshared 版压缩包并解压将解压目录bin文件夹下的所有 DLL 文件复制到 torchcodec 包目录通常位于Python_Root_Folder/Lib/site-packages/torchcodec复制 PyTorch DLL 文件进入 torch 包目录下的lib文件夹将其中所有 DLL 文件同样复制到 torchcodec 包目录。完成上述步骤后torchaudio 即可正常使用。推理与 WER 评测whisper_optimum_ort_inference.pywhisper_optimum_ort_inference.py 负责基于 Optimum-ORT 的 ONNX Whisper 推理输入.wav音频文件输出英文转写文本同时支持基于librispeech_asr数据集的 WER词错误率精度评测。参数一览参数说明--model_nameHuggingFace 模型 ID用于加载 processor / tokenizer--onnx_model_dir包含全部 ONNX 模型及相关文件的目录--inference_ep推理所用的 ORT EP可选cuda/cpu/dml默认cuda--test_samples_count用于评测的样本数量默认 100--log_model_output是否打印模型输出与参考文本默认关闭--cache_dirHuggingFace 文件缓存目录--dtype张量精度fp32或fp16默认fp32--audio_file_path输入.wav音频文件路径必填--run_wer_test是否运行基于librispeech_asr数据集的 WER 评测默认关闭示例命令python .\whisper_optimum_ort_inference.py --model_nameopenai/whisper-large --onnx_model_dirE:\whisper_large \ --audio_file_pathE:\demo.wav \ --run_wer_test --test_samples_count50示例目录中附带了一个demo.wav音频文件可直接用于快速验证推理链路。源码要点EP 选择脚本通过get_ep()将cuda/cpu/dml映射为 ORT 的CUDAExecutionProvider/CPUExecutionProvider/DmlExecutionProviderwhisper_optimum_ort_inference.py。Dynamic Cache 兼容性修复针对最新 transformers 引入的 Dynamic Cache 格式optimum 1.23 尚不支持脚本强制model._supports_default_dynamic_cache lambda: False将缓存回退为旧式 tuple 格式。单音频推理用torchaudio.load读取音频经WhisperProcessor转为input_features送入model.generate后由 processor 解码得到转写文本。WER 评测从librispeech_asrclean/testsplit取样本逐条generate并与参考文本归一化后对比通过evaluate库的wer指标计算 WER、准确率(1 - WER) * 100%并输出总耗时与样本数统计whisper_optimum_ort_inference.py。量化脚本whisper_onnx_quantization.pywhisper_onnx_quantization.py 基于 ModelOpt 的 ONNX PTQ 顶层 APImodelopt.onnx.quantization.quantize.quantize支持 INT8W8A8与 FP8W8A8两种方案可分别量化encoder_model.onnx、decoder_model.onnx、decoder_with_past_model.onnx三个文件。参数一览参数说明--model_nameHuggingFace 模型 ID用于加载 processor--base_model_dir导出后的基础 ONNX 模型所在目录--onnx_path输入.onnx文件路径--output_path量化后.onnx输出路径--calib_method校准方法max或entropy默认max--quant_mode量化模式int8或fp8默认int8--calib_size校准样本数默认 32不应超过 256--batch_size校准批大小默认 1脚本内部断言必须为 1--use_random_calib为 True 时使用随机生成的校准样本默认 False--qdq_for_weights为 True 时权重侧插入 Q→DQ 节点否则仅插入 DQ 节点默认 False--calibration_eps逗号分隔的校准 EP 列表可选cuda/cpu/dml默认cuda,cpu--cache_dirHuggingFace 缓存目录--dtype张量精度fp32或fp16默认fp32示例命令量化 encoderpython .\whisper_onnx_quantization.py --model_nameopenai/whisper-large --base_model_dirE:\whisper_large\base \ --onnx_pathE:\whisper_large\base\encoder_model.onnx \ --output_pathE:\whisper_large\quant_output\encoder_model.onnx量化 decoderpython .\whisper_onnx_quantization.py --model_nameopenai/whisper-large --base_model_dirE:\whisper_large\base \ --onnx_pathE:\whisper_large\base\decoder_model.onnx \ --output_pathE:\whisper_large\quant_output\decoder_model.onnx同样方式可量化decoder_with_past_model.onnx。量化后的三个.onnx文件即可替换原文件交给推理脚本做精度验证。源码级实现剖析1. 子模型识别与差异化校准数据准备脚本根据文件名判断待量化对象whisper_onnx_quantization.pyencoder直接对音频经WhisperProcessor得到的input_features取前calib_size个样本拼成校准数据decoder先加载ORTModelForSpeechSeq2Seq用model.encoder得到encoder_hidden_states再以decoder_start_token_id构造input_ids二者共同作为 decoder 的校准输入whisper_onnx_quantization.pydecoder_with_past额外执行一次 decoder 前向生成收集下一 token 的input_ids、cache_position以及逐层的past_key_values.{i}.decoder/encoder.key/value从而获得带 KV-Cache 输入的校准数据whisper_onnx_quantization.py。其中50259 / 50359 / 50363等 token id 对应英文转写任务的语言、任务与 no-timestamp 标记。2. 顶层量化 API 调用脚本最终调用 ModelOpt 的 ONNX 量化顶层 APIwhisper_onnx_quantization.py关键参数对应关系如下quantize_top_level_api( onnx_pathargs.onnx_path, quantize_modeargs.quant_mode, # int8 或 fp8 calibration_methodargs.calib_method, # max 或 entropy calibration_datacalib_data, # 上述三种差异化校准数据 calibration_epsargs.calibration_eps, use_external_data_formatTrue, output_pathargs.output_path, op_types_to_quantize[MatMul], # 只量化 MatMulGEMM 类算子 nodes_to_quantize[r\S*MatMul[\S]*], # 按节点名正则匹配 nodes_to_exclude[r/lm_head, r/Shape], # 排除 lm_head 与 Shape 节点 dq_onlynot args.qdq_for_weights, # 默认仅插入 DQ 节点 verboseTrue, high_precision_dtypefp16 if args.dtype fp16 else fp32, mha_accumulation_dtypefp16 if args.dtype fp16 else fp32, enable_gemv_detection_for_trtFalse, enable_shared_constants_duplicationFalse, )该 API 的实现在 modelopt/onnx/quantization/quantize.pyW8A8 语义INT8 与 FP8 均对权重Weight和激活Activation做 8-bit 量化输出带 QDQQuantize-Dequantize节点的显式 ONNX 模型校准方法INT8/FP8 支持entropy默认与maxINT4 则支持awq_clip等。本示例默认maxDQ-only 模式dq_onlyTrue时仅插入 DQ 节点权重反量化配合--qdq_for_weights可切换为完整的 Q→DQ 模式high_precision_dtype/mha_accumulation_dtype当输入模型为 fp32 时可将权重与激活转换为 fp16/bf16 作为高精度通路MHA 累积精度 fp16 时对 bmm 的输入输出插入 Cast 节点op_types_to_quantize[MatMul]仅针对 MatMul 量化这是因为 Whisper 的 Transformer 结构以 MatMul 为主ModelOpt 默认在 INT8 模式下还会覆盖 Conv、Gemm、Add、Mul 等算子在 FP8 模式下覆盖 Conv / Gemm / MatMul见 modelopt/onnx/quantization/quantize.py 与 fp8.py 的 FP8 GEMM-only 量化实现。3. 随机校准兜底当--use_random_calib为 True 时脚本跳过真实数据集校准由底层RandomDataProvider生成随机输入对应 quantize.py 中calibration_data is None时的分支适合快速冒烟验证量化流程。支持矩阵与已验证配置支持矩阵ModelONNX INT8 MaxW8A8ONNX FP8 MaxW8A8whisper-large✅✅ONNX INT8 Max指使用 Max 校准的 INT8W8A8ONNX 量化ONNX FP8 Max同理。已验证环境Validated Settings以下是示例在仓库中验证通过的软硬件配置可作为复现的基准环境参考Python 3.11.9宿主机 CUDA 12.4cuDNN 9.5cudnn-windows-x86_64-9.5.0.50_cuda12-archiveWindows 11build 22621GPURTX 4090基础 PyTorch 模型HuggingFaceopenai/whisper-largeONNX 导出器HuggingFace Optimumopset-20FP32 ONNX 模型推理 EPCUDA EP测试样本数100推理 / WER 精度评测量化算法INT8 Max 校准W8A8、FP8 Max 校准W8A8校准样本数32校准 EPcuda、cpu音频数据集librispeech_asr校准 32 样本WER 测试 100 样本加载方式load_dataset(librispeech_asr, clean, splittest)支持的量化 ONNX 文件encoder_model.onnx、decoder_model.onnx、decoder_with_past_model.onnxOptimum-ORT Whisper 模型 API 的use_merged参数保持为 False常见问题排查数据集加载失败本示例使用librispeech_asr数据集做校准与评测若加载数据集遇到问题可以尝试load_dataset的 streaming 选项流式加载可降低内存压力参见 HuggingFace datasets 关于 ASR 数据集加载的相关 issue 讨论更换数据集的 split例如test.clean等用于校准和评测按需替换为其他 ASR 数据集。ONNX 运行时异常若 ONNX 安装意外报错可以尝试更换其他版本的 ONNX 包再运行。GPU 兼容性务必使用 GPU 兼容版本的 torch / torchaudio 等依赖例如 cu128 二进制可支撑 RTX 5090 Blackwell GPU若在非 CUDA 环境下运行可将--calibration_eps调整为cpu--inference_ep调整为cpu。小结通过 examples/windows/onnx_ptq/whisper 示例可以完整复现一条Whisper ONNX 导出 → ModelOpt INT8/FP8 量化 → Optimum-ORT 推理与 WER 评测的 Windows 端到端流水线。其中量化脚本对 encoder / decoder / decoder_with_past 三类子模型分别构造差异化的校准数据并借助 ModelOpt 顶层quantizeAPI 的节点级控制仅量化 MatMul、排除 lm_head 等实现 W8A8 量化推理脚本则提供了单音频转写与数据集级 WER 精度验证能力适合在部署前对量化模型的精度退化进行量化评估。赞分享人工智能大模型模型优化模型量化模型压缩【免费下载链接】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点击查看免费下载相关推荐BEVFormer-tiny 的 ONNX 后训练量化INT8/FP8实战基于 Model-Optimizer 的时间校准与 nuScenes 精度评测BEVFormer tiny 的 ONNX 后训练量化INT8/FP8实战基于 Model Optimizer 的时间校准与 nuScenes 精度评测人工智能大模型模型优化模型量化模型压缩Model-Optimizer ONNX 后训练量化PTQ实战指南从 INT8/FP8/INT4 量化到 TensorRT 部署Model Optimizer ONNX 后训练量化PTQ实战指南从 INT8/FP8/INT4 量化到 TensorRT 部署 导读 本文围绕 exam人工智能大模型模型优化模型量化模型压缩Model Optimizer FAR3D ONNX 后训练量化实战INT8/FP8 编码器 TensorRT 11.1 部署与 Argoverse 2 精度评估Model Optimizer FAR3D ONNX 后训练量化实战INT8/FP8 编码器 TensorRT 11.1 部署与 Argoverse 2人工智能大模型模型优化模型量化模型压缩创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
微信小程序集成百度AI图像识别实战:人脸颜值+植物识别双通道 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 3:05:28
5步搞定有关网站建设的网站新手入门备案不迷路 5步搞定有关网站建设的网站新手入门备案不迷路 备案流程一头雾水,是不是让你连域名都买了却不敢上线?别慌,这是90%的新手都会踩的坑。中国互联网络信息中心(CNNIC)数据显示,2023年我国网站总数超500万个,其中因备案问题被暂停访问的比… · 2026/9/27 3:05:22
企业网站代运营避坑:从零搭建到获客的实战复盘 企业网站代运营避坑:从零搭建到获客的实战复盘 网站上线三个月,后台访客数据却是一条贴地的直线。这种“做好了没人看”的尴尬,是我见过太多中小企业主的常态。很多老板觉得,只要把网站从0到1搭建出来,流量就会像水一样涌进来。大错特错。没有持续的内… · 2026/9/27 3:05:22
gemini-web2api 模型选择指南:Flash、Thinking、Pro、Auto、Lite 完整对比与实战 gemini-web2api 模型选择指南:Flash、Thinking、Pro、Auto、Lite 完整对比与实战 【免费下载链接】gemini-web2api Convert Google Gemini web into OpenAI-compatible API. Zero auth, cross-platform, single file. 项目地址: https://gitcode.com/gh_mirrors/g… · 2026/9/27 3:39:29
选对模型才出活:Kimodo五大SOMA/G1/SMPL-X模型变体选型终极指南 选对模型才出活:Kimodo五大SOMA/G1/SMPL-X模型变体选型终极指南 【免费下载链接】kimodo Official implementation of Kimodo, a kinematic motion diffusion model for high-quality human(oid) motion generation. 项目地址: https://gitcode.com/gh_mirrors/ki… · 2026/9/27 3:39:17
消费品跨部门数据治理:支撑规模化决策的运营机制建设 导语
国内大型消费品企业进入规模扩张阶段后,普遍需要将数据治理从单部门试点扩展到跨部门协同,支撑企业规模化决策。但不少企业在推广过程中,会遇到指标口径跨部门不一致、权限边界不清、治理成果无法对齐决策需求等问题,最终导致… · 2026/9/27 3:39:05
朱雀仿宋字符集全景解析:1.4万枚字形如何覆盖CJK、希腊多音符号与IPA 朱雀仿宋字符集全景解析:1.4万枚字形如何覆盖CJK、希腊多音符号与IPA 【免费下载链接】朱雀仿宋 开源仿宋字库计划 项目地址: https://gitcode.com/TrionesType/zhuque
「朱雀仿宋」是璇玑造字发起的开源仿宋字库计划,以 SIL OFL 1.1 协议发布&am… · 2026/9/27 3:38:59
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01