☰
为什么InternVL3.5-2B-Pretrained会深度思考?R1思考模式与多模态推理原理解读
2026/10/18 15:56:44 网站建设 项目流程

【免费下载链接】InternVL3_5-2B-Pretrained

项目地址:https://ai.gitcode.com/OpenGVLab/InternVL3_5-2B-Pretrained
点击查看免费下载

InternVL3.5-2B-Pretrained 是 OpenGVLab 开源的 InternVL3.5 系列多模态大模型(MLLM)的预训练基座,总参数仅 2.3B,却继承了 R1 思考模式与多模态推理的核心设计。本文用大白话解读:它凭什么会"深度思考"?R1 思考模式如何开启?视觉信息又是怎样变成"思考素材"的?即使你刚接触多模态大模型,也能 10 分钟看懂它的推理原理。

一分钟认识 InternVL3.5-2B-Pretrained

关键信息说明
视觉编码器InternViT-300M(0.3B 参数)
语言模型Qwen3-1.7B(2.0B 参数)
总参数2.3B,可单卡 A100 部署
训练阶段CPT(多模态持续预训练)
对话模板internvl2_5
上下文长度最长 40960 tokens

它遵循经典的"ViT → MLP → LLM"三段式架构:

  1. ViT(视觉编码器):把图片切成小块,提取视觉特征;
  2. MLP(连接器):把视觉特征"翻译"成语言模型能懂的视觉 token,并做压缩(downsample_ratio: 0.5);
  3. LLM(语言模型):像写文章一样,把"图片 + 问题"当作输入序列,逐 token 生成回答。

📌 这些配置可以在 config.json 中直接查到;整体架构说明见 README.md。

⚠️ 小提示:本仓库是Pretrained(预训练基座)版本,只完成了 CPT 阶段;完整的思考能力训练发生在后续 SFT 与强化学习阶段(后文详述)。日常使用推荐无后缀的完整版InternVL3.5-2B。

R1 思考模式揭秘:一段系统提示词如何唤醒"深度思考"

很多用户第一次看到 InternVL3.5 输出</think>包裹的长篇推理时都很惊讶:一个小模型怎么学会了"边想边答"?

答案其实并不神秘——R1 思考模式的核心是一份"响应协议"式的系统提示词(System Prompt)。它要求模型:

  1. 先思考:把问题分析、多角度尝试、逐步推理的完整过程写在</think>标签内;
  2. 再回答:思考结束后另起一行,给出独立、简洁的最终答案,且答案不依赖思考过程。

官方在 README.md 中给出了R1_SYSTEM_PROMPT的完整定义,核心指令包括:

  • First, conduct a detailed analysis of the question... Enclose this entire thinking process within <think> and </think> tags.
  • After the thinking section, provide a clear, concise, and direct answer...

🔍 在代码层面,这份提示词会被写入模型的系统消息槽位。查看 modeling_internvl_chat.py 可以看到模型初始化时会从对话模板读取system_message;对话模板的system_template/system_message字段定义在 conversation.py。也就是说,思考模式不是某个开关,而是把"角色说明书"换成了"先想后答协议",模型会忠实地按协议组织输出。

开启 R1 思考模式的 3 个关键步骤

# 1. 加载模型后,替换系统提示词 model.system_message = R1_SYSTEM_PROMPT # 2. 开启采样,避免重复 generation_config = dict(max_new_tokens=1024, do_sample=True, temperature=0.6)

💡 官方建议:开启思考模式时务必设置do_sample=True和temperature=0.6,否则容易产生不自然的重复输出(参见 README.md 与 README.md)。

深度思考能力是怎么"练"出来的?

光靠提示词,模型顶多"装模作样"。InternVL3.5 真正的推理能力来自一条四段式训练流水线:

1️⃣ CPT(多模态持续预训练)—— 本仓库所在阶段

用大规模文本 + 图文数据联合更新全部参数,目标就是朴素的"预测下一个 token"。图片 token 和文字 token 混在同一个序列里,模型从此学会"看懂图、接着写"。README.md 中还介绍了平方平均加权(square averaging)等损失重加权技巧,防止模型偏爱长回答或短回答。

2️⃣ SFT(监督微调)—— Thinking 数据的注入

这是"思考风格"的源头。InternVL3.5 在 SFT 数据中专门加入了一批"Thinking 模式"的多模态推理数据,构造流程相当巧妙(README.md):

  1. 先用 InternVL3-78B 对图片做详细文字描述;
  2. 把描述输入DeepSeek-R1,让它采样出带完整推理过程的回答(rollout);
  3. 过滤掉最终答案错误的样本,只保留高质量推理轨迹。

等于让小学生(2B 模型)抄写博士(R1)的解题笔记,思考格式与推理深度就此"蒸馏"进来。

3️⃣ CascadeRL(级联强化学习)—— 两阶段 RL 精雕细琢

这是 InternVL3.5 的核心创新,用"先松后紧"的两段式强化学习把推理能力再拔高一截:

阶段算法角色
离线 RLMPO(偏好 + 质量 + 生成三重损失)快速"热身",稳住收敛
在线 RLGSPO(基于模型自身采样)精细打磨输出分布

粗到细(coarse-to-fine)的策略让模型以远小于单一 RL 的 GPU 成本,拿到了显著更高的推理分数,MMMU、MathVista 等基准均有大幅提升(README.md)。

4️⃣ 测试时扩展(Test-Time Scaling)—— 推理时的"加时赛"

训练之外,InternVL3.5 还支持在推理时"多花点算力换更准的答案",分两个维度(README.md):

  • 深度思考(Deep Thinking):即前文的 R1 思考模式,把复杂问题拆成逻辑步骤、逐步验证中间结论,增强推理深度;
  • 并行思考(Parallel Thinking):Best-of-N 策略——对同一问题采样多个答案,再请"评委模型"(VisualPRM-v1.1 过程奖励模型)挑出最优,增强推理广度。

🧠 一句话总结:R1 提示词负责"出题格式",SFT 数据负责"教解题套路",CascadeRL 负责"考场上反复刷题",测试时扩展负责"允许打草稿多选答案"。四者叠加,2B 的小模型才有了大模型级别的思考表现。

多模态推理原理:图片如何变成"可思考"的视觉 token

思考的前提是"看懂图"。InternVL3.5 沿用了 Dynamic High Resolution(动态高分辨率)策略,流程如下:

  1. 动态切块:按图片宽高比,把图切成 1~12 块 448×448 的小图(max_dynamic_patch: 12,见 config.json),外加一张缩略图;
  2. 视觉编码:每块送入 InternViT 得到 1024 个视觉 token;
  3. Pixel Shuffle 压缩:通过像素重排模块把 1024 个 token 压缩为 256 个,降低送入 LLM 的"阅读负担";
  4. 融合推理:视觉 token 与问题文本拼成一条序列,Qwen3-1.7B 在其中逐 token 自回归地"想"出答案。

📐 这套机制在 config.json 中可见dynamic_image_size: true与force_image_size: 448;视觉端实现位于 modeling_intern_vit.py,图文拼接与解码逻辑在 modeling_internvl_chat.py 中。

对于追求极致效率的场景,InternVL3.5-Flash 版本还引入了视觉分辨率路由器(ViR):按每个图像块的"语义丰富度"动态决定压缩到 256 还是 64 个 token,token 数直降 50% 而性能几乎无损(README.md)。

选型指南:Pretrained / Instruct / MPO / 正式版怎么选?

如果你正纠结用哪个版本,直接看这张表(完整版对应表见 README.md):

版本训练进度适合谁
InternVL3.5-2B-Pretrained(本仓库)CPT研究者二次预训练 / 基座微调起点
InternVL3.5-2B-InstructCPT + SFT日常对话、通用问答
InternVL3.5-2B-MPOCPT + SFT + MPO偏好对齐研究、离线 RL 实验
InternVL3.5-2B(无后缀)CPT + SFT + CascadeRL完整推理能力,日常首选✅

💬 需要开启 R1 思考模式做评测时,建议配合do_sample=True、temperature=0.6,并使用官方推荐的 Thinking System Prompt(README.md)。

常见问题 FAQ

Q1:Pretrained 版本能直接开启 R1 思考模式吗?技术层面可以(替换system_message即可),但它尚未经历 SFT 与强化学习,思考的连贯性与准确性不如Instruct及之后的版本。想稳定体验深度思考,请使用完整版InternVL3.5-2B。

Q2:为什么思考模式建议 temperature=0.6?贪心解码(do_sample=False)在长思考链上容易陷入重复循环;适度采样能保持推理多样性,缓解这一现象。

Q3:2B 模型部署要什么硬件?≤30B 的模型均可单张 A100 部署,2B 版本更是轻松运行,非常适合端侧与边缘实验(README.md)。

总结

  • R1 思考模式的本质:一份"先想后答"的系统提示词协议,要求模型把推理过程写入</think>;
  • 深度思考的底气:CPT 打基础 → SFT 蒸馏 R1 推理轨迹 → CascadeRL(MPO + GSPO)强化 → 测试时扩展(深度 + 并行思考)收尾;
  • 多模态推理的入口:动态高分辨率切块 + ViT 编码 + Pixel Shuffle 压缩,让 Qwen3-1.7B 以低 token 成本"看懂"图片;
  • 选型建议:二次开发用本仓库 Pretrained 基座,实际使用选无后缀完整版。

想动手验证?按 README.md 的 Quick Start 加载模型,替换系统提示词,你就能亲眼看到 2.3B 小模型的"深度思考"全过程。

【免费下载链接】InternVL3_5-2B-Pretrained

项目地址:https://ai.gitcode.com/OpenGVLab/InternVL3_5-2B-Pretrained
点击查看免费下载
上一篇:5 步上手 Hello Algorithm:算法学习与验证的实战手册
下一篇:如何快速上手MiroFish:用多智能体预测引擎推演未来走向的完整指南

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询