| 1234567891011121314151617181920212223242526272829 |
- #!/usr/bin/env python3
- """Do not pass AutoGPTQ MoE zero-points for symmetric quantization."""
- import sys
- from pathlib import Path
- source_root = Path(sys.argv[1]) if len(sys.argv) > 1 else Path.cwd()
- target = source_root / "vllm/model_executor/layers/quantization/auto_gptq.py"
- bad = ''' w1_zp=getattr(layer, "w13_qzeros", None),
- w2_zp=getattr(layer, "w2_qzeros", None),'''
- fixed = ''' w1_zp=getattr(layer, "w13_qzeros", None)
- if not self.quant_config.is_sym
- else None,
- w2_zp=getattr(layer, "w2_qzeros", None)
- if not self.quant_config.is_sym
- else None,'''
- if not target.exists():
- print(f"{target} not found; skipping AutoGPTQ MoE qzeros workaround")
- else:
- text = target.read_text()
- if fixed in text:
- print("AutoGPTQ MoE qzeros workaround already present; skipping")
- elif bad in text:
- target.write_text(text.replace(bad, fixed, 1))
- print("Applied AutoGPTQ symmetric MoE qzeros workaround")
- else:
- print("Known vulnerable AutoGPTQ MoE qzeros pattern not found; skipping")
|