PLLuM-12B-chat-2512 — AWQ W4A16

AWQ W4A16 quantization of CYFRAGOVPL/PLLuM-12B-chat-2512 (Mistral-Nemo-Base-2407 derivative) for single-GPU vLLM deployment on consumer/prosumer hardware. Validated on 1× AMD Radeon AI PRO R9700 (gfx1201, TP=1); the compressed-tensors format is expected to be portable to NVIDIA via awq_marlinnot independently validated in this release.

Kwantyzacja AWQ W4A16 modelu PLLuM-12B-chat-2512 — uruchamia się na pojedynczej konsumenckiej karcie AMD Radeon AI PRO R9700 (32 GB VRAM) przez vLLM. Część Run-3 (rozszerzenie rodziny PLLuM AWQ poza 70B na desktop/workstation tier).

⚠ Note on Hugging Face parameter display: Hugging Face may show this quantized repository with reduced parameter count because the safetensors index counts packed 4-bit tensors. The logical base architecture is PLLuM-12B (~12B parameters, Mistral-Nemo-Base-2407 derivative); this repository contains AWQ-compressed derivative weights. Verify with the base model card: CYFRAGOVPL/PLLuM-12B-chat-2512.


Opis modelu (PL)

Czterobitowa kwantyzacja (AWQ W4A16, format compressed-tensors) modelu PLLuM-12B-chat-2512 — pierwszy nie-Llama wariant rodziny PLLuM, oparty na Mistral-Nemo-Base-2407 (12B, Apache 2.0). Model wytworzony przez konsorcjum PLLuM (SpeakLeash, OPI-PIB, NASK, Politechnika Wrocławska), publikowany na HuggingFace przez Ministerstwo Cyfryzacji RP (organizacja CYFRAGOVPL). Celem kwantyzacji jest deployment na pojedynczej karcie konsumenckiej z marginesem na produkcję — 8.03 GiB footprintu pozwala uruchomić 12B parametrów na 1× AMD Radeon AI PRO R9700 (32 GB VRAM) z headroomem dla KV cache (19.77 GiB available, max_concurrency 63.27× przy max_seq_len=2048).

Dlaczego 12B (a nie 8B lub 70B): breakpoint quality/cost. Mistral 12B w wielu benchmarkach plasuje się blisko 70B przy <1/5 kosztu memory + inferencji. Apache 2.0 — brak compliance overhead Llama 3.1 CL.

Dla kogo:

  • gabinet lekarski / mała klinika — single-workstation deployment z dobrą jakością PL
  • workstation researchera — wystarczająco mały dla równoległej inferencji + treningu na drugiej karcie
  • prototypowanie chat UX w polskim
  • baseline do fine-tuningu / instruction tuning na specjalistycznych danych
  • ewaluacja LLM PL przy ograniczonym budżecie sprzętowym

Co dało nowego: według wiedzy autora — pierwsza publiczna kwantyzacja AWQ W4A16 (vLLM-native compressed-tensors) tego wariantu PLLuM-12B (stan na 2026-05-26). Dla użytkowników llama.cpp/ollama dostępne są GGUF quantizacje społeczności; tutejsze wagi są zoptymalizowane pod inferencję serwerową w vLLM.

Model description (EN)

4-bit AWQ W4A16 quantization (compressed-tensors format) of PLLuM-12B-chat-2512 — the first non-Llama PLLuM variant, based on Mistral-Nemo-Base-2407 (12B, Apache 2.0). Developed by the PLLuM consortium (SpeakLeash, OPI-PIB, NASK, Wrocław University of Science and Technology), published on HuggingFace by the Polish Ministry of Digital Affairs (CYFRAGOVPL). Quantized for single-GPU consumer deployment: 8.03 GiB footprint fits on a single 32 GB R9700 with KV cache headroom (19.77 GiB → 63.27× concurrency at max_seq_len=2048), served via vLLM. To the author's knowledge, this is the first public AWQ W4A16 (vLLM-native compressed-tensors) quantization of this PLLuM-12B-chat-2512 checkpoint (HuggingFace Hub check, 2026-05-26).


Quantization details

Parameter Value
Method AWQ W4A16 (activation-aware)
Library llm-compressor
Format compressed-tensors (vLLM-native)
Group size 128
Bits / weights 4
Bits / activations 16 (bf16)
Calibration host AMD Radeon AI PRO R9700 (gfx1201, RDNA 4), local workstation — 2× R9700 (64 GB VRAM combined), Ryzen 9 9950X3D, Kubuntu 24.04, ROCm 7.2.1
Calibration corpus mozarcik/clinical-pl-smpc-awq-calibration — 418 chunks (~512 tokens) polskich Charakterystyk Produktów Leczniczych (SmPC) z EMA; pulmonologia + onkologia klatki piersiowej; No PHI
Skipped layers lm_head (standard)
Recipe AWQModifier(scheme="W4A16", targets="Linear", ignore=["lm_head"]) — patrz recipe.yaml w repo

Pełna procedura kwantyzacji + skrypty: navimed-umb/calibration/quantization/.


Hardware envelope — Gate 1 (sanity, 2026-05-26)

Pomiary z weryfikacji vehicle-integrity (METHODOLOGY §8) na 1× AMD Radeon AI PRO R9700 (gfx1201), TP=1, max_seq_len=2048, enforce_eager=True:

Metric Value
Footprint (model weights) 8.03 GiB
KV cache available 19.77 GiB
Maximum concurrency @ 2048 tok/req 63.27×
Init engine time 3.88 s
vLLM ready time (from cold start) ~30 s
Sanity response time (5 PL prompts, max_tokens=64) ~10 s/prompt

Verdict: PASS (5/5 prompts non-empty, coherent Polish output)

Raw outputs: navimed-umb/environment/sanity-tests/2026-05-26-PLLuM-12B-chat-2512-awq-sanity.json.

Co to znaczy "envelope": to są twarde liczby pamięci/ładowania/pojemności KV — czyli "czy model w ogóle się mieści i odpowiada poprawnie na pojedyncze zapytanie". To nie są liczby throughput (tok/s, P50/P95, scaling z N) — te pozostają EMBARGOED do akceptacji paper'a (METHODOLOGY §11.2, stricter embargo dla modeli polskich §11.3).


Gate 2 — coherence probe (2026-05-26)

5 polskich promptów medycznych (Stolicą Polski / Tiotropium / Astma / Pacjent z dusznością / Spirometria) via /v1/completions, temperature=0.0, max_tokens=64. Vehicle-integrity per METHODOLOGY §8 — NIE ocena jakości modelu.

Verdict: PASS (5/5 coherent Polish output, no degeneration, medical context plausible; minor: one occurrence of nawracjącymi typo and one mild content drift to enzyme katalazy — neither indicates quantization damage)

Sample (Stolicą Polski prompt):

"Warszawa, która jest największym miastem i centrum administracyjnym kraju. Jej populacja wynosi 1,86 mln mieszkańców, co czyni ją jednym z największych miast w Unii Europejskiej. Warszawa jest również ważnym ośrodkiem kulturalnym, edukacyjnym i gospodarczym. [...]"

Raw outputs: linked above (sanity JSON).


Usage with vLLM

⚠ Important — ignore Hugging Face autogenerated snippets. The "Use this model" button on the HF UI may suggest snippets like pipeline("text-generation", model="...") or a bare vllm serve "..."these are incomplete for this quantized AWQ release and will fail or misbehave without the flags below (ROCm env vars, --quantization compressed-tensors or awq_marlin, --enforce-eager on gfx1201).

On AMD ROCm (validated configuration — 1× R9700, gfx1201)

Stack: vLLM 0.19.0+rocm721 PINNED + ROCm 7.2 + PyTorch 2.10 (regressions reported on newer ROCm wheels on gfx1201, cf. Capitelli #40980). Build wheel from ROCm vLLM fork or use AMD-provided container — NOT available on PyPI. Setup: navimed-umb environment/.

# Required env vars for gfx1201
export VLLM_ROCM_USE_AITER=0      # AITER unsupported on gfx1201
export AMD_SERIALIZE_KERNEL=1
export HIP_LAUNCH_BLOCKING=1
export ROCR_VISIBLE_DEVICES=0     # single GPU; adjust for your card

vllm serve mozarcik/PLLuM-12B-chat-2512-awq \
  --tensor-parallel-size 1 \
  --enforce-eager \
  --max-model-len 2048 \
  --gpu-memory-utilization 0.90 \
  --quantization compressed-tensors

On NVIDIA GPUs (portable — RTX 3090/4090/A6000, vLLM ≥ 0.7.0)

vllm serve mozarcik/PLLuM-12B-chat-2512-awq \
  --tensor-parallel-size 1 \
  --max-model-len 4096 \
  --gpu-memory-utilization 0.85 \
  --quantization awq_marlin

Note for NVIDIA users: drop --enforce-eager (CUDA graphs work on Hopper/Ampere/Ada); use awq_marlin quantization flag (faster on NVIDIA than compressed-tensors); lower gpu_memory_utilization to 0.85 to avoid OOM with fragmentation. If awq_marlin is rejected by your vLLM version, fall back to --quantization awq.

Request example — chat (instruction-following)

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mozarcik/PLLuM-12B-chat-2512-awq",
    "messages": [{"role": "user", "content": "Wyjaśnij krótko zasadę działania spirometrii."}],
    "max_tokens": 256,
    "temperature": 0.3
  }'

Python client (OpenAI-compatible)

from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="dummy")

resp = client.chat.completions.create(
    model="mozarcik/PLLuM-12B-chat-2512-awq",
    messages=[{"role": "user", "content": "Wyjaśnij krótko zasadę działania spirometrii."}],
    max_tokens=256, temperature=0.3,
)
print(resp.choices[0].message.content)

Limitations & known issues

  • AWQ na gfx1201 ≠ szybkość. Profil korzyści tego modelu to możliwość zmieszczenia (8.03 GiB → fits on single 32 GB consumer GPU z marginesem na KV), nie tokeny/s. Empirycznie obserwowany istotny narzut vs FP16 na RDNA 4 (AITER kernels pending ROCm 7.3+ — patrz AMD ROCm tracker). Na NVIDIA z awq_marlin performance jest typowa dla AWQ Marlin kernels.
  • Mistral architecture quirks — PLLuM-12B uses Mistral-Nemo-Base-2407 derivative. Tokenizer vocab is 131k (larger than Llama 3.1's 128k); chat template is from Mistral lineage (different formatting than Llama 3.1 chat variants). Verify chat template behaviour matches expectations for your use case.
  • To NIE jest model evaluation. Release jest vehicle-integrity artefaktem (METHODOLOGY §8 navimed-umb): "loads + responds + healthy envelope + coherent Polish", NIE task evaluation (MMLU/PolEval/MERA — poza skopem). Nie wnioskuj o jakości odpowiedzi na zadania kliniczne/językowe bez własnego protokołu ewaluacji.
  • License inheritance — wagi pochodne dziedziczą licencję Apache 2.0 z bazowego Mistral-Nemo-Base-2407 oraz z PLLuM-12B-chat-2512. Patrz sekcja License poniżej.

Intended use

Research and engineering use only.

Model dialogowy (instrukcja + RLHF). Przeznaczony do interakcji wieloturowych w polskim — asystent research/edukacyjny, prototypowanie chat UX, ewaluacja jakości dialogu. Obsługuje /v1/chat/completions z chat template z tokenizera.

This model is NOT intended for, and is NOT validated for:

  • diagnosis, prognosis, triage, or treatment recommendation in clinical practice
  • autonomous clinical decision support
  • processing of patient health data (PHI) without expert oversight and appropriate compliance review (GDPR/RODO, HIPAA, EU AI Act)
  • direct patient care workflows or unsupervised generation of medical advice

The calibration corpus consists of public regulatory text (EMA Summary of Product Characteristics) selected to test Polish-domain robustness and AWQ deployment feasibility — NOT to confer clinical capability. Any clinical application requires independent validation, expert human verification of all output, and appropriate regulatory/ethical clearance.

No clinical guarantee. Not a medical device. Use at your own risk.


Credits / Attribution

Base model — PLLuM-12B (Mistral-Nemo-Base-2407 derivative):

Quantization:

Compute:

  • Calibration host: AMD Radeon AI PRO R9700 (gfx1201, RDNA 4), local workstation — 2× R9700 (64 GB VRAM combined), AMD Ryzen 9 9950X3D, Kubuntu 24.04, kernel 6.17, ROCm 7.2.1, vLLM 0.19.0+rocm721
  • Deployment target: 1× AMD Radeon AI PRO R9700

Benchmark suite & methodology:


License

apache-2.0 — inherited from the base model CYFRAGOVPL/PLLuM-12B-chat-2512, which derives from mistralai/Mistral-Nemo-Base-2407 (Apache 2.0). This repository contains quantized derivative weights only, redistributed under Apache 2.0 with PLLuM consortium attribution requirements preserved.

Full Apache 2.0 license text: https://www.apache.org/licenses/LICENSE-2.0


Citation

@software{minarowski_2026_pllum12b_chat_2512_awq,
  author    = {Minarowski, Łukasz},
  title     = {{PLLuM-12B-chat-2512} AWQ W4A16 quantization for vLLM on consumer AMD},
  year      = {2026},
  publisher = {HuggingFace},
  url       = {https://huggingface.co/mozarcik/PLLuM-12B-chat-2512-awq},
  doi       = {10.5281/zenodo.19851346}
}

Cite the original PLLuM paper:

@article{kocon2025pllum,
  title   = {PLLuM: A Family of Polish Large Language Models},
  author  = {Kocoń, Jan and others},
  journal = {arXiv preprint arXiv:2511.03823},
  year    = {2025}
}

AI assistance disclosure

This model card was drafted by Claude (Anthropic) as part of an interactive engineering session with the maintainer (Łukasz Minarowski). The maintainer reviewed, edited, and signed off on all factual claims, hardware envelope numbers, license attributions, and release claims before publication. The AI did not generate, modify, or validate: the quantized model weights, benchmark measurements, calibration data, or the underlying methodology.

Niniejsza karta modelu została zredagowana przez Claude (Anthropic) podczas interaktywnej sesji inżynierskiej z opiekunem repo (Łukasz Minarowski). Opiekun zweryfikował, poprawił i zaaprobował wszystkie twierdzenia faktyczne, liczby z envelope sprzętowego, atrybucje licencyjne i twierdzenia release'owe przed publikacją. AI nie generował, nie modyfikował ani nie walidował: wag modelu, wyników pomiarów, danych kalibracyjnych ani metodologii.

Downloads last month
104
Safetensors
Model size
3B params
Tensor type
I64
·
I32
·
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for mozarcik/PLLuM-12B-chat-2512-awq

Quantized
(6)
this model

Dataset used to train mozarcik/PLLuM-12B-chat-2512-awq

Paper for mozarcik/PLLuM-12B-chat-2512-awq

Free AI Image Generator No sign-up. Instant results. Open Now