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_marlin — not 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 barevllm serve "..."— these are incomplete for this quantized AWQ release and will fail or misbehave without the flags below (ROCm env vars,--quantization compressed-tensorsorawq_marlin,--enforce-eageron 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); useawq_marlinquantization flag (faster on NVIDIA thancompressed-tensors); lowergpu_memory_utilizationto 0.85 to avoid OOM with fragmentation. Ifawq_marlinis 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_marlinperformance 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):
- Developed by PLLuM consortium: SpeakLeash · OPI-PIB · NASK · Politechnika Wrocławska / Wrocław University of Science and Technology
- Published by: Polish Ministry of Digital Affairs — HF org
CYFRAGOVPL - Paper: Kocoń et al., PLLuM: A Family of Polish Large Language Models — arXiv:2511.03823 (2025)
- Base weights:
CYFRAGOVPL/PLLuM-12B-chat-2512 - Upstream base architecture:
mistralai/Mistral-Nemo-Base-2407(Apache 2.0)
Quantization:
- Łukasz Minarowski — pulmonolog UMB (Zakład Fizjopatologii Oddychania) + AI researcher
- ORCID: 0000-0002-2536-3508
- HF:
mozarcik - Calibration corpus:
mozarcik/clinical-pl-smpc-awq-calibration(License: see dataset card; EMA reproduction policy applies)
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:
navimed-umbv0.4.0 — github.com/kicrazom/navimed-umb- Concept DOI (all versions): 10.5281/zenodo.19851346
- METHODOLOGY: vehicle-integrity gates, embargo policy, AI disclosure framework
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
Model tree for mozarcik/PLLuM-12B-chat-2512-awq
Base model
CYFRAGOVPL/PLLuM-12B-chat-2512