JoyAI-VL-Interaction-Preview AWQ W4A16 (LLM 4bit, Vision BF16)

This repository contains an AWQ W4A16 quantized version of jdopensource/JoyAI-VL-Interaction-Preview.

Original model:

This quantized checkpoint is intended for local vLLM inference experiments. It is not an official release from JD.

Quantization

Quantization method:

  • Tool: llmcompressor==0.12.0
  • Runtime format: compressed-tensors==0.17.1
  • Scheme: W4A16_ASYM
  • Weight bits: 4
  • Group size: 128
  • Targets: language-model Linear layers
  • Ignored modules: lm_head, model.visual.*

The visual encoder is kept in bf16 to reduce the risk of visual-understanding degradation. This means the checkpoint is not a fully quantized VLM; only the language-model linear layers are quantized.

Observed local size:

Checkpoint Size
Original bf16 checkpoint ~17 GB
AWQ W4A16 checkpoint ~6.8 GB

Verified Environment

The checkpoint was tested with:

Python 3.10.20
vllm 0.23.0
llmcompressor 0.12.0
compressed-tensors 0.17.1
transformers 5.10.1
2 x RTX 3080 20GB

vLLM detected:

quantization=compressed-tensors
Using MarlinLinearKernel for CompressedTensorsWNA16

vLLM Usage

Start the quantized model backend:

vllm serve /path/to/JoyAI-VL-Interaction-Preview-AWQ-W4A16 \
  --served-model-name JoyAI-VL-Interaction-Preview-AWQ-W4A16 \
  --host 127.0.0.1 \
  --port 8061 \
  --tensor-parallel-size 2 \
  --max-model-len 32768 \
  --enable-prefix-caching \
  --gpu-memory-utilization 0.85 \
  --limit-mm-per-prompt '{"image":64,"video":1}'

For lower memory usage, reduce context and multimodal limits:

vllm serve /path/to/JoyAI-VL-Interaction-Preview-AWQ-W4A16 \
  --served-model-name JoyAI-VL-Interaction-Preview-AWQ-W4A16 \
  --host 127.0.0.1 \
  --port 8061 \
  --tensor-parallel-size 2 \
  --max-model-len 4096 \
  --max-num-seqs 1 \
  --max-num-batched-tokens 2048 \
  --enforce-eager \
  --gpu-memory-utilization 0.50 \
  --limit-mm-per-prompt '{"image":1,"video":1}'

vLLM-Omni Real-Time Interaction

This model can be used as the main model backend for the JoyAI real-time interaction server from vLLM-Omni:

PYTHONPATH=/path/to/vllm-omni python -m vllm_omni.experimental.fullduplex.joyvl.serving.server \
  --host 127.0.0.1 \
  --port 8070 \
  --main-backend-url http://127.0.0.1:8061/v1 \
  --main-model JoyAI-VL-Interaction-Preview-AWQ-W4A16 \
  --chunk-frames 16

The interaction server exposes an OpenAI-compatible endpoint:

POST http://127.0.0.1:8070/v1/chat/completions

Chinese Output

The model can output Chinese. For real-time video interaction, set the instruction explicitly, for example:

请始终只用简体中文输出,实时简短描述视频中的重要变化;没有重要变化时保持沉默。

Without an explicit Chinese instruction, the model may output English by default.

Minimal Test

curl http://127.0.0.1:8061/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "JoyAI-VL-Interaction-Preview-AWQ-W4A16",
    "messages": [
      {"role": "user", "content": "用一句中文说明你已经启动成功。"}
    ],
    "max_tokens": 64,
    "temperature": 0
  }'

Expected behavior: the model returns a short Chinese response.

Limitations

  • This is an experimental quantized checkpoint.
  • The visual encoder is not quantized.
  • AWQ calibration used text prompts, so this release prioritizes preserving language-model behavior while keeping the vision tower unchanged.
  • Running on 8 GB edge devices such as Jetson Orin Nano Super is not guaranteed. Checkpoint size is not equal to runtime memory usage.
  • For real-time video, reduce frame sampling rate and image size according to available throughput.

License

This quantized checkpoint follows the license of the original model release: Apache-2.0.

Please also follow the license and usage terms of the original JoyAI-VL-Interaction project.

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

Paper for claris153/JoyAI-VL-Interaction-Preview-AWQ-W4A16