Skip to main content
AI
  • Get started with AI

    • Red Hat AI

      Accelerate the development and deployment of enterprise AI solutions.

    • AI learning hub

      Explore learning materials and tools, organized by task.

    • AI interactive demos

      Click through scenarios with Red Hat AI, including training LLMs and more.

    • AI/ML learning paths

      Expand your Red Hat OpenShift AI knowledge using these learning resources.

    • AI quickstarts

      Focused AI use cases designed for fast deployment on Red Hat AI platforms.

    • No-cost AI training

      Foundational Red Hat AI training.

  • Featured resources

    • Red Hat OpenShift AI
    • Open source AI for developers
    • AI product application development
    • Open source-powered AI/ML for hybrid cloud
    • AI and Node.js cheat sheet

Red Hat AI Factory with NVIDIA

Red Hat AI Factory with NVIDIA is a co-engineered, enterprise-grade AI solution for building, deploying, and managing AI at scale across hybrid cloud environments.

Learn
  • Self-guided

    • Documentation

      Find answers, get step-by-step guidance, and learn how to use Red Hat products.

    • Learning paths

      Explore curated walkthroughs for common development tasks.

    • Guided learning

      Receive custom learning paths powered by our AI assistant.

    • See all learning
  • Hands-on

    • Developer Sandbox

      Spin up Red Hat's products and technologies without setup or configuration.

    • Interactive labs

      Learn by doing in these hands-on, browser-based experiences.

    • Interactive demos

      Click through product features in these guided tours.

  • Browse by topic

    • AI/ML
    • Automation
    • Java
    • Kubernetes
    • Linux
    • See all topics
  • Training & certifications

    • Courses and exams
    • Certifications
    • Skills assessments
    • Red Hat Academy
    • Learning subscription
    • Explore training
Build
  • Get started

    • Red Hat build of Podman Desktop

      A downloadable, local development hub to experiment with our products and builds.

    • Developer Sandbox

      Spin up Red Hat's products and technologies without setup or configuration.

  • Download products

    • Red Hat Enterprise Linux
    • Red Hat AI
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products
  • Featured

    • Red Hat build of OpenJDK
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat Developer Toolset
  • References

    • E-books
    • Documentation
    • Cheat sheets
    • Architecture center
Community
  • Get involved

    • Events
    • Live AI events
    • Red Hat Summit
    • Red Hat Accelerators
    • Community discussions
  • Follow along

    • Articles & blogs
    • Developer newsletter
    • Videos
    • Github
  • Get help

    • Customer service
    • Customer support
    • Regional contacts
    • Find a partner

Join the Red Hat Developer program

Download Red Hat products and project builds, access support documentation, learning content, and more.

ConsoleDocsSupport Search
New For you

Recommended

We'll recommend resources you may like as you browse. Try these suggestions for now.

  • Product downloads
  • Cheat sheets
  • Red Hat Developer learning portal
  • Developer blog
  • E-books
  • Developer Sandbox
Log in

Get more with a Red Hat Developer account

  • Product downloads
  • Console access
  • Event registration
  • Training & trials
Explore more account benefitsLog in or register

A subscription may be required for some services.

Contact us

LLM Compressor 0.8.0: Extended support for Qwen3 and more

This release brings Qwen3-VL and Qwen3-Next support, improved accuracy, and greater flexibility

October 7, 2025
Dipika Sikka Kyle Sayers Brian Dellabetta
Related topics:
Artificial intelligence
Related products:
Red Hat AI

    The LLM Compressor 0.8.0 release introduces significant enhancements to quantization workflows, extended support for Qwen3 models, and improved accuracy recovery. This release features five notable additions that we'll explore in detail.

    1. Multiple modifiers during oneshot

    LLM Compressor now supports the use of multiple modifiers within a single oneshot compression run. This capability allows practitioners to apply different modifiers to specific submodules—such as combining AWQ and GPTQ for W4A16 quantization—while only having to apply a dataset once through a single calibration run. This feature enables enhanced support for non-uniform quantization, giving users the flexibility to account for varying sensitivity across layers and more options for post-training quantization (PTQ) experimentation.

    Example: Non-uniform quantization with multiple modifiers.

    from transformers import AutoModelForCausalLM
    from llmcompressor import oneshot
    from llmcompressor.modifiers.awq import AWQMapping, AWQModifier
    from llmcompressor.modifiers.quantization import GPTQModifier
    model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
    model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto")
    #  Configure the quantization algorithm to run.
    #   * quantize self_attn layers to W8A8 with GPTQ
    #   * quantize mlp layers to W4A16 with AWQ
    #       only include mappings pertaining to target layers
    recipe = [
        GPTQModifier(targets=r"re:.*self_attn\.(k|q|o|v)_proj$", scheme="W8A8"),
        AWQModifier(
            targets=r"re:.*mlp\.(down|gate|up)_proj$",
            scheme="W4A16",
        ),
    ]
        
    oneshot(
    model=model,
           dataset="HuggingFaceH4/ultrachat_200k",
           recipe=recipe,
           max_seq_length=MAX_SEQUENCE_LENGTH,
           num_calibration_samples=NUM_CALIBRATION_SAMPLES,
           pipeline="sequential" 
    )

    With the example above, users are able to apply multiple quantization schemes using both AWQ and GPTQ, producing a mixed-precision model that is directly runnable in vLLM.

     "quantization_config": {
        "config_groups": {
            "group_0": {
                "format": "int-quantized",
                "input_activations": {
                    "actorder": null,
                    "block_structure": null,
                    "dynamic": true,
                    "group_size": null,
                    "num_bits": 8,
                    "observer": null,
                    "observer_kwargs": {},
                    "strategy": "token",
                    "symmetric": true,
                    "type": "int"
                },
                "output_activations": null,
                "targets": [
                    "re:.*self_attn\\.(k|q|o|v)_proj$"
                ],
                "weights": {
                    "actorder": null,
                    "block_structure": null,
                    "dynamic": false,
                    "group_size": null,
                    "num_bits": 8,
                    "observer": "minmax",
                    "observer_kwargs": {},
                    "strategy": "channel",
                    "symmetric": true,
                    "type": "int"
                }
             },
            "group_1": {
                "format": "pack-quantized",
                "input_activations": null,
                "output_activations": null,
                "targets": [
                    "re:.*mlp\\.(down|gate|up)_proj$"
                ],
                "weights": {
                    "actorder": null,
                    "block_structure": null,
                    "dynamic": false,
                    "group_size": 128,
                    "num_bits": 4,
                    "observer": "minmax",
                    "observer_kwargs": {},
                    "strategy": "group",
                    "symmetric": true,
                    "type": "int"
                }
            }
        },
        "format": "mixed-precision",
    }

    For further details on non-uniform quantization support, see the examples in LLM Compressor.

    2. Transforms update: Configurable transforms with variable rotation sizes

    Transform-based modifiers (SpinQuantModifier, QuIPModifier) now support a configurable transform_block_size to further customize the Hadamards applied to the model. The transform_block_size determines the size of the Hadamard, removing the requirement for full-sized rotations. This allows practitioners to align Hadamard block sizes with quantization group sizes, improving efficiency and accuracy as smaller Hadamards require less cost at runtime.

    Example of using Hadamard size 128 with the QuIPModifier.

    from transformers import AutoModelForCausalLM
    from llmcompressor import oneshot
    from llmcompressor.modifiers.quantization import QuantizationModifier
    from llmcompressor.modifiers.transform import QuIPModifier
    # Select model and load it.
    # NOTE: because the datafree pipeline is being used in this
    # example, you can use additional GPUs to support larger models
    MODEL_ID = "meta-llama/Llama-3.1-8B-Instruct"
    model = AutoModelForCausalLM.from_pretrained(MODEL_ID, torch_dtype="auto")
    # Configure the quantization algorithm to run.
    #   * apply quip transforms to model in order to make quantization easier
    #   * quantize the weights to 4 bit with a group size 128
    recipe = [
        QuIPModifier(
            rotations=["v", "u"], transform_block_size=128,
    transform_type="hadamard"
        ),
        QuantizationModifier(targets="Linear", scheme="W4A16", ignore=["lm_head"]),
    ]
    # Apply algorithms.
    oneshot(model=model, recipe=recipe, pipeline="datafree")

    The model produced by the above example will apply online rotations (that is, rotations during runtime). Previously, these online rotations were applied using the dense GEMM. As of the vLLM v0.11 prerelease, you can efficiently apply both full-sized and variable-sized non-random Hadamard rotations using the hadacore kernels. With this update, we're able to see no additional cost to the model's latency when compared to its quantized counterpart with no online rotations, as you can see in the following table.

    Quantized model latency (in seconds). Latency metrics were computed using benchmarks/latency.py.

    Base W4A16

    Hadacore

    GEMM

    0.4402

    0.4489

    1.2917

    3. Transforms update: R4 support

    The release extends support for SpinQuant-style transforms available through the SpinQuantModifier, by enabling R4 support. This particular transform is applied to the down_proj layer, enabling potential improved accuracy recovery.

    Example recipe applying R4 transforms, along with the already supported R1 and R2.

    from llmcompressor.modifiers.quantization import QuantizationModifier
    from llmcompressor.modifiers.transform import SpinQuantModifier
    recipe = [
        SpinQuantModifier(
            rotations=["R1", "R2", "R4"],
            transform_block_size=128,
            transform_type="hadamard",
        ),
        QuantizationModifier(targets="Linear", scheme="W4A16", ignore=["lm_head"]),
    ]

    4. Quantization support for Qwen3 models

    LLM Compressor 0.8.0 has added support for Qwen3-Next and Qwen3-VL MoE models.

    For the Qwen3-Next model, the Qwen3NextSparseMoeBlock is temporarily updated to ensure that all experts see data during oneshot, allowing all quantization scales to be properly calibrated while preserving gated activations for accuracy. Further details can be found in the NVFP4 and FP8 examples.

    This release also adds FP8 quantization support for Qwen3 Vision-Language MoE models. LLM Compressor updates the model's Qwen3VLMoeTextSparseMoeBlock blocks with linearized MoE layers that can be quantized and are runnable in vLLM. See the example for further details. 

    You can see the FP8 block-quantized model on the RedHatAI Hub with full model evaluations on the OpenLLM V1 metrics, where the model achieves an average recovery score of over 99%. Support for calibration pathways requiring data will be added shortly for this model.

    5. Improved accuracy for GPTQ W4A16 schemes

    The GPTQModifier now defaults to using "weight" activation ordering for W4A16 quantization. Weight-based activation ordering has been shown to substantially improve accuracy recovery of up to two points without introducing additional runtime costs. Benchmarks are available in vllm/pull/8135.

    Example model with default weight activation ordering in the "actorder" field.

    "weights": {
         "actorder": "weight",
         "block_structure": null,
         "dynamic": false,
         "group_size": 128,
         "num_bits": 4,
         "observer": "minmax",
         "observer_kwargs": {},
         "strategy": "group",
         "symmetric": true,
         "type": "int"
    }

    Conclusion

    The LLM Compressor 0.8.0 release brings substantial advancements to quantization, including support for multiple modifiers during oneshot, configurable transforms with variable rotation sizes, R4 support for SpinQuant-style transforms, and extended quantization support for Qwen3 Next and Qwen3 VL MoE models. These updates, along with improved accuracy for GPTQ W4A16 schemes, enhance the flexibility, efficiency, and accuracy of LLM compression workflows, paving the way for more optimized and performant models.

    Explore the latest models, recipes, and examples in the LLM Compressor repository, or experiment with quantization techniques to tailor performance to your needs.

    Related Posts

    • LLM Compressor is here: Faster inference with vLLM

    • LLM Compressor: Optimize LLMs for low-latency deployments

    • Multimodal model quantization support through LLM Compressor

    • LLM Compressor 0.7.0 release recap

    • Axolotl meets LLM Compressor: Fast, sparse, open

    • Optimize LLMs with LLM Compressor in Red Hat OpenShift AI

    Recent Posts

    • A day in the life of an NVIDIA H100 on Red Hat OpenShift 5

    • Migrate BuildConfigs to builds for Red Hat OpenShift with one plug-in install

    • Run Red Hat Enterprise Linux CoreOS on NVIDIA BlueField DPUs

    • Agent harness engineering: Separating model capabilities from enforcement

    • What's new for developers in Red Hat Enterprise Linux 10.3 and 9.9

    What’s up next?

    Learn how to set up a cloud development environment (CDE) using Ollama, Continue, Llama3, and Starcoder2 LLMs with OpenShift Dev Spaces for faster, more efficient coding.

    Start the activity
    Red Hat Developers logo

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    Red Hat Developer

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2026 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility
    Ask AI