Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM

4-битный AWQ-квант orcarouter/Qwen3.8-27B-Uncensored, сделанный llm-compressor в формате compressed-tensors (pack-quantized). Грузится в vLLM нативно.

Квантование выполнено с BF16-весов, а не поверх FP8-чекпоинта — чтобы не накладывать INT4 на уже потерянную точность.

Что внутри

Схема W4A16_ASYM (asymmetric, zero-point)
Group size 128
Стратегия group, type: int, num_bits: 4
Формат compressed-tensors / pack-quantized
Активации BF16 (weight-only)
Калибровка HuggingFaceH4/ultrachat_200k, 256 сэмплов × 2048 токенов, через chat template
Размер 19 GB (было 52 GB в BF16)

Что квантовано, а что осталось в BF16

Qwen3.8-27B — гибрид: 64 слоя по схеме 16 × (3 × Gated DeltaNet → 1 × Gated Attention), плюс vision-башня и MTP-голова.

В INT4:

  • Gated Attention (слои 3, 7, …, 63): q_proj, k_proj, v_proj, o_proj
  • FFN всех 64 слоёв: gate_proj, up_proj, down_proj
  • Gated DeltaNet (остальные 48 слоёв): in_proj_qkv, in_proj_z, out_proj

Остались в BF16:

  • lm_head и эмбеддинги
  • вся vision-башня (model.visual.*) — квантование визуального энкодера бьёт по качеству распознавания сильнее, чем экономит память
  • linear_attn.in_proj_a / in_proj_b — чувствительные гейты SSM-ветки
  • вся MTP-голова (mtp.*) — чтобы не ломать спекулятивный декодинг

Про MTP. transformers не инстанцирует MTP-голову для qwen3_5, поэтому llm-compressor её не видит и не сохраняет — наивный квант теряет MTP целиком. Здесь тензоры mtp.* скопированы из исходного BF16-чекпоинта в готовый результат, зарегистрированы в model.safetensors.index.json и внесены в quantization_config.ignore. Спекулятивный декодинг сохранён.

Про AWQ-mappings. У гибридной архитектуры нет общего для всех слоёв набора проекций, поэтому дефолтные маппинги AWQ не резолвятся. В recipe.yaml лежат кастомные: отдельный маппинг для input_layernorm full-attention слоёв и отдельный — для DeltaNet-слоёв, где в balance_layers обязаны быть все потребители выхода нормы, включая неквантуемые in_proj_a / in_proj_b, иначе сглаживание ломает математику.

Использование (vLLM)

vllm serve Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM \
  --max-model-len 262144 \
  --tensor-parallel-size 2

Использование (transformers)

from transformers import AutoModelForImageTextToText, AutoProcessor

model = AutoModelForImageTextToText.from_pretrained(
    "Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM", dtype="auto", device_map="auto"
)
processor = AutoProcessor.from_pretrained("Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM")

transformers при загрузке распаковывает веса обратно в BF16, так что экономии VRAM здесь не будет. Реальная экономия видна только в рантаймах с нативными INT4-ядрами (vLLM, SGLang): ожидаемо ≈ размер файла + KV-кэш.

Параметры сэмплирования

Наследуются от базовой модели:

  • Thinking mode: temperature=1.0, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0
  • Non-thinking: temperature=0.7, top_p=0.80, top_k=20, min_p=0.0, presence_penalty=1.5

Поддерживается reasoning_effort (low / medium / xhigh), контекст 262 144 токена нативно.

Воспроизводимость

В репозитории лежит recipe.yaml, сгенерированный llm-compressor. Ключевая часть:

from llmcompressor.modifiers.awq import AWQModifier

recipe = [AWQModifier(
    targets=["Linear"],
    scheme="W4A16_ASYM",
    ignore=[
        "re:.*lm_head",
        r"re:model\.visual\..*",
        r"re:.*\.linear_attn\.in_proj_a",
        r"re:.*\.linear_attn\.in_proj_b",
        r"re:mtp\..*",
    ],
    mappings=MAPPINGS,   # см. recipe.yaml
)]

Оговорки

  • Квантовано 400 Linear-слоёв (64×3 MLP + 16×4 full-attention + 48×3 DeltaNet); 400 тензоров weight_packed (I32-упаковка INT4) с weight_scale и weight_zero_point.
  • Квант не проходил бенчмарк-валидацию — проверена только связность генерации. Для продакшена прогоните свои эвалы.
  • Vision-часть не квантовалась, поэтому качество на изображениях должно быть близко к исходной модели; деградация ожидается прежде всего в текстовой части.
  • Базовая модель — uncensored-файнтюн; квантование не добавляет и не снимает никаких ограничений, поведение наследуется от orcarouter/Qwen3.8-27B-Uncensored.
Downloads last month
5,791
Safetensors
Model size
27B params
Tensor type
I32
·
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM

Base model

Qwen/Qwen3.8-27B
Quantized
(52)
this model
Quantizations
2 models

Collections including Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM