Downloads · 30 days
1.4K
11% of all-time downloads
taobao-mnn/Qwen3.5-2B-MNN
Qwen3.5-2B-MNN is a image-text-to-text model from taobao-mnn. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
本仓库是从 Qwen/Qwen3.5-2B 转换的 MNN HQQ 4-bit 推理模型。
Downloads · 30 days
1.4K
11% of all-time downloads
All-time downloads
12.5K
Public
Repo size
2.6 GB
Likes
2
Public
Click a slice to open those files.
.weight1.3 GB · 98%
From the Hugging Face model README
本仓库是从 Qwen/Qwen3.5-2B 转换的 MNN HQQ 4-bit 推理模型。
导出日期:2026-11-09;导出版本:MNN 3.6.2;源码提交:b0239771b07b317a258fbc384683bbd540741406。
Qwen3.5-2B 是带视觉编码器的后训练语言模型,面向文本对话与视觉理解。该 2B 型号采用稠密前馈网络,以及 Gated DeltaNet 与全注意力交替的混合语言架构,不是 MoE 模型;上游的多模态能力介绍不能直接等同于本包的验证范围,本次只验证文本与三组合成图片输入,没有音频或视频测试证据。
| 项目 | 本包信息 |
|---|---|
| 原始模型 | Qwen/Qwen3.5-2B |
| 输入 / 输出 | 文本、图片 / 文本 |
| 语言层数 | 24:18 层 Gated DeltaNet、6 层全注意力 |
| 视觉层数 | 24 |
| 语言主干线性权重 | HQQ 4-bit,分组大小 64 |
| LM 输出头 | HQQ 4-bit,分组大小 64 |
| 语言线性 / LM 量化尺度存储 | FP16(scale_bit=16) |
| 输入嵌入 | 与 LM 输出头共享 4-bit 量化权重,分组大小 64,尺度 FP16 |
| 视觉权重 | HQQ 4-bit,分组大小 128,量化尺度 FP16 |
| 视觉文件 | visual.mnn、visual.mnn.weight |
优先使用 ModelScope,下载全部文件到同一目录:
python -m pip install -U modelscope
python -c "from modelscope import snapshot_download; snapshot_download('MNN/Qwen3.5-2B-MNN', local_dir='./Qwen3.5-2B-MNN')"
export MODEL_DIR=./Qwen3.5-2B-MNN
也可通过 Hugging Face 镜像下载:
export HF_ENDPOINT=https://hf-mirror.com
pip install -U huggingface_hub
hf download taobao-mnn/Qwen3.5-2B-MNN --local-dir ./Qwen3.5-2B-MNN
export MODEL_DIR=./Qwen3.5-2B-MNN
务必一起更新语言与视觉模型图、外部权重、分词器、模板和配置。加载前清理旧模型、权重及 KV 缓存;不要混用不同修订,也不能沿用旧配置中的共享嵌入权重偏移。仅下载语言模型文件不构成完整图文推理包。
本包要求 MNN 3.6.2 或更新版本及 Transformer 融合支持,旧版运行时或应用需先升级。准备 Git、CMake 和 C++ 编译工具链,在同一个工作目录执行以下命令,固定到实际导出提交。MNN_BUILD_LLM_OMNI=ON 用于启用图像相关依赖:
git clone https://github.com/alibaba/MNN.git
git -C MNN checkout b0239771b07b317a258fbc384683bbd540741406
(cd MNN && ./schema/generate.sh)
cmake -S MNN -B MNN/build \
-DCMAKE_BUILD_TYPE=Release \
-DMNN_BUILD_LLM=ON -DMNN_LOW_MEMORY=ON \
-DMNN_BUILD_LLM_OMNI=ON \
-DMNN_BUILD_CONVERTER=ON -DMNN_SUPPORT_TRANSFORMER_FUSE=ON \
-DMNN_SEP_BUILD=OFF
cmake --build MNN/build --parallel 4
加载原始权重时须保留 A_log 与 norm 参数的 FP32 精度,不能用普通 CLI 替代下面的加载包装。先安装固定提交的依赖清单;所用 transformers 版本须提供 Qwen3_5ForConditionalGeneration。以下示例直接内嵌包装,不依赖额外的本地脚本:
export HF_ENDPOINT=https://hf-mirror.com
python -m pip install -r MNN/transformers/llm/export/requirements.txt
python -c "from modelscope import snapshot_download; snapshot_download('Qwen/Qwen3.5-2B', local_dir='./original/Qwen3.5-2B')"
python - \
--path ./original/Qwen3.5-2B \
--export mnn --hqq --quant_bit 4 --quant_block 64 \
--scale_bit 16 --embed_bit 16 --lm_quant_bit 4 --lm_quant_block 64 \
--mnnconvert ./MNN/build/MNNConvert \
--dst_path ./reexported/Qwen3.5-2B-MNN <<'PY'
import sys
from unittest import mock
from transformers import Qwen3_5ForConditionalGeneration
sys.path.insert(0, 'MNN/transformers/llm/export')
from llmexport import main
with mock.patch.object(Qwen3_5ForConditionalGeneration, '_keep_in_fp32_modules_strict', ['A_log', 'norm']):
main()
PY
python - 后的参数原样交给导出器的 argparse。包装只限定源模型加载精度,不是对运行时全部算子的 FP32 承诺。C4、QKV / gate-up 投影、归一化投影及线性注意力门融合在该提交默认启用,无需额外开关。
本包 seperate_embed=false、tie_word_embeddings=true;虽然导出参数是 embed_bit=16,实际输入嵌入仍共享 4-bit LM 权重,并非独立 BF16 嵌入。
export_args.json 中 visual_quant_bit 与 visual_quant_block 均为 null,表示采用模型导出器默认值,实际视觉产物为 4-bit / 分组 128、尺度 FP16。上面的命令因此不添加视觉量化覆盖参数,也不声称这些选项曾被显式记录。
完整参数、来源哈希与验证记录分别见 export_args.json 和 refresh_metadata.json。示例下载上游当前快照;本模型 source_revision 中的 sha256: 值是溯源哈希,不是下载修订号。重新导出须使用全新目录,保留整套语言 / 视觉权重、模板及配置,不能复制旧权重偏移,也不保证与发布包字节一致。
config.json 的语言运行配置为 CPU、4 线程、precision=low、memory=low。混合采样为 temperature=1.0、top_k=20、top_p=0.95、repetition_penalty=1.1,min_p=0;max_new_tokens=8192 是配置的生成上限,不是已验证上下文长度。
保留 jinja.context.enable_thinking=true,不要强制改为 false。视觉 mllm 子配置为 CPU、4 线程、precision=normal、memory=low,与语言精度设置不同。
printf 'What is 2 + 3? Reply with only the number.\n' > prompt.txt
./MNN/build/llm_demo "$MODEL_DIR/config.json" prompt.txt
./MNN/build/llm_bench -m "$MODEL_DIR/config.json" -a cpu -t 4 -p 128 -n 32
此例演示文本输入,输出可能含思考内容。图片输入的消息组织、视觉预处理及模型加载请按 MNN-LLM 文档 与随包 llm_config.json 的 vision_processor 配置接入,不要套用其他型号的图片模板。
llm_bench 命令仅演示本地文本测量,参数为 128 个输入 token、32 个生成 token;它不是视觉基准,本卡未发布性能测量。
2026-11-09 的文本自动检查、默认配置冒烟及图像用例检查通过,平台仅为 x64 CPU:
这三组图片不能代表一般视觉任务精度,包内的视频字段也不是视频验证证据。未验证音频、视频、ARM CPU FP16、Metal、OpenCL、Vulkan 或 CUDA。上述检查不构成全面精度或性能基准,不承诺量化模型与未量化模型逐 token 一致;生成内容可能错误,重要结论请独立核实。
模型沿用上游 Apache License 2.0,全文见 LICENSE。量化转换不改变上游权利归属与许可证义务。
来源与参数:原始模型 · export_args.json · refresh_metadata.json。 工具与用法:MNN 导出器 · MNN-LLM 文档。