跳到主要内容

多模态视觉语言模型

InternVL3.5 本地部署:从 5GB 的 Q4 量化到 8 卡旗舰,显存账一次算清

OpenGVLab 的开源多模态主线,1B 到 241B-A28B 共九个尺寸。每一档要多少显存、该租哪张卡、哪些坑会在第一次跑通之前拦住你,下面全是可核对的数字。

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 / 4B0.8B / 2B / 5B(含 0.3B InternViT)bf16 按参数量折算约 1.6GB / 4GB / 10GB;1B、2B 已有社区 GPTQ INT432K(SFT 阶段)端侧、边缘盒子和大批量预筛。用来先过滤掉 90% 不需要大模型看的图,再把剩下的丢给 8B 以上。
InternVL3.5-8B8.5B(0.3B InternViT-300M + 8.2B Qwen3)bf16 16.4GB / Q8_0 8.71GB / Q5_K_M 5.85GB / Q4_K_M 5.03GB32K(SFT 阶段)全系甜点位。单卡能上线的最大稠密尺寸,OCR、票据抽取、图表问答的默认起点。
InternVL3.5-30B-A3B31B 总参 / 约 3B 激活(MoE)bf16 61.1GB / Q8_0 32.5GB / Q4_K_M 18.63GB32K(SFT 阶段)拿 3B 的激活算力吃 30B 的知识量。Q4_K_M 只要 18.63GB,是 32GB 卡上性价比最高的一档。
InternVL3.5-38B38B(5.5B InternViT-6B + 32.8B Qwen3)bf16 65.5GB / Q8_0 34.8GB / Q4_K_M 19.8GB / Q3_K_M 16.0GB32K(SFT 阶段)换了 6B 的大视觉塔,细粒度图表和密集版面 OCR 的收益主要来自这里。官方部署建议两张 A100。
InternVL3.5-241B-A28B240.7B 总参 / 28B 激活(5.5B ViT + 235.1B Qwen3)bf16 权重约 480GB,官方给的部署基线是 8 × A100 80GB32K(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 兼容接口,中间只有一个真正需要动脑的参数

  1. 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
  2. 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
  3. 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}'
  4. 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 —

常见问题

InternVL3.5-8B 本地部署到底需要多大显存?24GB 的卡够不够?

bf16 权重实测 16.4GB。单看权重,24GB 卡装得下;但 InternVL 的显存大头是视觉 token——max_num=12 时单张图就是 3,328 个 token,多图 batch 一开,24GB 立刻见底。所以答案是:Q4_K_M(5.03GB)在 24GB 卡上随便跑,bf16 想稳定上线建议 32GB 起。NexGPU 上 RTX 3090 24GB 是 $0.193/卡·时,RTX 5090 32GB 是 $0.723/卡·时,按秒计费,你可以先开一小时把两条路都跑一遍再决定。

InternVL 有 GGUF 量化吗?能用 llama.cpp 或 Ollama 跑吗?

有,而且很全。bartowski、lmstudio-community、mradermacher 都发了 InternVL3.5 的 GGUF,覆盖 1B 到 241B-A28B。实测体积:8B 的 Q4_K_M 是 5.03GB、Q8_0 是 8.71GB;30B-A3B 的 Q4_K_M 是 18.63GB;38B 的 Q4_K_M 是 19.8GB、Q3_K_M 是 16.0GB。视觉部分要配对应的 mmproj 文件才能读图,只下主权重会变成一个纯文本模型。想快速试量化档位,NexGPU 的 RTX 3090 24GB $0.193/卡·时 足够一次跑完三四个 quant 做横向对比。

为什么我用 LMDeploy 给 InternVL3.5 做 AWQ / W4A16 量化会失败?

不是你的配置问题。LMDeploy 的支持矩阵里,InternVL v1.5 到 InternVL3 都标了 W4A16 支持,唯独 InternVL3.5 那一行是 No——TurboMind 和 PyTorch 两个引擎都一样。想在 3.5 上吃到 4-bit,现实路径有两条:走社区的 GPTQ W4A16 权重配 vLLM,或者直接用 GGUF 配 llama.cpp。这类踩坑试错在按秒计费的机器上成本几乎为零,NexGPU 没有最低时长也没有配额申请,跑十分钟发现不对就停掉。

InternVL3.5-Flash 和普通版差在哪?值得换吗?

Flash 版在视觉塔和 LLM 之间插了一个 ViR 视觉分辨率路由,逐 patch 判断语义丰富度,决定压到 256 还是 64 个 token,最终视觉 token 减半而官方口径保留近 100% 的性能。权重体积和主线同档,省的是 prefill 的算力和 KV 显存。判断标准很简单:输入是高分辨率长文档、网页截图、多页 PDF 就换 Flash,输入是单张小图就没必要。Flash 全系 1B 到 241B-A28B 都有,在 NexGPU 上开两台同规格机器做 A/B 对拍,一小时就能出结论。

InternVL3.5-38B 到底要几张卡?单张 80GB 行不行?

官方模型卡给的经验值是两张 A100。但把数字摊开看:bf16 权重实测 65.5GB,单张 80GB 卡装下之后还剩十几 GB。短上下文、小 batch 的离线评估任务,单张 A100 PCIE 80GB($0.824/卡·时)确实跑得动;一旦要开并发服务或者上多图长上下文,KV 会迅速把那十几 GB 吃光,老老实实 --tp 2。NexGPU 单节点最多 14 卡,两张 80GB 在同一台机器上,不用跨机通信。

现在还有比 InternVL3.5 更新的版本吗?我之前用的 InternVL2.5 要不要升?

截至目前,主线仍然停在 2025 年 8 月 26 日发布的 InternVL3.5,没有 InternVL4;2025 年 9 月底补的 InternVL3.5-Flash 是同一代的效率分支,不是新一代。InternVL3(1B–78B)和 InternVL2.5-MPO(1B–78B)的仓库都还在,老服务不动也能继续跑。要升的理由是 Cascade RL 带来的 +16.0% 推理提升和 DvD 的 4.05× 部署加速,这两个在文档和图表任务上是能直接感知的。升级前想对拍旧版和新版,NexGPU 上 A100 PCIE 80GB $0.824/卡·时、按秒计费,双端各跑一轮的成本基本可以忽略。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。