gptq-based weight-only quantization with configurable bit precision
Implements the GPTQ algorithm to convert full-precision model weights to 2/3/4/8-bit integer representations while preserving activation precision, using per-group quantization with configurable group sizes (typically 128) and optional activation description (desc_act) for improved accuracy. The quantization process performs layer-wise calibration on sample data, computing optimal quantization scales and zero-points to minimize reconstruction error without requiring gradient updates.
Unique: Implements GPTQ with per-group quantization and optional activation description (desc_act) for fine-grained accuracy control, using layer-wise calibration that avoids backpropagation unlike some quantization methods. Supports multiple bit precisions (2/3/4/8-bit) in a single framework with configurable group sizes for hardware-specific optimization.
vs alternatives: More flexible than basic int4 quantization (supports 2/3/8-bit), faster inference than post-training quantization methods like AWQ because it uses simpler per-group scales, and more user-friendly than raw GPTQ implementations with built-in HuggingFace integration.
multi-backend quantized inference with hardware-specific kernels
Provides pluggable backend implementations (CUDA, Exllama/ExllamaV2, Marlin, Triton, ROCm, HPU) that execute quantized matrix multiplications with specialized kernels optimized for different hardware. The framework abstracts backend selection through a factory pattern (AutoGPTQForCausalLM), automatically selecting the fastest available kernel based on GPU architecture and quantization parameters, with fallback chains for compatibility.
Unique: Implements a pluggable kernel abstraction with automatic backend selection and fallback chains, supporting 6+ hardware targets (CUDA, Exllama, Marlin, Triton, ROCm, HPU) without requiring users to manage kernel selection. Marlin backend provides int4*fp16 matrix multiplication optimized for Ampere+ GPUs with compute capability 8.0+, achieving higher throughput than generic CUDA kernels.
vs alternatives: More comprehensive hardware support than vLLM (which focuses on NVIDIA CUDA) and faster inference than llama.cpp on quantized models due to GPU-native kernels, while maintaining ease-of-use through automatic kernel selection.
quantization-aware generation with token-by-token inference
Implements efficient token-by-token generation for quantized models using the generate() API, which performs single-token inference in a loop with quantized matrix multiplications. The generation pipeline handles KV-cache management, attention mask computation, and sampling (greedy, top-k, top-p, temperature) while maintaining quantized weight efficiency throughout generation.
Unique: Implements token-by-token generation for quantized models with standard sampling strategies (greedy, top-k, top-p, temperature) and KV-cache management, maintaining quantized weight efficiency throughout the generation pipeline. Generation API is compatible with HuggingFace's generate() interface, enabling drop-in replacement of FP16 models.
vs alternatives: More efficient than FP16 generation because it uses quantized weights for all matrix multiplications, and simpler to use than vLLM because it doesn't require separate serving infrastructure. Compatible with HuggingFace's generation API, enabling easy model swapping.
quantization config serialization and reproducibility
Serializes quantization parameters (bit precision, group size, desc_act, calibration config) to JSON config files that are saved alongside model checkpoints, enabling reproducible quantization and easy sharing of quantization settings. The config format is compatible with HuggingFace's config.json structure, allowing quantized models to be loaded with standard HuggingFace APIs.
Unique: Serializes quantization parameters (bit precision, group size, desc_act) to JSON config files compatible with HuggingFace's config.json format, enabling quantized models to be loaded with standard HuggingFace APIs. Config files are automatically saved alongside model checkpoints, enabling reproducible quantization without custom loading code.
vs alternatives: More standardized than custom quantization metadata formats because it uses HuggingFace's config structure, and more reproducible than in-memory quantization configs because it persists parameters to disk for version control.
multi-architecture model support with factory-based instantiation
Provides specialized quantized model implementations for 40+ architectures (Llama, Mistral, Falcon, Qwen, Yi, etc.) through an AutoGPTQForCausalLM factory that detects model architecture from HuggingFace config and instantiates the appropriate subclass (e.g., LlamaGPTQForCausalLM, MistralGPTQForCausalLM). Each architecture implementation overrides quantized linear layer definitions and attention mechanisms to match the original model's structure while using quantized weights.
Unique: Uses a factory pattern (AutoGPTQForCausalLM) with architecture-specific subclasses that override quantized linear layers and attention mechanisms, enabling single-API quantization across 40+ model families. Each architecture implementation is tailored to the model's structure (e.g., Llama's RoPE, Mistral's sliding window attention) while maintaining HuggingFace API compatibility.
vs alternatives: More comprehensive architecture coverage than GGUF (which focuses on CPU inference) and simpler to use than manual GPTQ implementations that require per-architecture kernel tuning. Automatic architecture detection eliminates manual model selection errors.
calibration-based quantization with sample-driven scale computation
Performs layer-wise quantization calibration by passing representative samples through the model, computing optimal quantization scales and zero-points for each weight group to minimize reconstruction error. The calibration process uses Hessian-based optimization (from GPTQ paper) to determine per-group scales that preserve model accuracy, with support for custom calibration datasets and configurable sample counts (typically 128-1024 samples).
Unique: Implements Hessian-based scale computation from the GPTQ paper, using calibration samples to compute optimal per-group quantization scales that minimize reconstruction error. Supports configurable calibration dataset size and custom sample selection, enabling domain-specific quantization without retraining.
vs alternatives: More accurate than static quantization (e.g., min-max scaling) because it uses Hessian information to weight important weights higher, and faster than QAT (quantization-aware training) because it requires only forward passes without backpropagation.
peft-lora fine-tuning integration for quantized models
Enables parameter-efficient fine-tuning of quantized models using LoRA (Low-Rank Adaptation) by freezing quantized weights and adding trainable low-rank adapter modules. The integration handles quantized weight compatibility with PEFT's LoRA implementation, allowing gradient-based fine-tuning on quantized models without dequantizing weights, reducing memory overhead during training.
Unique: Integrates PEFT's LoRA framework with quantized weights by freezing quantized linear layers and adding trainable low-rank adapters, enabling gradient-based fine-tuning without dequantization. Supports architecture-specific LoRA target module selection (e.g., q_proj, v_proj for attention layers) to maximize fine-tuning efficiency.
vs alternatives: More memory-efficient than QLoRA (which uses 4-bit quantization + LoRA) because it uses 4-bit quantized weights directly without additional quantization overhead, and simpler than full fine-tuning because it avoids optimizer state for quantized weights.
fused attention module optimization for quantized models
Implements fused attention kernels (e.g., flash-attention) that combine attention computation (query-key-dot-product, softmax, value-multiplication) into a single GPU kernel, reducing memory bandwidth and improving inference speed. Fused attention is architecture-specific and integrated into quantized model implementations where supported, automatically replacing standard attention with optimized kernels during inference.
Unique: Integrates fused attention kernels (flash-attention style) into quantized model implementations, combining query-key-dot-product, softmax, and value-multiplication into a single GPU kernel. Fused attention is automatically selected during inference for supported architectures, reducing memory bandwidth and latency without API changes.
vs alternatives: Faster than standard attention on quantized models because it avoids materializing intermediate attention matrices, and more memory-efficient than unfused attention for long-context inference. Automatic kernel selection eliminates manual optimization code.
+4 more capabilities