Book a demo Start for free

Compare model versions

Model: RedHatAI/Qwen3.8-27B-INT4

Earlier snapshot Snapshot #313 Repository revision bf08f3d (opens in a new tab) Recorded at 07 Sep 2026, 05:36 UTC Unchanged through 14 Sep 2026, 05:31 UTC
Later snapshot Snapshot #379 Repository revision f957fe5 (opens in a new tab) Recorded at 16 Sep 2026, 05:37 UTC

Summary

Licence

Changed

Declared licence changed.

Apache-2.0 Not declared

PinDiff reports the declared licence and licence files. It does not interpret licence terms.

Evidence · Observed by PinDiff

Earlier
Snapshot #313 · revision bf08f3d · Recorded at 07 Sep 2026, 05:36 UTC
Later
Snapshot #379 · revision f957fe5 · Recorded at 16 Sep 2026, 05:37 UTC
Source
Licence tag declared in the model card metadata, observed via the Hugging Face API; licence file hashes from the repository file manifest.

Weights

Unchanged

No change

Evidence · Observed by PinDiff

Earlier
Snapshot #313 · revision bf08f3d · Recorded at 07 Sep 2026, 05:36 UTC
Later
Snapshot #379 · revision f957fe5 · Recorded at 16 Sep 2026, 05:37 UTC
Source
Weight file hashes and sizes from the repository file manifest (Git LFS SHA256 where available). Weight files are not downloaded.

Remote code / configuration

Unchanged

No change

Remote code No No

config.json Unchanged

generation_config.json Unchanged

Evidence · Observed by PinDiff

Earlier
Snapshot #313 · revision bf08f3d · Recorded at 07 Sep 2026, 05:36 UTC
Later
Snapshot #379 · revision f957fe5 · Recorded at 16 Sep 2026, 05:37 UTC
Source
Stored config.json and generation_config.json at each revision (trust_remote_code / auto_map), and Python file hashes from the repository file manifest.

Access / gating

Unchanged

No change

Public Public

Evidence · Observed by PinDiff

Earlier
Snapshot #313 · revision bf08f3d · Recorded at 07 Sep 2026, 05:36 UTC
Later
Snapshot #379 · revision f957fe5 · Recorded at 16 Sep 2026, 05:37 UTC
Source
Gated and private flags observed via the Hugging Face API.

Model card

Changed

Model card modified (18 sections)

Metadata (front matter) Changed Material section +7 −9

Diff

Removed: - base_model:
Removed: - - Qwen/Qwen3.8-27B
Added: + language:
Added: + - en
Added: + - zh
Added: + library_name: transformers
Added: + pipeline_tag: image-text-to-text
  tags:
Added: + - int4
  - vllm
  - llm-compressor
Removed: - - qwen3_5
  - compressed-tensors
Removed: - - int4
Removed: - - conversational
Removed: - - fp8
Removed: - license: apache-2.0
Removed: - pipeline_tag: image-text-to-text
Removed: - library_name: transformers
Added: + base_model: Qwen/Qwen3.8-27B

Before

base_model:
- Qwen/Qwen3.8-27B
tags:
- vllm
- llm-compressor
- qwen3_5
- compressed-tensors
- int4
- conversational
- fp8
license: apache-2.0
pipeline_tag: image-text-to-text
library_name: transformers

After

language:
- en
- zh
library_name: transformers
pipeline_tag: image-text-to-text
tags:
- int4
- vllm
- llm-compressor
- compressed-tensors
base_model: Qwen/Qwen3.8-27B
Model Overview Added Material section +12 −0

Diff

Added: + - **Model Architecture:** Qwen3_5ForConditionalGeneration
Added: + - **Input:** Text / Image
Added: + - **Output:** Text
Added: + - **Model Optimizations:**
Added: + - **Weight quantization:** INT4
Added: + - **Activation quantization:** None
Added: + - **Release Date:** 2026-08-17
Added: + - **Version:** 1.0
Added: + - **Model Developers:** RedHatAI
Added: +
Added: + This model is a quantized version of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B).
Added: + It was evaluated on several tasks to assess its quality in comparison to the unquantized model.

Before

Not present in the earlier snapshot.

After

- **Model Architecture:** Qwen3_5ForConditionalGeneration
  - **Input:** Text / Image
  - **Output:** Text
- **Model Optimizations:**
  - **Weight quantization:** INT4
  - **Activation quantization:** None
- **Release Date:** 2026-08-17
- **Version:** 1.0
- **Model Developers:** RedHatAI

This model is a quantized version of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B).
It was evaluated on several tasks to assess its quality in comparison to the unquantized model.
Evaluation Added Material section +1 −0

Diff

Added: + This model was evaluated on GSM8K Platinum, IFEval, MMLU-Pro, MATH-500, GPQA Diamond, and AIME 2025 using [lm-evaluation-harness](https://github.com/neuralmagic/lm-evaluation-harness) and [lighteval](https://github.com/neuralmagic/lighteval), all served with vLLM (OpenAI-compatible API). Each benchmark was run with 3 seeds (1234, 2345, 3456; 8 seeds for AIME 2025) and the results averaged; recovery is computed against the BF16 model.

Before

Not present in the earlier snapshot.

After

This model was evaluated on GSM8K Platinum, IFEval, MMLU-Pro, MATH-500, GPQA Diamond, and AIME 2025 using [lm-evaluation-harness](https://github.com/neuralmagic/lm-evaluation-harness) and [lighteval](https://github.com/neuralmagic/lighteval), all served with vLLM (OpenAI-compatible API). Each benchmark was run with 3 seeds (1234, 2345, 3456; 8 seeds for AIME 2025) and the results averaged; recovery is computed against the BF16 model.
Evaluations Removed Material section +0 −8

Diff

Removed: - | Eval | Qwen/Qwen3.8-27B (BF16) | RedHatAI/Qwen3.8-27B-INT4 | Recovery (INT4/BF16) |
Removed: - | --- | --- | --- | --- |
Removed: - | gsm8k_platinum (strict-match) | 95.75% | 96.77% | 101.07% |
Removed: - | ifeval (prompt-level strict) | 92.24% | 91.93% | 99.67% |
Removed: - | mmlu_pro_chat (exact-match) | 84.46% | 83.45% | 98.81% |
Removed: - | math_500 (pass@1) | 83.73% | 83.33% | 99.52% |
Removed: - | gpqa_diamond (pass@1) | 89.23% | 87.88% | 98.49% |
Removed: - | aime25 (avg@1, 8 seeds) | 95.42% | 94.17% | 98.69% |

Before

| Eval | Qwen/Qwen3.8-27B (BF16) | RedHatAI/Qwen3.8-27B-INT4 | Recovery (INT4/BF16) |
| --- | --- | --- | --- |
| gsm8k_platinum (strict-match) | 95.75% | 96.77% | 101.07% |
| ifeval (prompt-level strict) | 92.24% | 91.93% | 99.67% |
| mmlu_pro_chat (exact-match) | 84.46% | 83.45% | 98.81% |
| math_500 (pass@1) | 83.73% | 83.33% | 99.52% |
| gpqa_diamond (pass@1) | 89.23% | 87.88% | 98.49% |
| aime25 (avg@1, 8 seeds) | 95.42% | 94.17% | 98.69% |

After

Not present in the later snapshot.

Qwen3.8-27B-INT4 Added +0 −0

Diff

No line differences.

Before

Not present in the earlier snapshot.

After

Heading only; no text in this section.

Model Optimizations Changed +5 −2

Diff

Removed: - This model was obtained by quantizing the weights of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B) to int4, ready for inference with vLLM.
Removed: - Weights are quantized to int4 with a group size of 128 and the KV Cache has been quantized to FP8. Only the weights of the linear operators within transformer blocks are quantized using [LLM Compressor](https://github.com/vllm-project/llm-compressor). Vision tower and outputhead layers are kept in their original precision.
Added: + This model was obtained by quantizing the weights of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B) to INT4 data type while keeping activations in original precision, with FP8 KV cache, ready for inference with vLLM.
Added: +
Added: + This optimization reduces the number of bits per parameter from 16 to 4, reducing the disk size and GPU memory requirements by approximately 75%.
Added: +
Added: + Only the weights of the linear operators within transformer blocks are quantized using [LLM Compressor](https://github.com/vllm-project/llm-compressor).

Before

This model was obtained by quantizing the weights of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B) to int4, ready for inference with vLLM.
Weights are quantized to int4 with a group size of 128 and the KV Cache has been quantized to FP8. Only the weights of the linear operators within transformer blocks are quantized using [LLM Compressor](https://github.com/vllm-project/llm-compressor). Vision tower and outputhead layers are kept in their original precision.

After

This model was obtained by quantizing the weights of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B) to INT4 data type while keeping activations in original precision, with FP8 KV cache, ready for inference with vLLM.

This optimization reduces the number of bits per parameter from 16 to 4, reducing the disk size and GPU memory requirements by approximately 75%.

Only the weights of the linear operators within transformer blocks are quantized using [LLM Compressor](https://github.com/vllm-project/llm-compressor).
Deployment Added +0 −0

Diff

No line differences.

Before

Not present in the earlier snapshot.

After

Heading only; no text in this section.

vLLM Serving Changed +7 −7

Diff

  ```bash
Removed: - vllm serve RedHatAI/Qwen3.8-27B-INT4
Removed: - --tensor-parallel-size 1
Removed: - --enable-auto-tool-choice
Removed: - --tool-call-parser qwen3_coder
Removed: - --reasoning-parser qwen3
Removed: - --mm-encoder-tp-mode data
Removed: - --max-model-len 69632
Added: + vllm serve RedHatAI/Qwen3.8-27B-INT4 \
Added: + --tensor-parallel-size 1 \
Added: + --enable-auto-tool-choice \
Added: + --tool-call-parser qwen3_coder \
Added: + --reasoning-parser qwen3 \
Added: + --mm-encoder-tp-mode data \
Added: + --max-model-len 69632 \
  --gpu-memory-utilization 0.9
  ```

Before

```bash
vllm serve RedHatAI/Qwen3.8-27B-INT4
  --tensor-parallel-size 1
  --enable-auto-tool-choice
  --tool-call-parser qwen3_coder
  --reasoning-parser qwen3
  --mm-encoder-tp-mode data
  --max-model-len 69632
  --gpu-memory-utilization 0.9
```

After

```bash
vllm serve RedHatAI/Qwen3.8-27B-INT4 \
  --tensor-parallel-size 1 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --reasoning-parser qwen3 \
  --mm-encoder-tp-mode data \
  --max-model-len 69632 \
  --gpu-memory-utilization 0.9
```
Creation Added +107 −0

Diff

Added: + This model was created by applying [LLM Compressor](https://github.com/vllm-project/llm-compressor) with calibration samples from open-perfectblend, using AWQ smoothing and the W4A16 GPTQ scheme, exported in compressed-tensors format.
Added: +
Added: + <details>
Added: +
Added: + ```python
Added: + import torch
Added: + from datasets import load_dataset
Added: + from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration
Added: +
Added: + from llmcompressor import oneshot
Added: + from llmcompressor.modifiers.gptq import GPTQModifier
Added: + from llmcompressor.modifiers.transform.awq import AWQModifier
Added: + from llmcompressor.utils import load_context
Added: +
Added: + MODEL_ID = "Qwen/Qwen3.8-27B"
Added: +
Added: + # Load model.
Added: + with load_context(Qwen3_5ForConditionalGeneration):
Added: + model = Qwen3_5ForConditionalGeneration.from_pretrained(MODEL_ID)
Added: + processor = AutoProcessor.from_pretrained(MODEL_ID)
Added: +
Added: +
Added: + recipe = [
Added: + AWQModifier(duo_scaling="both"),
Added: + GPTQModifier(
Added: + targets="Linear",
Added: + scheme="W4A16",
Added: + ignore=[
Added: + "re:visual.*",
Added: + "re:model.visual.*",
Added: + r"re:.*lm_head",
Added: + "re:.*embed_tokens$",
Added: + r"re:.*linear_attn\.in_proj_a$",
Added: + r"re:.*linear_attn\.in_proj_b$",
Added: + ],
Added: + kv_cache_scheme={
Added: + "num_bits": 8,
Added: + "type": "float",
Added: + "symmetric": True,
Added: + "strategy": "tensor",
Added: + "dynamic": False,
Added: + "observer": "static_minmax",
Added: + },
Added: + ),
Added: + ]
Added: +
Added: + NUM_CALIBRATION_SAMPLES = 512
Added: + MAX_SEQUENCE_LENGTH = 4096
Added: +
Added: + ds = load_dataset(
Added: + "mlabonne/open-perfectblend",
Added: + split=f"train[:{NUM_CALIBRATION_SAMPLES}]",
Added: + )
Added: + ds = ds.shuffle(seed=42)
Added: +
Added: + ROLE_MAP = {"human": "user", "gpt": "assistant"}
Added: +
Added: +
Added: + def preprocess_function(example):
Added: + messages = [
Added: + {
Added: + "role": ROLE_MAP.get(msg["from"], msg["from"]),
Added: + "content": [{"type": "text", "text": msg["value"]}],
Added: + }
Added: + for msg in example["conversations"]
Added: + ]
Added: + return processor.apply_chat_template(
Added: + messages,
Added: + tokenize=True,
Added: + return_dict=True,
Added: + add_generation_prompt=False,
Added: + processor_kwargs={
Added: + "return_tensors": "pt",
Added: + "padding": False,
Added: + "truncation": True,
Added: + "max_length": MAX_SEQUENCE_LENGTH,
Added: + "add_special_tokens": False,
Added: + },
Added: + )
Added: +
Added: +
Added: + ds = ds.map(preprocess_function, batched=False, remove_columns=ds.column_names)
Added: +
Added: +
Added: + def data_collator(batch):
Added: + assert len(batch) == 1
Added: + return {key: torch.tensor(value) for key, value in batch[0].items()}
Added: +
Added: +
Added: + # Apply quantization.
Added: + oneshot(
Added: + model=model,
Added: + recipe=recipe,
Added: + dataset=ds,
Added: + max_seq_length=MAX_SEQUENCE_LENGTH,
Added: + num_calibration_samples=NUM_CALIBRATION_SAMPLES,
Added: + moe_calibrate_all_experts=True,
Added: + data_collator=data_collator,
Added: + )
Added: +
Added: + # Save to disk in compressed-tensors format.
Added: + SAVE_DIR = MODEL_ID.rstrip("/").split("/")[-1] + "-INT4"
Added: + model.save_pretrained(SAVE_DIR)
Added: + processor.save_pretrained(SAVE_DIR)
Added: + ```
Added: +
Added: + </details>

Before

Not present in the earlier snapshot.

After

This model was created by applying [LLM Compressor](https://github.com/vllm-project/llm-compressor) with calibration samples from open-perfectblend, using AWQ smoothing and the W4A16 GPTQ scheme, exported in compressed-tensors format.

<details>

```python
import torch
from datasets import load_dataset
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration

from llmcompressor import oneshot
from llmcompressor.modifiers.gptq import GPTQModifier
from llmcompressor.modifiers.transform.awq import AWQModifier
from llmcompressor.utils import load_context

MODEL_ID = "Qwen/Qwen3.8-27B"

# Load model.
with load_context(Qwen3_5ForConditionalGeneration):
    model = Qwen3_5ForConditionalGeneration.from_pretrained(MODEL_ID)
processor = AutoProcessor.from_pretrained(MODEL_ID)


recipe = [
    AWQModifier(duo_scaling="both"),
    GPTQModifier(
        targets="Linear",
        scheme="W4A16",
        ignore=[
            "re:visual.*",
            "re:model.visual.*",
            r"re:.*lm_head",
            "re:.*embed_tokens$",
            r"re:.*linear_attn\.in_proj_a$",
            r"re:.*linear_attn\.in_proj_b$",
        ],
        kv_cache_scheme={
            "num_bits": 8,
            "type": "float",
            "symmetric": True,
            "strategy": "tensor",
            "dynamic": False,
            "observer": "static_minmax",
        },
    ),
]

NUM_CALIBRATION_SAMPLES = 512
MAX_SEQUENCE_LENGTH = 4096

ds = load_dataset(
    "mlabonne/open-perfectblend",
    split=f"train[:{NUM_CALIBRATION_SAMPLES}]",
)
ds = ds.shuffle(seed=42)

ROLE_MAP = {"human": "user", "gpt": "assistant"}


def preprocess_function(example):
    messages = [
        {
            "role": ROLE_MAP.get(msg["from"], msg["from"]),
            "content": [{"type": "text", "text": msg["value"]}],
        }
        for msg in example["conversations"]
    ]
    return processor.apply_chat_template(
        messages,
        tokenize=True,
        return_dict=True,
        add_generation_prompt=False,
        processor_kwargs={
            "return_tensors": "pt",
            "padding": False,
            "truncation": True,
            "max_length": MAX_SEQUENCE_LENGTH,
            "add_special_tokens": False,
        },
    )

27 more lines not shown.

Accuracy Added +51 −0

Diff

Added: + <table>
Added: + <thead>
Added: + <tr>
Added: + <th>Category</th>
Added: + <th>Benchmark</th>
Added: + <th>Qwen/Qwen3.8-27B (BF16)</th>
Added: + <th>RedHatAI/Qwen3.8-27B-INT4</th>
Added: + <th>Recovery</th>
Added: + </tr>
Added: + </thead>
Added: + <tbody>
Added: + <tr>
Added: + <td rowspan="2"><b>Instruction Following</b></td>
Added: + <td>IFEval (0-shot, prompt-level strict)</td>
Added: + <td>92.24%</td>
Added: + <td>91.93%</td>
Added: + <td>99.67%</td>
Added: + </tr>
Added: + <tr>
Added: + <td>MMLU-Pro (exact-match)</td>
Added: + <td>84.46%</td>
Added: + <td>83.45%</td>
Added: + <td>98.81%</td>
Added: + </tr>
Added: + <tr>
Added: + <td rowspan="4"><b>Reasoning</b></td>
Added: + <td>GSM8K Platinum (strict-match)</td>
Added: + <td>95.75%</td>
Added: + <td>96.77%</td>
Added: + <td>101.07%</td>
Added: + </tr>
Added: + <tr>
Added: + <td>MATH-500 (pass@1)</td>
Added: + <td>83.73%</td>
Added: + <td>83.33%</td>
Added: + <td>99.52%</td>
Added: + </tr>
Added: + <tr>
Added: + <td>GPQA Diamond (pass@1)</td>
Added: + <td>89.23%</td>
Added: + <td>87.88%</td>
Added: + <td>98.49%</td>
Added: + </tr>
Added: + <tr>
Added: + <td>AIME 2025 (pass@1)</td>
Added: + <td>95.42%</td>
Added: + <td>94.17%</td>
Added: + <td>98.69%</td>
Added: + </tr>
Added: + </tbody>
Added: + </table>

Before

Not present in the earlier snapshot.

After

<table>
  <thead>
    <tr>
      <th>Category</th>
      <th>Benchmark</th>
      <th>Qwen/Qwen3.8-27B (BF16)</th>
      <th>RedHatAI/Qwen3.8-27B-INT4</th>
      <th>Recovery</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td rowspan="2"><b>Instruction Following</b></td>
      <td>IFEval (0-shot, prompt-level strict)</td>
      <td>92.24%</td>
      <td>91.93%</td>
      <td>99.67%</td>
    </tr>
    <tr>
      <td>MMLU-Pro (exact-match)</td>
      <td>84.46%</td>
      <td>83.45%</td>
      <td>98.81%</td>
    </tr>
    <tr>
      <td rowspan="4"><b>Reasoning</b></td>
      <td>GSM8K Platinum (strict-match)</td>
      <td>95.75%</td>
      <td>96.77%</td>
      <td>101.07%</td>
    </tr>
    <tr>
      <td>MATH-500 (pass@1)</td>
      <td>83.73%</td>
      <td>83.33%</td>
      <td>99.52%</td>
    </tr>
    <tr>
      <td>GPQA Diamond (pass@1)</td>
      <td>89.23%</td>
      <td>87.88%</td>
      <td>98.49%</td>
    </tr>
    <tr>
      <td>AIME 2025 (pass@1)</td>
      <td>95.42%</td>
      <td>94.17%</td>
      <td>98.69%</td>
    </tr>
  </tbody>
</table>
RedHatAI/Qwen3.8-27B-INT4 Removed +0 −1

Diff

Removed: - This model is a quantized version of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B).

Before

This model is a quantized version of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B).

After

Not present in the later snapshot.

Creation Code Removed +0 −102

Diff

Removed: - ```python
Removed: - import torch
Removed: - from datasets import load_dataset
Removed: - from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration
Removed: -
Removed: - from llmcompressor import oneshot
Removed: - from llmcompressor.modifiers.gptq import GPTQModifier
Removed: - from llmcompressor.modifiers.transform.awq import AWQModifier
Removed: - from llmcompressor.utils import load_context
Removed: -
Removed: - MODEL_ID = "Qwen/Qwen3.8-27B"
Removed: -
Removed: - # Load model.
Removed: - with load_context(Qwen3_5ForConditionalGeneration):
Removed: - model = Qwen3_5ForConditionalGeneration.from_pretrained(MODEL_ID)
Removed: - processor = AutoProcessor.from_pretrained(MODEL_ID)
Removed: -
Removed: -
Removed: - recipe = [
Removed: - AWQModifier(duo_scaling="both"),
Removed: - GPTQModifier(
Removed: - targets="Linear",
Removed: - scheme="W4A16",
Removed: - ignore=[
Removed: - "re:visual.*",
Removed: - "re:model.visual.*",
Removed: - r"re:.*lm_head",
Removed: - "re:.*embed_tokens$",
Removed: - r"re:.*linear_attn\.in_proj_a$",
Removed: - r"re:.*linear_attn\.in_proj_b$",
Removed: - ],
Removed: - kv_cache_scheme={
Removed: - "num_bits": 8,
Removed: - "type": "float",
Removed: - "symmetric": True,
Removed: - "strategy": "tensor",
Removed: - "dynamic": False,
Removed: - "observer": "static_minmax",
Removed: - },
Removed: - ),
Removed: - ]
Removed: -
Removed: - NUM_CALIBRATION_SAMPLES = 512
Removed: - MAX_SEQUENCE_LENGTH = 4096
Removed: -
Removed: - ds = load_dataset(
Removed: - "mlabonne/open-perfectblend",
Removed: - split=f"train[:{NUM_CALIBRATION_SAMPLES}]",
Removed: - )
Removed: - ds = ds.shuffle(seed=42)
Removed: -
Removed: - ROLE_MAP = {"human": "user", "gpt": "assistant"}
Removed: -
Removed: -
Removed: - def preprocess_function(example):
Removed: - messages = [
Removed: - {
Removed: - "role": ROLE_MAP.get(msg["from"], msg["from"]),
Removed: - "content": [{"type": "text", "text": msg["value"]}],
Removed: - }
Removed: - for msg in example["conversations"]
Removed: - ]
Removed: - return processor.apply_chat_template(
Removed: - messages,
Removed: - tokenize=True,
Removed: - return_dict=True,
Removed: - add_generation_prompt=False,
Removed: - processor_kwargs={
Removed: - "return_tensors": "pt",
Removed: - "padding": False,
Removed: - "truncation": True,
Removed: - "max_length": MAX_SEQUENCE_LENGTH,
Removed: - "add_special_tokens": False,
Removed: - },
Removed: - )
Removed: -
Removed: -
Removed: - ds = ds.map(preprocess_function, batched=False, remove_columns=ds.column_names)
Removed: -
Removed: -
Removed: - def data_collator(batch):
Removed: - assert len(batch) == 1
Removed: - return {key: torch.tensor(value) for key, value in batch[0].items()}
Removed: -
Removed: -
Removed: - # Apply quantization.
Removed: - oneshot(
Removed: - model=model,
Removed: - recipe=recipe,
Removed: - dataset=ds,
Removed: - max_seq_length=MAX_SEQUENCE_LENGTH,
Removed: - num_calibration_samples=NUM_CALIBRATION_SAMPLES,
Removed: - moe_calibrate_all_experts=True,
Removed: - data_collator=data_collator,
Removed: - )
Removed: -
Removed: - # Save to disk in compressed-tensors format.
Removed: - SAVE_DIR = MODEL_ID.rstrip("/").split("/")[-1] + "-INT4"
Removed: - model.save_pretrained(SAVE_DIR)
Removed: - processor.save_pretrained(SAVE_DIR)
Removed: -
Removed: - ```

Before

```python
import torch
from datasets import load_dataset
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration

from llmcompressor import oneshot
from llmcompressor.modifiers.gptq import GPTQModifier
from llmcompressor.modifiers.transform.awq import AWQModifier
from llmcompressor.utils import load_context

MODEL_ID = "Qwen/Qwen3.8-27B"

# Load model.
with load_context(Qwen3_5ForConditionalGeneration):
    model = Qwen3_5ForConditionalGeneration.from_pretrained(MODEL_ID)
processor = AutoProcessor.from_pretrained(MODEL_ID)


recipe = [
    AWQModifier(duo_scaling="both"),
    GPTQModifier(
        targets="Linear",
        scheme="W4A16",
        ignore=[
            "re:visual.*",
            "re:model.visual.*",
            r"re:.*lm_head",
            "re:.*embed_tokens$",
            r"re:.*linear_attn\.in_proj_a$",
            r"re:.*linear_attn\.in_proj_b$",
        ],
        kv_cache_scheme={
            "num_bits": 8,
            "type": "float",
            "symmetric": True,
            "strategy": "tensor",
            "dynamic": False,
            "observer": "static_minmax",
        },
    ),
]

NUM_CALIBRATION_SAMPLES = 512
MAX_SEQUENCE_LENGTH = 4096

ds = load_dataset(
    "mlabonne/open-perfectblend",
    split=f"train[:{NUM_CALIBRATION_SAMPLES}]",
)
ds = ds.shuffle(seed=42)

ROLE_MAP = {"human": "user", "gpt": "assistant"}


def preprocess_function(example):
    messages = [
        {
            "role": ROLE_MAP.get(msg["from"], msg["from"]),
            "content": [{"type": "text", "text": msg["value"]}],
        }
        for msg in example["conversations"]
    ]
    return processor.apply_chat_template(
        messages,
        tokenize=True,
        return_dict=True,
        add_generation_prompt=False,
        processor_kwargs={
            "return_tensors": "pt",
            "padding": False,
            "truncation": True,
            "max_length": MAX_SEQUENCE_LENGTH,
            "add_special_tokens": False,
        },
    )


ds = ds.map(preprocess_function, batched=False, remove_columns=ds.column_names)

22 more lines not shown.

After

Not present in the later snapshot.

Eval commands Removed +0 −1

Diff

Removed: - Run once per seed (1234, 2345, 3456). Final reported values are averages.

Before

Run once per seed (1234, 2345, 3456). Final reported values are averages.

After

Not present in the later snapshot.

gsm8k_platinum_cot_llama Removed +0 −11

Diff

Removed: - ```
Removed: - lm_eval \
Removed: - --model local-chat-completions \
Removed: - --tasks gsm8k_platinum_cot_llama \
Removed: - --model_args model=Qwen/Qwen3.8-27B,max_length=69632,base_url=http://127.0.0.1:8002/v1/chat/completions,num_concurrent=32,max_retries=3,tokenized
Removed: - _requests=False,tokenizer_backend=None,timeout=3600 \
Removed: - --num_fewshot 0 \
Removed: - --seed <SEED> \
Removed: - --gen_kwargs do_sample=True,temperature=1.0,top_p=0.95,top_k=20,seed=<SEED>,max_gen_toks=32000 \
Removed: - --apply_chat_template
Removed: - ```

Before

```
lm_eval \
  --model local-chat-completions \
  --tasks gsm8k_platinum_cot_llama \
  --model_args model=Qwen/Qwen3.8-27B,max_length=69632,base_url=http://127.0.0.1:8002/v1/chat/completions,num_concurrent=32,max_retries=3,tokenized
_requests=False,tokenizer_backend=None,timeout=3600 \
  --num_fewshot 0 \
  --seed <SEED> \
  --gen_kwargs do_sample=True,temperature=1.0,top_p=0.95,top_k=20,seed=<SEED>,max_gen_toks=32000 \
  --apply_chat_template
```

After

Not present in the later snapshot.

ifeval Removed +0 −11

Diff

Removed: - ```
Removed: - lm_eval \
Removed: - --model local-chat-completions \
Removed: - --tasks ifeval \
Removed: - --model_args model=Qwen/Qwen3.8-27B,max_length=69632,base_url=http://127.0.0.1:8006/v1/chat/completions,num_concurrent=16,max_retrie
Removed: - s=3,tokenized_requests=False,tokenizer_backend=None,timeout=3600 \
Removed: - --num_fewshot 0 \
Removed: - --seed <SEED> \
Removed: - --gen_kwargs do_sample=True,temperature=1.0,top_p=0.95,top_k=20,seed=1234,max_gen_toks=32000 \
Removed: - --apply_chat_template
Removed: - ```

Before

```
lm_eval \
  --model local-chat-completions \
  --tasks ifeval \
  --model_args model=Qwen/Qwen3.8-27B,max_length=69632,base_url=http://127.0.0.1:8006/v1/chat/completions,num_concurrent=16,max_retrie
s=3,tokenized_requests=False,tokenizer_backend=None,timeout=3600 \
  --num_fewshot 0 \
  --seed <SEED> \
  --gen_kwargs do_sample=True,temperature=1.0,top_p=0.95,top_k=20,seed=1234,max_gen_toks=32000 \
  --apply_chat_template
```

After

Not present in the later snapshot.

aime25 Removed +0 −6

Diff

Removed: - ```
Removed: - lighteval endpoint litellm \
Removed: - runs/20260818_110422_qwen3.8-27b-int4_full_ifeval-math-aime-gpqa/configs/litellm_aime25_seed1234.yaml \
Removed: - 'aime25|0' \
Removed: - --save-details
Removed: - ```

Before

```
lighteval endpoint litellm \
  runs/20260818_110422_qwen3.8-27b-int4_full_ifeval-math-aime-gpqa/configs/litellm_aime25_seed1234.yaml \
  'aime25|0' \
  --save-details
```

After

Not present in the later snapshot.

math_500 Removed +0 −6

Diff

Removed: - ```
Removed: - lighteval endpoint litellm \
Removed: - runs/20260818_110422_qwen3.8-27b-int4_full_ifeval-math-aime-gpqa/configs/litellm_math_500_seed1234.yaml \
Removed: - 'math_500|0' \
Removed: - --save-details
Removed: - ```

Before

```
lighteval endpoint litellm \
  runs/20260818_110422_qwen3.8-27b-int4_full_ifeval-math-aime-gpqa/configs/litellm_math_500_seed1234.yaml \
  'math_500|0' \
  --save-details
```

After

Not present in the later snapshot.

GPQA Diamond Removed +0 −6

Diff

Removed: - ```
Removed: - lighteval endpoint litellm \
Removed: - runs/20260818_110422_qwen3.8-27b-int4_full_ifeval-math-aime-gpqa/configs/litellm_gpqa_diamond_seed1234.yaml \
Removed: - 'gpqa:diamond|0' \
Removed: - --save-details
Removed: - ```

Before

```
lighteval endpoint litellm \
  runs/20260818_110422_qwen3.8-27b-int4_full_ifeval-math-aime-gpqa/configs/litellm_gpqa_diamond_seed1234.yaml \
  'gpqa:diamond|0' \
  --save-details
```

After

Not present in the later snapshot.

Evidence · Observed by PinDiff

Earlier
Snapshot #313 · revision bf08f3d · Recorded at 07 Sep 2026, 05:36 UTC
Later
Snapshot #379 · revision f957fe5 · Recorded at 16 Sep 2026, 05:37 UTC
Source
README.md at each revision, stored by PinDiff. Sections are compared individually.
Stored file SHA256
16735beaf140b0026dcc1ced069608421ed7827edaad993a77a07bd101086560 → 32e63dac37d4500ec3ad2bff17645f2a9e4e21ac9b9ced14c82fdf56b0454394

Repository status

Changed

Repository revision moved

Earlier
Revision bf08f3d (opens in a new tab) · 12 files · 19.47 GB
Later
Revision f957fe5 (opens in a new tab) · 12 files · 19.47 GB

A new revision does not by itself mean files changed; the categories above show what differs.

Evidence · Observed by PinDiff

Earlier
Snapshot #313 · revision bf08f3d · Recorded at 07 Sep 2026, 05:36 UTC
Later
Snapshot #379 · revision f957fe5 · Recorded at 16 Sep 2026, 05:37 UTC
Source
Default-branch head commit observed via the Hugging Face API.

Files

Unchanged

No change

Evidence · Observed by PinDiff

Earlier
Snapshot #313 · revision bf08f3d · Recorded at 07 Sep 2026, 05:36 UTC
Later
Snapshot #379 · revision f957fe5 · Recorded at 16 Sep 2026, 05:37 UTC
Source
File hashes and sizes from the repository file manifest. Weights, licence, configuration, Python and model card files are covered above.

Evidence observed by PinDiff from the Hugging Face API and stored when recorded. PinDiff compares stored metadata, hashes and text files; it does not download weight files. Change events recorded between these snapshots