像素压缩的奥秘:InternVL2.5-26B-MPO-AWQ 的 Pixel Shuffle 与动态分辨率机制拆解
【免费下载链接】InternVL2_5-26B-MPO-AWQ项目地址https://ai.gitcode.com/OpenGVLab/InternVL2_5-26B-MPO-AWQ点击查看免费下载InternVL2_5-26B-MPO-AWQ 是开源多模态大模型 InternVL2.5-26B-MPO 的 AWQ 4-bit 量化版本它通过Pixel Shuffle 像素压缩与动态分辨率切片两大机制让视觉 Token 数量始终可控——这就是本文要拆解的像素压缩奥秘。 一句话理解普通视觉模型图片越大、Token 越多、算力越爆表而 InternVL 通过重排压缩 按需切片把算力开销压到了可以单卡部署的水平。一、先看全貌ViT-MLP-LLM 三段式架构InternVL 系列采用经典的ViT-MLP-LLM范式本模型的三个核心部件如下部件型号关键参数来自 config.json视觉编码器InternViT-6B-448pximage_size: 448、patch_size: 14、45 层、隐层维度 3200投影层随机初始化的 MLP12800 → 6144 两线层结构语言模型internlm2_5-20b-chat48 层、48 注意力头、GQA 8 个 KV 头此外配置中的quantization_config明确了 AWQ 4-bit 量化bits: 4、group_size: 128这正是名称中AWQ的由来——用 4-bit 权重大幅降低显存占用是26B 模型跑进单卡的关键。 想理解每个参数怎么生效可以对照阅读 modeling_internvl_chat.py、modeling_intern_vit.py 和 modeling_internlm2.py 三个文件。二、Pixel Shuffle把 1024 个 Token 压成 256 个2.1 压缩前后对比以一张标准的 448×448 图像切片Tile为例阶段特征形状Token 数单 Token 维度ViT 输出32×32 个 14px 补丁32 × 32 × 320010243200Pixel Shufflescale0.5后16 × 16 × 1280025612800MLP 投影后送入 LLM256 × 61442566144Token 数量直接降到 1/4而信息并没有被丢弃——每 4 个相邻的空间特征被拼接到一起变成一个维度更高3200×412800的 Token。2.2 原理纯张量重排零参数、零损失核心实现 pixel_shuffle() 只有三次view/permute操作先把特征看作 H×W 网格让相邻的 2×2 块折叠到同一位置特征维数相应 ×4。整个过程只做内存重排不经过任何可学习参数因此没有任何信息损失压缩代价为零。两个细节值得新手注意scale_factor0.5由 config.json 中的downsample_ratio控制0.5即空间分辨率减半、Token 数变为 1/4config.json 中ps_version: v2表示修正了 v1 版本中高低维度未换回导致的图像转置问题见 modeling_internvl_chat.py#L178-L182。压缩发生在 extract_feature() 中ViT 提取特征 → 去掉 CLS 头 → 像素重排 → 送入 MLP 投影层。三、num_image_token每个 Tile 固定 256 个视觉 Token模型初始化时用一行公式算出每个切片的 Token 数modeling_internvl_chat.py#L53num_image_token (448 ÷ 14)² × 0.5² 32² × 0.25 256这 256 个 Token 对应文本中的特殊占位符IMG_CONTEXTToken ID 92546定义见 added_tokens.json。在 chat() 中每个图像占位符会被展开成img 256×N 个IMG_CONTEXT/imgN 为切片数。随后在 forward() 中完成替换魔法把输入序列里所有IMG_CONTEXT位置的词向量直接覆写成 ViT 输出的视觉特征语言模型就像读文字一样读图像。四、动态分辨率小图少切片、大图按预算切片4.1 关键配置三件套参数值作用dynamic_image_sizetrue开启动态分辨率按图片实际长宽比决定切片数min_dynamic_patch1小图最少 1 片仅 256 个视觉 Tokenmax_dynamic_patch12大图最多 12 片封顶 3072 个视觉 Token4.2 一张图到底消耗多少 Token动态分辨率把图像 Token 预算变成了可预测的区间小图如 512×3841 片 → 256 个视觉 Token轻省快速中图如 1024×7682×2 4 片 → 1024 个视觉 Token大图如 2048×1536触发 12 片上限 → 3072 个视觉 Token细节尽收眼底且不会撑爆上下文。切片数的具体选择由 chat() 的num_patches_list参数控制外部预处理先按长宽比把图切成 448×448 的 Tile 列表模型再按片数 × 256动态生成占位符。4.3 use_thumbnail全局缩略图 局部细节双保险config.json 中use_thumbnail: true表示开启缩略图机制除了高分辨率切片外还会先给模型一张整体缩略图让它先看懂全貌、再聚焦局部。这解决了纯切片方案只见树木不见森林的经典缺陷——对表格、长文档、多目标场景尤为关键。五、为什么这样设计算力与精度的平衡账为什么必须压 TokenTransformer 注意力开销与 Token 数呈平方关系。一张大图若不压缩可能产生上万视觉 Token注意力计算量直接爆炸。Pixel Shuffle 把 Token 数除以 4两两注意力计算量约除以 16。为什么动态分辨率比固定分辨率强固定 448×448 对手机截图是杀鸡用牛刀对 4K 文档又细节全丢。动态切片让 Token 开销与实际信息量成正比配合max_dynamic_patch兜底既保精度又防 OOM。AWQ 量化又贡献了什么4-bit 权重大约把显存压到 16-bit 的 1/4与 Token 压缩形成显存 算力双线减负——这正是 AWQ 版本能贴近单卡部署的完整原因。六、最快上手路径LMDeploy 两行启动部署本模型官方推荐 LMDeploy 工具链详见 README.md 的 Deployment 部分pip install lmdeploy0.6.4 lmdeploy serve api_server OpenGVLab/InternVL2_5-26B-MPO-AWQ --server-port 23333启动后即可使用兼容 OpenAI 的 RESTful 接口发送图像 文本请求。注意多图片输入会显著增加视觉 Token 数建议适当调大session_len上下文窗口。 若需要在本地代码中直接调用model.chat(...)务必传入与切片数一致的num_patches_list否则占位符数量与实际视觉特征对不上会触发断言报错。七、新手 FAQ三个高频疑问Q1Pixel Shuffle 压缩会不会丢图像细节不会丢而是搬。4 个邻居 Token 的信息被拼接进同一个 Token 的更高维度里再由 MLP 投影层整合是重排而非截断。Q212 片上限不够用怎么办上限对应单图 3072 个视觉 Token已覆盖绝大多数文档与图表场景。若确需更高分辨率可参考 InternVL 家族在max_dynamic_patch上的调参思路但上下文窗口与显存需要同步放大。Q3AWQ 量化会影响视觉理解精度吗量化只作用于语言模型权重视觉塔仍以 bfloat16 存储于各pytorch_model-000XX-of-00013.bin分片中对 MMBench、OCRBench 等评测的影响极小换来的是约 4 倍的显存节省。本文引用的核心文件配置总览config.jsondownsample_ratio/dynamic_image_size/max_dynamic_patch/ AWQ 量化参数主模型逻辑modeling_internvl_chat.py视觉编码器modeling_intern_vit.py配置类定义configuration_internvl_chat.py特殊 Token 映射added_tokens.json项目说明与评测数据README.md赞分享【免费下载链接】InternVL2_5-26B-MPO-AWQ项目地址https://ai.gitcode.com/OpenGVLab/InternVL2_5-26B-MPO-AWQ点击查看免费下载相关推荐InternVL2.5-26B-MPO-AWQ 能做什么一张图看懂 26B 多模态推理模型的 5 大核心能力InternVL2.5 26B MPO AWQ 能做什么一张图看懂 26B 多模态推理模型的 5 大核心能力 InternVL2.5 26B MPO AWQCherry Studio 分层预设配置模式Layered Preset Pattern实战指南Preference 增量覆盖与 SQLite 实体合并的架构实践Cherry Studio 分层预设配置模式Layered Preset Pattern实战指南Preference 增量覆盖与 SQLite 实体合并的5 分钟快速上手 InternVL2.5-26B-MPO-AWQLMDeploy 推理环境搭建与第一条图片问答5 分钟快速上手 InternVL2.5 26B MPO AWQLMDeploy 推理环境搭建与第一条图片问答 InternVL2.5 26B MPO AWQ创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

CPU飙高≠服务器卡:从指标到实战的排查指南

CPU飙高≠服务器卡:从指标到实战的排查指南

CPU 飙高不等于服务器卡,这个话题我在运维一线见过太多误解了。很多同事一看到监控面板上 CPU 使用率冲上 90%,第一反应就是“服务器要挂了”,马上重启服务甚至扩容。但实际上,CPU 高和用户体感上的“卡”完全可能是两码事&#x…

2026/10/16 13:20:23 阅读更多 →
Langfuse全链路trace实践:从request_id日志到LLM应用可观测性

Langfuse全链路trace实践:从request_id日志到LLM应用可观测性

没有比"线上排查了半天,最后发现日志一切正常"更让人崩溃的时刻了。上个月我们一个问答类服务的用户连续反馈三次"回答明显跑偏",我拿着日志系统里搜出来的 request_id 逐条翻记录:请求进来了、响应回去了、状态码 200、…

2026/10/16 13:20:23 阅读更多 →
从手写数字识别深入理解交叉熵损失函数原理与实战

从手写数字识别深入理解交叉熵损失函数原理与实战

1. 从“猜数字”说起:损失函数到底在做什么 很多人第一次接触手写数字识别,注意力全在“网络结构怎么搭”“准确率能到多少”上,损失函数往往被当成一行代码随手带过。我刚开始学的时候也这样, loss CrossEntropyLoss() 一写&a…

2026/10/16 13:19:22 阅读更多 →

最新新闻

Muse-Glimmer-30B-mxfp8 chat_template 详解:正确书写 System Prompt 与多轮图像对话的完整方法

Muse-Glimmer-30B-mxfp8 chat_template 详解:正确书写 System Prompt 与多轮图像对话的完整方法

【免费下载链接】Muse-Glimmer-30B-mxfp8 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Muse-Glimmer-30B-mxfp8 点击查看 免费下载 Muse-Glimmer-30B-mxfp8 是一个 300 亿参数的多模态视觉语言模型(image-text-to-text)&…

2026/10/17 15:02:41 阅读更多 →
实习面试题总结:从复盘到能力提升的完整指南

实习面试题总结:从复盘到能力提升的完整指南

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

2026/10/17 15:02:41 阅读更多 →
LeetCode接雨水全解法:从暴力到双指针与单调栈

LeetCode接雨水全解法:从暴力到双指针与单调栈

LeetCode 42题,接雨水。如果你刷过几轮算法题,几乎不可能没遇见过它。我自己的感受是,这道题在算法题单里的地位高得吓人,很多面经都把它挂在高频榜上。它不像动态规划有那么曲折的状态定义,也不像图论需要大量前置知识…

2026/10/17 15:02:41 阅读更多 →
OpenResearch:Claude Code、Codex、OpenCode、Cursor 安装配置与协同工作流

OpenResearch:Claude Code、Codex、OpenCode、Cursor 安装配置与协同工作流

1. 从 OpenResearch 这个标题说起:它到底想解决什么问题第一次看到 OpenResearch 这个词,我脑子里冒出来的不是某个具体产品,而是一类很典型的需求:把散落在不同 AI 编程工具里的能力、配置、会话和研究成果,收拢到一个…

2026/10/17 15:02:41 阅读更多 →
显存不足也能跑大模型:airllm分层加载推理实战与性能优化

显存不足也能跑大模型:airllm分层加载推理实战与性能优化

1. 当显存告急时,我们还能不能跑大模型 第一次看到 airllm 这个项目名的时候,我正被一张 8GB 显存的显卡折磨得够呛。手头有个 70B 级别的模型想本地跑起来做推理验证,结果加载权重这一步就直接爆显存,连模型的门都没进去。相信很…

2026/10/17 15:02:41 阅读更多 →
工业AI落地实战:视觉质检、预测维护与工艺优化全解析

工业AI落地实战:视觉质检、预测维护与工艺优化全解析

1. 项目概述:当AI不再是PPT里的概念,而是产线上的“新工人” “他山之石可攻玉”这句老话,放在今天的工厂里,突然有了特别实在的分量。我跟过不下二十家不同规模的制造企业做智能化升级咨询,从长三角的精密零部件厂&am…

2026/10/17 15:01:40 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/16 14:23:36 阅读更多 →