Q4NX/FastFlowLM card: flm-add.py install + run/serve flow, kernels source, model info
f5b95fb verified | license: other | |
| language: | |
| - en | |
| pipeline_tag: text-generation | |
| tags: | |
| - qwen2.5 | |
| - coder | |
| - coding | |
| - fastflowlm | |
| - q4nx | |
| - npu | |
| base_model: | |
| - Qwen/Qwen2.5-Coder-3B | |
| # Qwen2.5-3B-Coder-Instruct - Q4NX for FastFlowLM (AMD Ryzen AI XDNA2) | |
| Qwen2.5-Coder-3B Instruct, converted to Q4NX for FastFlowLM. Runs on the Qwen2.5 engine (3B kernels). | |
| ## What is Q4NX? | |
| Q4NX is FastFlowLM's native packed-quantization format - a rearranged Q4_1 | |
| layout tuned for the NPU matrix engine's tile sizes and memory access | |
| patterns. It is **not** a GGUF file and it does not run on llama.cpp or | |
| Ollama; it is meant exclusively for the [FastFlowLM](https://fastflowlm.com) | |
| engine on AMD Ryzen AI NPUs. | |
| ## Requirements | |
| - FastFlowLM >= 0.9.45 (`flm` CLI) | |
| - AMD Ryzen AI processor with **XDNA2 (NPU2)** - Strix Point / Ryzen AI 300 | |
| series or later | |
| - Linux with the XRT NPU stack installed | |
| - ~8 GB of unified system memory (Q4NX weights + activations + KV cache) | |
| ## Files | |
| | File | Purpose | | |
| |---|---| | |
| | model.q4nx | Quantized Q4NX weights | | |
| | config.json | FastFlowLM model configuration | | |
| | tokenizer.json | Tokenizer | | |
| | tokenizer_config.json | Special tokens and chat template | | |
| | chat_template.jinja | Chat template (optional) | | |
| | flm-add.py | Installer script - registers this model with FastFlowLM | | |
| ## Install and run | |
| This repository ships `flm-add.py`, a small installer that copies the model | |
| into the FastFlowLM user directory and registers the tag `qwen2.5-coder:3b`. It never | |
| modifies the system FastFlowLM install. | |
| ```bash | |
| # one-time environment (add these to ~/.bashrc) | |
| export FLM_CONFIG_PATH="$HOME/.config/flm/model_list.json" | |
| export FLM_XCLBIN_PATH="$HOME/.config/flm" | |
| git lfs install | |
| git clone https://huggingface.co/Atomic-Germ/Qwen2.5-3B-Coder-Instruct-NPU2 | |
| cd Qwen2.5-3B-Coder-Instruct-NPU2 | |
| python3 ./flm-add.py . | |
| flm run qwen2.5-coder:3b | |
| ``` | |
| Run `python3 ./flm-add.py --help` for all options. Without a clone, the same | |
| command works against the repo id directly: | |
| ```bash | |
| python3 ./flm-add.py Atomic-Germ/Qwen2.5-3B-Coder-Instruct-NPU2 | |
| ``` | |
| ## Kernels | |
| FastFlowLM's NPU kernels (xclbins) are closed source and are not shipped in | |
| this repository. `flm-add.py` links the kernels of the official **`qwen2.5-it:3b`** | |
| model (`Qwen2.5-3B-Instruct-NPU2`), because this model shares the same engine family | |
| (`qwen2`) and architecture. | |
| ## Serve (OpenAI-compatible) | |
| ```bash | |
| flm serve qwen2.5-coder:3b --port 8080 | |
| ``` | |
| ```bash | |
| curl http://127.0.0.1:8080/v1/chat/completions \ | |
| -H 'Content-Type: application/json' \ | |
| -d '{"model":"qwen2.5-coder:3b","messages":[{"role":"user","content":"Hello!"}],"max_tokens":256}' | |
| ``` | |
| ## Model | |
| - Registry tag: `qwen2.5-coder:3b` | |
| - Engine family: `qwen2` | |
| - Kernel source: Qwen2.5-3B-Instruct-NPU2 | |
| - Context length: 32,768 tokens (from config) | |
| - `model.q4nx` size: 2.59 GB | |
| - Base model: [Qwen/Qwen2.5-Coder-3B](https://huggingface.co/Qwen/Qwen2.5-Coder-3B) | |
| - License: other | |
| ## Original model card | |
| See the upstream model card for training details, benchmarks, and upstream | |
| usage. This repository only contains the Q4NX conversion for FastFlowLM. | |
| - Upstream card: [Qwen/Qwen2.5-Coder-3B](https://huggingface.co/Qwen/Qwen2.5-Coder-3B) | |