4-bit量化模型转ONNX后体积暴增问题求助
解决4-bit AWQ模型转ONNX后体积暴涨问题
问题原因
你遇到的体积从7GB涨到34GB的问题,是因为默认导出流程会把4-bit量化权重反量化为FP32格式保存,完全丢失了量化压缩效果。
解决方案
方法1:修改代码指定AWQ量化配置
使用ORTQuantizer配合AWQ量化配置导出,确保保留4-bit格式:
from optimum.onnxruntime import ORTQuantizer from optimum.onnxruntime.configuration import AutoQuantizationConfig from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("SorawitChok/SeaLLM-7B-v2.5-AWQ") # 加载AWQ原模型 model = AutoModelForCausalLM.from_pretrained( "SorawitChok/SeaLLM-7B-v2.5-AWQ", device_map="auto" ) # 指定AWQ量化配置,匹配原模型的量化格式 quantization_config = AutoQuantizationConfig.from_pretrained("awq") # 初始化量化器并导出 quantizer = ORTQuantizer.from_pretrained(model) output_dir = "./SeaLLM-7B-v2.5-AWQ_onnx" quantizer.export( output_dir, quantization_config=quantization_config, use_cache=True, tokenizer=tokenizer ) # 保存tokenizer tokenizer.save_pretrained(output_dir)
方法2:使用optimum-cli命令行导出(更简便)
直接通过命令行工具完成导出,避免代码配置错误:
optimum-cli export onnx --model SorawitChok/SeaLLM-7B-v2.5-AWQ --quantize awq --output ./SeaLLM-7B-v2.5-AWQ_onnx
注意事项
- 确保依赖版本达标:安装最新版
optimum[onnxruntime]、transformers和onnxruntime(建议版本>=1.16),执行命令:pip install --upgrade optimum[onnxruntime] transformers accelerate onnxruntime - 加载原模型时设置
device_map="auto",避免权重被自动反量化到FP32。
内容的提问来源于stack exchange,提问作者Toàn Nguyễn Phúc
相关产品推荐
相关产品推荐

