InternVL 由 OpenGVLab(上海人工智能实验室)维护,代码仓库在 github.com/OpenGVLab/InternVL,以 MIT 许可证发布,Hugging Face 上的权重则挂 Apache-2.0——商用不需要发邮件申请授权,这是它在国内私有化部署场景里被反复选中的第一个原因。当前主线是 2025 年 8 月 26 日发布的 InternVL3.5,共九个尺寸:1B、2B、4B、8B、14B、38B 六个稠密档,30B-A3B、241B-A28B 两个 MoE 档,外加一个基于 GPT-OSS 的 20B-A4B 预览版。每个尺寸还各自有 Pretrained、Instruct、MPO 和最终的 CascadeRL 四种权重,以及一套 -HF 格式镜像仓库,下载前先看清后缀。
结构上它是标准的 ViT–MLP–LLM 三段式:视觉塔用 InternViT-300M(1B 到 14B、30B-A3B)或 InternViT-6B(38B、241B-A28B,视觉侧计 5.5B 参数),语言塔用 Qwen3 系列初始化。图像走动态高分辨率分块,每个 448px tile 先编码成 1024 个视觉 token,再经 pixel shuffle 压到 256 个。官方示例代码里 max_num=12,也就是最多 12 个 tile 加一张缩略图,单张图最坏情况就是 13 × 256 = 3,328 个视觉 token。显存超预算的人九成是栽在这里,而不是栽在权重上——权重是死的,tile 数是活的。
InternVL3.5 相比 InternVL3 的三处真改动值得记住:Cascade RL(离线 MPO 打底、在线 RL 收敛)带来官方口径 +16.0% 的推理提升;ViR 视觉分辨率路由按 patch 语义丰富度动态选择压到 256 还是 64 个 token,做成了 Flash 分支,视觉 token 直接砍一半而性能几乎不掉;DvD 解耦部署把视觉塔和语言塔拆到不同 GPU 上跑,官方给出相对 InternVL3 的 4.05× 加速。另外说清楚一件事:到今天为止主线仍然停在 3.5,没有 InternVL4,Flash 分支是 2025 年 9 月底才补齐的效率版本。还在搜「InternVL2.5 部署」「InternVL3 显存」的人可以直接跳到 3.5,同尺寸的推理栈和调用方式基本兼容。
01 —
InternVL3.5 各尺寸显存对照
bf16 数字取自官方权重与社区 GGUF 实测文件体积,量化行标注了具体 quant 类型
| 版本 | 参数量 | 显存 | 上下文 | 说明 |
|---|---|---|---|---|
| InternVL3.5-1B / 2B / 4B | 0.8B / 2B / 5B(含 0.3B InternViT) | bf16 按参数量折算约 1.6GB / 4GB / 10GB;1B、2B 已有社区 GPTQ INT4 | 32K(SFT 阶段) | 端侧、边缘盒子和大批量预筛。用来先过滤掉 90% 不需要大模型看的图,再把剩下的丢给 8B 以上。 |
| InternVL3.5-8B | 8.5B(0.3B InternViT-300M + 8.2B Qwen3) | bf16 16.4GB / Q8_0 8.71GB / Q5_K_M 5.85GB / Q4_K_M 5.03GB | 32K(SFT 阶段) | 全系甜点位。单卡能上线的最大稠密尺寸,OCR、票据抽取、图表问答的默认起点。 |
| InternVL3.5-30B-A3B | 31B 总参 / 约 3B 激活(MoE) | bf16 61.1GB / Q8_0 32.5GB / Q4_K_M 18.63GB | 32K(SFT 阶段) | 拿 3B 的激活算力吃 30B 的知识量。Q4_K_M 只要 18.63GB,是 32GB 卡上性价比最高的一档。 |
| InternVL3.5-38B | 38B(5.5B InternViT-6B + 32.8B Qwen3) | bf16 65.5GB / Q8_0 34.8GB / Q4_K_M 19.8GB / Q3_K_M 16.0GB | 32K(SFT 阶段) | 换了 6B 的大视觉塔,细粒度图表和密集版面 OCR 的收益主要来自这里。官方部署建议两张 A100。 |
| InternVL3.5-241B-A28B | 240.7B 总参 / 28B 激活(5.5B ViT + 235.1B Qwen3) | bf16 权重约 480GB,官方给的部署基线是 8 × A100 80GB | 32K(SFT 阶段) | 旗舰档,官方称在开源 MLLM 里达到 SOTA 并正在缩小与闭源前沿模型的差距。 |
| InternVL3.5-Flash 全系(1B–241B-A28B) | 与同尺寸主线一致 | 权重同档,但视觉 token 减半,prefill 显存和延迟同步下降 | 32K(SFT 阶段) | ViR 路由版,官方口径「视觉 token 减少 50%,保留近 100% 的 InternVL3.5 性能」。长文档、高分辨率截图场景优先选它。 |
02 —
按场景选卡:NexGPU 实际报价
按 InternVL 真实的权重体积和视觉 token 开销匹配,不做「24GB 卡跑 38B」这种事
8B 的 Q4_K_M 量化,单卡做 OCR / 文档抽取的效果验证
RTX 3090 24GB$0.193/卡·时
5.03GB 权重加上十三个 tile 的视觉 token,24GB 绰绰有余;Ampere 原生支持 bf16,比同价位的 Tesla P40、V100 少一堆 dtype 麻烦。
8B bf16 全精度上线,多图输入 + 32K 上下文
RTX 5090 32GB$0.723/卡·时
16.4GB 权重之外还留十几 GB 给 KV cache 和视觉 token;24GB 卡装得下权重,但一开多图 batch 就会 OOM。
30B-A3B 或 38B 的 bf16 单卡推理
A100 PCIE 80GB$0.824/卡·时
30B-A3B 的 61.1GB 和 38B 的 65.5GB 都能单卡装下;MoE 那档只激活 3B,吞吐接近 8B 而知识量是 30B 级。
241B-A28B 旗舰整机,或 38B 的多卡高并发服务
H100 SXM 80GB × 8$3.582/卡·时(整机 $28.656/时)
官方部署基线就是 8 × 80GB 起步。NexGPU 单节点最多 14 卡、最大节点显存 2,152GB,不用为了凑卡去拆成两台机器跨机通信。
03 —
四步把 InternVL3.5 跑起来
从空机器到 OpenAI 兼容接口,中间只有一个真正需要动脑的参数
- 01
开实例,拉权重
在 NexGPU 选一台带 vLLM 或 PyTorch 预置镜像的机器(2,000+ 预置镜像里都有),SSH 或 Jupyter 进去直接下权重。8B 大约 17GB,30B-A3B 约 61GB,先按体积估好磁盘。注意 -HF 后缀的仓库是 transformers 原生格式,不带后缀的是 InternVL 自有格式,两者对应不同的推理路径,别混着下。
huggingface-cli download OpenGVLab/InternVL3_5-8B --local-dir ./InternVL3_5-8B - 02
用 LMDeploy 起 OpenAI 兼容服务
LMDeploy 是 InternVL 的同门推理引擎,TurboMind 和 PyTorch 两个后端都覆盖 InternVL3.5 的 1B 到 241B-A28B。38B 用 --tp 2,241B-A28B 用 --tp 8。唯一例外是 GPT-OSS-20B-A4B 那个预览版——LMDeploy 不支持 GPT-OSS 架构,那一档必须走 vLLM。
lmdeploy serve api_server OpenGVLab/InternVL3_5-8B --backend turbomind --server-port 23333 --tp 1 - 03
或者走 vLLM / SGLang 路线
vLLM 通过 InternVLChatModel 架构支持 InternVL 全系,需要 trust_remote_code。多图场景一定要显式设 limit-mm-per-prompt,默认只允许一张图,很多人第一次调多图接口报错就是卡在这。SGLang 同样提供 OpenAI 兼容端点。
vllm serve OpenGVLab/InternVL3_5-8B --trust-remote-code --max-model-len 32768 --limit-mm-per-prompt '{"image": 8}' - 04
调 tile 数,把显存按住
这是整个部署里最值钱的一行。官方示例 max_num=12,意味着单张图最多切 12 个 448px tile 加一张缩略图,13 × 256 = 3,328 个视觉 token。改成 max_num=6 直接砍掉一半视觉 token 和对应的 KV 显存,对大多数票据、表单、屏幕截图任务几乎无损;只有密集版面的报纸、工程图纸才真的需要 12。另外别忘了 trust_remote_code=True、torch_dtype=torch.bfloat16 和 use_flash_attn=True 三件套。
pixel_values = load_image('invoice.png', max_num=6).to(torch.bfloat16).cuda()
一笔真实的账
拿 InternVL3.5-8B bf16 批量处理二十万张票据来算。选 RTX 5090 32GB,$0.723/卡·时,16.4GB 权重之外还剩十几 GB 给多图 KV。按跑满 20 小时算:20 × $0.723 = $14.46。权重加中间结果占 60GB 存储,存储按 $0.414/GB·月 中位价,20 小时约合 20/720 = 0.028 个月,60 × $0.414 × 0.028 ≈ $0.69。结果导出 5GB,出网按 $0.0081/GB 中位价 = $0.04。合计 $15.19,一顿午饭钱跑完二十万张。同一批任务如果换 RTX 3090 24GB 跑 Q4_K_M,$0.193/卡·时 × 20 = $3.86,精度换成本自己权衡。旗舰档另算:241B-A28B 用 8 × A100 SXM4 80GB 是 8 × $1.088 = $8.704/时,跑 3 小时验证只要 $26.11;换 8 × H100 SXM 是 8 × $3.582 = $28.656/时,快但贵三倍多,验证阶段没必要。计费按秒计量、按小时定价,没有起租时长、没有开通费,实例一停算力就停计费,只有存储会继续算到你销毁它为止。
04 —
