news 2026/10/22 6:58:39

VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K文件结构全解析:text.onnx到dd_metastate每个文件都有啥用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K文件结构全解析:text.onnx到dd_metastate每个文件都有啥用

【免费下载链接】VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K

项目地址:https://ai.gitcode.com/hf_mirrors/amd/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 MBtext.onnx 的外部数据片段
text.bin约 3.9 GB语言模型量化权重(外部数据)
text.pb.bin约 10 KBNPU 端 token 融合图(NPU 后端专用)
vision.onnx约 1.6 MBInternVideo2 视觉编码器计算图
vision.onnx.data约 4.0 GB视觉编码器权重(外部数据)
embedding.onnx约 3 KB输入嵌入模型计算图
embedding.onnx.data约 2.2 GB词表嵌入权重(外部数据)
dd_metastate_*.state784 BNPU 算子状态表
dd_metastate_*.fconst约 3.8 GBNPU 常量权重缓存
dd_metastate_attention_mask_padded.ctrlpkt约 10 MB/个NPU 注意力控制包(7 种序列长度)
dd_metastate_attention_mask_padded.meta约 3 MB/个NPU 注意力元数据
dd_metastate_attention_mask_padded.super0 B预留扩展文件(当前为空)
cache/Token_modellayers.0input_layernormMLADFRMSNORM_meta.json约 1.1 MB编译期算子列表缓存
genai_config.json3 KBGenAI 推理部署核心配置
config.json2 B空占位配置(内容为{})
tokenizer.json约 11 MB分词器词表(BPE)
tokenizer_config.json约 5 KB分词器参数(特殊 token 等)
processor_config.json约 1.2 KB图像预处理流水线配置
.gitattributes约 2 KBGit 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 参数、生成策略都以它为准。

七、总结

📌 记住这张"心智地图":

  1. 入口配置:genai_config.json 定义三大会话与 NPU 选项
  2. 推理流水线:processor_config.json(预处理)→ vision.onnx(看视频)→ embedding.onnx(图文融合)→ text.onnx(吐文字)
  3. 大权重:text.bin、*.onnx.data、fconst,全部经 Git LFS 下载
  4. NPU 加速层:dd_metastate_*系列 + cache/ 是预编译缓存,普通 GPU 部署看不到它们

理解了这套文件结构,你就能把仓库交给 Ryzen AI 工具链直接跑起来——这正是 AMD 为 Ryzen AI 用户准备的"视频理解 NPU 一键部署包"。

【免费下载链接】VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K

项目地址:https://ai.gitcode.com/hf_mirrors/amd/VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K
点击查看免费下载

相关推荐

上一篇:Fay开源项目社区贡献者贡献榜筛选条件:多维度
下一篇:DeepWiki-Open嵌入式系统应用:资源受限环境的文档生成

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 6:58:19

Folia 上手指南:6 个问题,让整块屏幕变成全屏歌词动画

Folia 上手指南&#xff1a;6 个问题&#xff0c;让整块屏幕变成全屏歌词动画 【免费下载链接】folia-major 专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major Folia 是一款围绕…

作者头像 李华
网站建设 2026/10/22 6:46:43

PJ85718DM与MKV46F256VLH16构建HVAC边缘温度感知系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华