【免费下载链接】VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K
VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K 是一个面向 AMD Ryzen AI NPU 优化的多模态视频理解模型仓库。本文带你逐个文件解析这个 NPU 大模型仓库:从text.onnx语言模型、vision.onnx视觉编码器,到神秘的dd_metastate系列缓存文件,一文看懂每个文件的用途。
一、这个模型仓库是什么?
在拆文件之前,先 30 秒了解背景,后面看文件就不迷糊了:
- 源模型:OpenGVLab 的 VideoChat-Flash(Qwen2.5-7B 语言模型 + InternVideo2-1B 视频编码器),详见 README.md
- 量化策略:AWQ / Group 128 / 非对称量化,权重 UINT4、激活 BFP16,由 Quark 量化 + OGA Model Builder 构建
- 部署目标:AMD Ryzen AI 硬件的 NPU,支持 16K token 上下文("npu_16K" 即来源于此)
一句话总结:这是一套"开箱即用"的 ONNX Runtime GenAI 多模态推理部署包,而不是传统 PyTorch 权重。
二、文件总览:一张表看懂全部文件
| 文件 | 真实大小 | 作用 |
|---|---|---|
| text.onnx | 约 0.4 MB | 语言模型 ONNX 计算图 |
| text.onnx.data | 约 26 MB | text.onnx 的外部数据片段 |
| text.bin | 约 3.9 GB | 语言模型量化权重(外部数据) |
| text.pb.bin | 约 10 KB | NPU 端 token 融合图(NPU 后端专用) |
| vision.onnx | 约 1.6 MB | InternVideo2 视觉编码器计算图 |
| vision.onnx.data | 约 4.0 GB | 视觉编码器权重(外部数据) |
| embedding.onnx | 约 3 KB | 输入嵌入模型计算图 |
| embedding.onnx.data | 约 2.2 GB | 词表嵌入权重(外部数据) |
| dd_metastate_*.state | 784 B | NPU 算子状态表 |
| dd_metastate_*.fconst | 约 3.8 GB | NPU 常量权重缓存 |
| dd_metastate_attention_mask_padded.ctrlpkt | 约 10 MB/个 | NPU 注意力控制包(7 种序列长度) |
| dd_metastate_attention_mask_padded.meta | 约 3 MB/个 | NPU 注意力元数据 |
| dd_metastate_attention_mask_padded.super | 0 B | 预留扩展文件(当前为空) |
| cache/Token_modellayers.0input_layernormMLADFRMSNORM_meta.json | 约 1.1 MB | 编译期算子列表缓存 |
| genai_config.json | 3 KB | GenAI 推理部署核心配置 |
| config.json | 2 B | 空占位配置(内容为{}) |
| tokenizer.json | 约 11 MB | 分词器词表(BPE) |
| tokenizer_config.json | 约 5 KB | 分词器参数(特殊 token 等) |
| processor_config.json | 约 1.2 KB | 图像预处理流水线配置 |
| .gitattributes | 约 2 KB | Git LFS 规则声明 |
三、配置四件套:推理引擎怎么"读"这个模型
1. genai_config.json:整个仓库的"总纲"
genai_config.json 是 ONNX Runtime GenAI 的部署配置,定义了三大会话如何组装:
- 模型结构:
videochat_flash_qwen类型,28 层 Transformer、隐藏维度 3584、28 个注意力头 + 4 个 KV 头(GQA 架构)、词表大小 152064 - 三个子会话:
vision(视觉编码)→embedding(图文嵌入融合)→decoder(文本生成),并声明了各自的输入输出张量名 - NPU 专属选项:
RyzenAIprovider 参数指定了hybrid_opt_token_backend: npu、外部数据文件 text.pb.bin、以及 KV Cache 融合优化等 - 生成策略:
max_length: 16384、chunk_size: 4096、top_k: 50,与仓库名中的 "16K" 上下文正好对应
2. processor_config.json:视频帧的"预处理流水线"
processor_config.json 定义了internvideo2_image_processor的四步图像变换:解码为 RGB → 缩放到 224×224 → 缩放到 0~1 → 用 ImageNet 均值/方差归一化。视频理解时,每一帧都会先走这条流水线再送入 vision.onnx。
3. tokenizer 双文件:文字的"翻译词典"
- tokenizer.json(约 11 MB):Qwen2.5 的完整 BPE 分词词表
- tokenizer_config.json:特殊 token(如 BOS/EOS)和分词策略参数
而 config.json 目前是空的{}——它只是 HF 生态的惯例占位文件,真正的结构信息都在 genai_config.json 里。
四、三大 ONNX 模型:视频理解的"三步流水线"
🎬 视频 → 📷 视觉编码 → 🔤 文本生成,每一步对应一组 ONNX 文件:
1. vision.onnx:视频编码器
vision.onnx 是 InternVideo2-1B 视觉编码器的计算图,vision.onnx.data(约 4 GB)存放其量化权重。它把视频帧编码成image_features视觉 token,供后续与文本对齐。
2. embedding.onnx:图文"拼接器"
embedding.onnx 计算图很小(约 3 KB),但 embedding.onnx.data 高达约 2.2 GB——因为词表嵌入矩阵(152064 词 × 3584 维)是 Qwen2.5-7B 的大头。它把文本input_ids与视觉image_features融合成统一的inputs_embeds序列。
3. text.onnx + text.bin:语言模型本尊
- text.onnx(约 0.4 MB):仅描述 28 层 Transformer 的计算图结构
- text.onnx.data:图内附带的小数据块
- text.bin(约 3.9 GB):真正的 UINT4 量化权重,按 ONNX "external data" 机制外挂
- text.pb.bin:NPU 的 token 融合图,配合 genai_config.json 中的
hybrid_opt_token_backend: npu参数,让自回归解码阶段的部分计算卸载到 NPU
这种"图与权重分离"的设计是大模型 ONNX 化的惯例:图文件小而频繁加载,权重文件大而只读一次。
五、dd_metastate 系列:NPU 专属的"注意力缓存包"
这一组文件是普通 Hugging Face 模型仓库里绝对看不到的,它们是NPU 驱动为注意力算子预编译的元状态(metastate),命名规律拆解如下:
dd_metastate_Llm_Token_Token_modellayers.0input_layernormMLADFRMSNORM_<后缀> └─ NPU动态分发 └─ 模型域/阶段 └─ 关联算子(首层LayerNorm融合) └─ 后缀按后缀分为四类:
.state:状态表(784 B),描述状态更新函数与参数.fconst:约 3.8 GB 的浮点常量缓存,本质是 NPU 侧复用的权重/常量副本_attention_mask_padded_<N>.ctrlpkt:控制数据包,按 7 档序列长度(256 / 512 / 1024 / 2048 / 3072 / 4096 / 16384)各一份,运行时按实际序列长度就近取用,避免每次动态生成注意力掩码_attention_mask_padded_<N>.meta:对应的元数据(如 16384 版 约 3 MB).super:当前为空(0 B),是预留给后续扩展的占位文件
配合 cache/Token_modellayers.0input_layernormMLADFRMSNORM_meta.json(约 1.1 MB)中缓存的算子列表——其中MLADFRMSNORM是"多头注意力 + 融合 RMSNorm"的定制融合算子——这些文件共同构成NPU 端预编译产物:模型首次构建时离线生成好,推理时直接加载,省去运行时编译开销。
六、新手高频疑问
Q:为什么 clone 下来很多文件只有 100 多字节?
因为仓库使用 Git LFS 管理大文件(规则见 .gitattributes)。你看到的 130 字节左右内容是 LFS 指针(oid+size),例如 text.onnx 的指针里写着size 407760,表示真实文件约 0.4 MB。执行git lfs pull后即可下载全部真实文件。
Q:这么多 GB 的权重放哪了?
全部走"外部数据"机制:text.bin(3.9 GB)+vision.onnx.data(4.0 GB)+embedding.onnx.data(2.2 GB)+fconst(3.8 GB),总下载量约 14 GB 量级,建议预留足够磁盘空间。
Q:为什么会有两套配置(genai_config.json 和 config.json)?
config.json是 Hugging Face 生态的惯例占位;ONNX Runtime GenAI 只认 genai_config.json,模型结构、NPU 参数、生成策略都以它为准。
七、总结
📌 记住这张"心智地图":
- 入口配置:genai_config.json 定义三大会话与 NPU 选项
- 推理流水线:
processor_config.json(预处理)→ vision.onnx(看视频)→ embedding.onnx(图文融合)→ text.onnx(吐文字) - 大权重:
text.bin、*.onnx.data、fconst,全部经 Git LFS 下载 - NPU 加速层:
dd_metastate_*系列 + cache/ 是预编译缓存,普通 GPU 部署看不到它们
理解了这套文件结构,你就能把仓库交给 Ryzen AI 工具链直接跑起来——这正是 AMD 为 Ryzen AI 用户准备的"视频理解 NPU 一键部署包"。
【免费下载链接】VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K
相关推荐
为什么选择asio_kcp?揭秘这款高性能UDP框架如何解决实时PVP游戏的网络延迟难题 🚀
为什么选择asio_kcp?揭秘这款高性能UDP框架如何解决实时PVP游戏的网络延迟难题 🚀 在实时PVP游戏开发中,网络延迟是影响玩家体验的关键因素。传统的
Llama-3.2-1B_rai_1.8.0_npu_16K目录结构逐文件详解:model.onnx、model.pb.bin与dd_metastate文件都是什么?
Llama 3.2 1B_rai_1.8.0_npu_16K目录结构逐文件详解:model.onnx、model.pb.bin与dd_metastate文件都是
GLM-5.3-Flash-w8a8-mxfp8文件结构全解析:模型仓库里每个文件都起什么作用
GLM 5.3 Flash w8a8 mxfp8文件结构全解析:模型仓库里每个文件都起什么作用 GLM 5.3 Flash w8a8 mxfp8 是一个 W8A
大模型基础模型模型量化
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考