Coderdw's picture
docs: link ncnn technical discussion
d927722 verified
|
Raw
History Blame Contribute Delete
5.92 kB
---
language:
- zh
- en
license: other
license_name: youtu-vl
license_link: LICENSE
library_name: ncnn
pipeline_tag: image-text-to-text
base_model: tencent/Youtu-VL-4B-Instruct
tags:
- ncnn
- pnnx
- cpp
- vision-language
- multimodal
- image-text-to-text
---
# Youtu-VL-4B-Instruct-ncnn
这是
[`tencent/Youtu-VL-4B-Instruct`](https://huggingface.co/tencent/Youtu-VL-4B-Instruct)
的 pnnx/ncnn 模型资产版本。
本仓库只发布转换后的 ncnn 权重和参数文件,不包含 C++ 源码、可执行文件、
CMake 工程或模型转换脚本。模型需要与独立发布的 `Youtu-VL-ncnn` C++
运行时配套使用,不能直接通过
`AutoModel.from_pretrained()`、Hugging Face Inference API 或标准
Transformers Pipeline 加载。
## 项目来源
| 项目 | 来源 |
| --- | --- |
| 原始模型 | [tencent/Youtu-VL-4B-Instruct](https://huggingface.co/tencent/Youtu-VL-4B-Instruct) |
| 官方代码 | [TencentCloudADP/youtu-vl](https://github.com/TencentCloudADP/youtu-vl) |
| 技术总结 | [从 PyTorch 到 ncnn/C++:Youtu-VL-4B 的端侧迁移与 AI 辅助工程方法](https://github.com/Tencent/ncnn/discussions/6871) |
| 推理框架 | [Tencent/ncnn](https://github.com/Tencent/ncnn) |
| 模型转换工具 | [pnnx](https://github.com/pnnx/pnnx) |
| C++ 代码与运行说明 | [everythingfornothing/Youtu-VL-ncnn](https://github.com/everythingfornothing/Youtu-VL-ncnn) |
Youtu-VL 是腾讯优图实验室发布的视觉语言模型,基于 Youtu-LLM,并使用
Vision-Language Unified Autoregressive Supervision。原模型同时覆盖通用
视觉问答、多模态理解以及目标检测、视觉定位等视觉中心任务。
本项目没有重新训练 Youtu-VL,也不改变原模型的所有权。仓库中的资产由
pnnx 转换并按照 ncnn 运行边界拆分,供配套运行时加载。
## 转换内容
```text
27-layer Vision
VLPatchMerger
40-layer LLM Prefill/Decode
Final RMSNorm
17 LM-head shards
Text embedding and RoPE constants
ByteLevel-BPE tokenizer.bin
```
模型按照实际运行边界拆分为多个 ncnn 子图。本仓库只负责分发这些转换资产,
运行时实现、构建方法和命令行接口请查看
[`everythingfornothing/Youtu-VL-ncnn`](https://github.com/everythingfornothing/Youtu-VL-ncnn)。
## 文件说明
| 文件 | 说明 |
| --- | --- |
| `youtu-vl-ncnn-model.tar.gz` | 完整 ncnn 模型压缩包 |
| `MODEL_PACKAGE_SHA256.txt` | 压缩包 SHA-256 |
| `LICENSE` | Youtu-VL License |
压缩包解开后生成 `model/`
```text
model/
├── artifacts/
│ ├── vision_embedding/
│ ├── vision_layer0_masked_core/ ... vision_layer26_masked_core/
│ ├── vision_post_layernorm/
│ ├── llm_layer0_three_part/ ... llm_layer39_three_part/
│ ├── llm_final_head_ncnn/
│ ├── text_embedding/
│ └── llm_rope_inv_freq.npy
├── models/
│ └── youtu_merger.ncnn.{param,bin}
├── tokenizer/
│ └── tokenizer.bin
└── checksums.sha256
```
完整模型包含 339 个运行资产,解压后约 13.43 GiB。
## 下载、校验与解压
安装 Hugging Face CLI:
```bash
python3 -m pip install -U huggingface_hub
```
下载模型包:
```bash
hf download Coderdw/Youtu-VL-4B-Instruct-ncnn \
youtu-vl-ncnn-model.tar.gz MODEL_PACKAGE_SHA256.txt \
--local-dir model-download
```
校验并解压:
```bash
cd model-download
sha256sum -c MODEL_PACKAGE_SHA256.txt
tar -xzf youtu-vl-ncnn-model.tar.gz
(cd model && sha256sum -c checksums.sha256)
```
下载完成后,请按照
[`everythingfornothing/Youtu-VL-ncnn`](https://github.com/everythingfornothing/Youtu-VL-ncnn)
中的构建与运行说明加载解压后的 `model/` 目录。
当前模型包 SHA-256:
```text
BAF79D8507B89AFDDC70EC151605A41A7616F03A9ACA3983B804FBE52302C4AA youtu-vl-ncnn-model.tar.gz
```
## 验证结果
这些权重曾与配套 `Youtu-VL-ncnn` 运行时联合验证。验证条件为单图片、
单 Prompt、batch size 1、greedy decode、CPU Release、8 threads 和
Vulkan OFF。
| 验证范围 | 结果 |
| --- | --- |
| Linux 32/64/128 token | 最终 token ID 与 PyTorch 参考逐元素一致,文本一致 |
| Windows 1/32/64/128 token | 最终 token ID 与 PyTorch 参考逐元素一致,文本一致 |
| 英文 VQA、物体检测 | 64-token 用例均通过 |
| Persistent 生命周期 | `resident_models=138``model_load_count=138` |
| 配套 C++ 运行时的 Python/Transformers 依赖 | 无 |
| 配套 C++ 运行时的 BLAS/MKL/OpenBLAS/Vulkan 依赖 | 无 |
Linux Persistent 最终版相对重复加载基线,在 32/64/128 token 下的总耗时
分别获得约 1.64×、1.46× 和 1.36× 加速。
## 使用范围与限制
- 本仓库不能单独执行推理,必须另行获取配套运行时。
- 联合验证范围是单张图片和单个文本 Prompt,batch size 为 1。
- 联合验证以 CPU Release、Vulkan OFF 为验收配置。
- 多图片、视频、批量推理和服务端并发不在当前验证范围内。
- 模型输出可能继承原始模型的知识偏差、幻觉和安全限制。
- 本模型包是部署格式转换,不应被描述为新的训练模型或新的基础模型。
## License
模型、转换权重及使用行为遵循仓库中的
[Youtu-VL License](LICENSE)。使用前请同时阅读原始模型仓库的许可证与
使用限制。
本项目使用 ncnn,并通过 pnnx 完成模型图转换;相关组件分别遵循其自身的
开源许可证。本仓库与腾讯优图实验室不存在官方隶属或背书关系。
## Citation
使用本模型时,请引用原始 Youtu-VL 工作:
```bibtex
@article{youtu-vl,
title={Youtu-VL: Unleashing Visual Potential via Unified Vision-Language Supervision},
author={Tencent Youtu Lab},
year={2026},
eprint={2601.19798},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2601.19798}
}
```