Llama-PLLuM-70B-base-2508 — AWQ W4A16

Built with Llama. AWQ W4A16 quantization of CYFRAGOVPL/Llama-PLLuM-70B-base-2508 for vLLM deployment on consumer/prosumer GPUs. Validated on 2× AMD R9700 (gfx1201, TP=2); the compressed-tensors format is expected to be portable to NVIDIA H100/A100/L40S via awq_marlinnot independently validated in this release.

Kwantyzacja AWQ W4A16 modelu PLLuM-70B-base (2508) — uruchamia się na 2× konsumenckiej karcie AMD Radeon AI PRO R9700 (łącznie 64 GB VRAM) przez vLLM.

⚠ Note on Hugging Face parameter display: Hugging Face may show this quantized repository as ~11B parameters because the safetensors index counts packed 4-bit tensors. The logical base architecture is Llama-PLLuM-70B (70.5B parameters); this repository contains AWQ-compressed derivative weights of the 70B model, packed to ~11.2B int4-packed tensors that decompress at load time. Verify with the base model card: CYFRAGOVPL/Llama-PLLuM-70B-base-2508.

Uwaga dotycząca liczby parametrów na HF: panel Hugging Face może wyświetlać ten artefakt jako ~11B parametrów, ponieważ licznik opiera się na spakowanych tensorach 4-bitowych. Architektura bazowa pozostaje Llama-PLLuM-70B (70.5B parametrów); repozytorium zawiera skwantyzowane wagi pochodne modelu 70B, spakowane do ~11.2B tensorów int4 rozpakowywanych przy ładowaniu.


Opis modelu (PL)

Czterobitowa kwantyzacja (AWQ W4A16, format compressed-tensors) modelu Llama-PLLuM-70B-base-2508 wytworzonego przez konsorcjum PLLuM (SpeakLeash, OPI-PIB, NASK, Politechnika Wrocławska), publikowanego na HuggingFace przez Ministerstwo Cyfryzacji RP (organizacja CYFRAGOVPL). Celem kwantyzacji jest możliwość zmieszczenia modelu na sprzęcie konsumenckim — 37.56 GB łącznego footprintu (TP=2) pozwala uruchomić 70B parametrów na 2× AMD Radeon AI PRO R9700 (2× 32 GB VRAM), bez DC-grade akceleratora.

Dla kogo:

  • zespoły fine-tuningujące własne warianty PLLuM-70B na lokalnym sprzęcie AMD bez dostępu do MI300X/H100
  • badania nad reprezentacjami języka polskiego w 70B LM
  • continued pretraining, instruction tuning, domain adaptation

Co dało nowego: według wiedzy autora — pierwsza publiczna kwantyzacja AWQ W4A16 (vLLM-native compressed-tensors) rodziny Llama-PLLuM-70B (stan na 2026-05-23, weryfikowane przez wyszukiwanie HuggingFace Hub). Dla użytkowników llama.cpp / ollama dostępne są GGUF quantizacje (mradermacher); tutejsze wagi są zoptymalizowane pod inferencję serwerową w vLLM.

Model description (EN)

4-bit AWQ W4A16 quantization (compressed-tensors format) of Llama-PLLuM-70B-base-2508 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 deployment on consumer/prosumer hardware: 37.56 GB total footprint at TP=2 fits on 2× Radeon AI PRO R9700 (2× 32 GB) without CPU offload, served via vLLM. To the author's knowledge, this is the first public AWQ W4A16 (vLLM-native compressed-tensors) quantization of the Llama-PLLuM-70B family (verified via HuggingFace Hub search, 2026-05-23). GGUF alternatives (mradermacher) are available for llama.cpp/ollama users.


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 MI300X (AMD Developer Cloud, powered by DigitalOcean)
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); v_proj AWQ scaling skipped on GQA (llm-compressor known artifact — see Limitations)

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


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

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

Metric Value
Footprint per GPU 18.78 GiB
Footprint total (TP=2) 37.56 GB
Model loading time 14–19 s
KV cache @ 8192 max_seq ~55 000 tokens
Max concurrency 6.7 req
Sanity response time (single request) n/a (harness chat-template artifact — see Verdict above)

Verdict: PASS (with caveat) — model loads, envelope healthy, ale Gate 1 harness uderza w /v1/chat/completions i dostaje 400 ChatTemplateResolutionError (base tokenizer nie ma chat template). Quantization i loading są OK; użyj /v1/completions dla base.

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-23)

5 wariantów polskich promptów (faktografia, polecenie, streszczenie, definicja, porównanie) z mechanicznymi auto-flagami: język (polish heuristic), koherencja (brak n-gram repetition), długość (sensowna). Vehicle-integrity per METHODOLOGY §8 — NIE ocena jakości modelu.

Verdict: PASS (after human spot-check) — auto-flagi zwróciły REVIEW (~4/5 prompts all-flags-OK; pojedyncze short-answer responses zostały flagged jako coherent=false z powodu wysokiego ngram-share przy małej liczbie słów, co jest known limitation heurystyki). Manual spot-check raw outputs (link sekcja powyżej) potwierdza coherent Polish output we wszystkich 5 promptach. Vehicle-integrity OK.

Raw outputs + auto-flag JSON: navimed-umb/environment/coherence-probes/.


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 70B AWQ release and will fail or misbehave without the flags below (tensor parallelism, ROCm env vars, --quantization compressed-tensors or awq_marlin, --enforce-eager on gfx1201). Use the validated commands in this section instead.

Uwaga: ignoruj automatyczne snippety "Use this model" generowane przez panel HF — są niekompletne dla tego release'u i nie zadziałają bez flag poniżej (TP, env vars ROCm, --quantization compressed-tensors / awq_marlin, --enforce-eager na gfx1201).

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

Stack: vLLM 0.19.0+rocm721 PINNED + ROCm 7.2 + PyTorch 2.10 (Capitelli #40980 deadlock above 0.19.0 on dual R9700). 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,1   # exclude iGPU
export NCCL_P2P_DISABLE=1

vllm serve mozarcik/Llama-PLLuM-70B-base-2508-awq \
  --tensor-parallel-size 2 \
  --enforce-eager \
  --max-model-len 8192 \
  --gpu-memory-utilization 0.90 \
  --quantization compressed-tensors

On NVIDIA GPUs (portable — H100/A100/L40S, vLLM ≥ 0.7.0)

vllm serve mozarcik/Llama-PLLuM-70B-base-2508-awq \
  --tensor-parallel-size 2 \
  --max-model-len 8192 \
  --gpu-memory-utilization 0.85 \
  --quantization awq_marlin

Note for NVIDIA users: drop --enforce-eager (CUDA graphs work on Hopper/Ampere); 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 examples

# Base model — use /v1/completions (NO chat template in base tokenizer)
curl http://localhost:8000/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mozarcik/Llama-PLLuM-70B-base-2508-awq",
    "prompt": "W Krakowie znajduje się",
    "max_tokens": 64,
    "temperature": 0.3
  }'

Note: base model does NOT carry a chat template — calls to /v1/chat/completions will return 400 ChatTemplateResolutionError. Use /v1/completions for raw text continuation.

Python client (OpenAI-compatible)

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

# For chat/instruct variants:
resp = client.chat.completions.create(
    model="mozarcik/Llama-PLLuM-70B-base-2508-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)

# For base variant — use Completions API (no chat template in base tokenizer):
# resp = client.completions.create(model="...", prompt="...", max_tokens=128)

Limitations & known issues

  • AWQ na gfx1201 ≠ szybkość. Profil korzyści tego modelu to możliwość zmieszczenia (37.56 GB → fits on 64 GB envelope), 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 (cf. vLLM docs).
  • llm-compressor v_proj skip on GQA — known library artifact dla Grouped-Query Attention (Llama 3.1 family); patrz vllm-project/llm-compressor#issues. Wpływ na koherencję outputu zweryfikowany Gate 2 probe — patrz sekcja powyżej.
  • 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 — wszystkie ograniczenia Llama 3.1 Community License + Acceptable Use Policy dziedziczą na wagi skwantyzowane. Patrz Built with Llama i sekcja License poniżej.

Intended use

Research and engineering use only.

Model bazowy. Bez chat template, bez instruction tuning, bez alignment. Przeznaczony do dalszego fine-tuningu (continued pretraining, SFT, RLHF) i badań nad reprezentacjami. Nie nadaje się do bezpośredniego dialogu z użytkownikiem — użyj wariantów instruct lub chat do interakcji. Endpoint: /v1/completions (raw text), NIE /v1/chat/completions.

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.


Built with Llama

This work uses Llama materials. The base model CYFRAGOVPL/Llama-PLLuM-70B-base-2508 (Llama-PLLuM-70B family by the PLLuM consortium, published by the Polish Ministry of Digital Affairs) is derived from Meta's Llama 3.1 and is governed by the Llama 3.1 Community License Agreement and the Llama 3.1 Acceptable Use Policy.

Llama 3.1 is licensed under the Llama 3.1 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved.

These quantized derivative weights are redistributed under the same terms; users must comply with both the License and the Acceptable Use Policy.


Credits / Attribution

Base model — Llama-PLLuM-70B family:

Quantization:

Compute:

Benchmark suite & methodology:


License

llama3.1 — inherited from CYFRAGOVPL/Llama-PLLuM-70B-base-2508.

This repository contains quantized derivative weights only. Use of these weights is subject to:


Citation

@software{minarowski_2026_pllum70b_base_2508_awq,
  author    = {Minarowski, Łukasz},
  title     = {{Llama-PLLuM-70B-base-2508} AWQ W4A16 quantization for vLLM on consumer AMD},
  year      = {2026},
  publisher = {HuggingFace},
  url       = {https://huggingface.co/mozarcik/Llama-PLLuM-70B-base-2508-awq},
  doi       = {10.5281/zenodo.20317011}
}

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

Parts of this documentation (the model card) were locally edited and proofread with the assistance of Bielik-11B-v3.0-instruct served via vLLM on the same hardware. The model was used for language correction and editorial refinement only. It did not generate, modify, or validate: the quantized model weights, benchmark measurements, calibration data, release claims, citations, or hardware/license attributions.

Część dokumentacji (model card) została lokalnie poprawiona redakcyjnie z użyciem modelu Bielik-11B-v3.0-instruct uruchomionego przez vLLM na tym samym sprzęcie. Model wykorzystano wyłącznie do korekty językowej i redakcyjnej. Nie generował, nie modyfikował ani nie walidował: wag modelu, wyników pomiarów, danych kalibracyjnych, twierdzeń release'owych, cytatów ani atrybucji sprzętowych/licencyjnych.

Downloads last month
10
Safetensors
Model size
11B 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/Llama-PLLuM-70B-base-2508-awq

Quantized
(3)
this model

Dataset used to train mozarcik/Llama-PLLuM-70B-base-2508-awq

Paper for mozarcik/Llama-PLLuM-70B-base-2508-awq