Instructions to use Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM") model = AutoModelForMultimodalLM.from_pretrained("Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM
- SGLang
How to use Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM with Docker Model Runner:
docker model run hf.co/Ar4ikov/Qwen3.8-27B-Uncensored-AWQ-W4A16-ASYM
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_layernormfull-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