【免费下载链接】InternVL3-1B-AWQ
InternVL3-1B-AWQ 是 OpenGVLab 推出的 InternVL3-1B 多模态大模型的 AWQ 4-bit 量化版,能在单张消费级显卡上流畅完成图片问答、多图对比和视频理解任务。本教程面向新手,带你用 6 步完成 InternVL3-1B-AWQ 模型下载、环境配置、模型加载和图片问答实战,全程本地部署,无需复杂配置,10 分钟即可跑通第一个多模态对话。
一、先认识它:InternVL3-1B-AWQ 是什么?
InternVL3-1B-AWQ 是一个"小型但全能"的视觉语言模型(MLLM),由三部分构成:
- 视觉编码器 InternViT-300M:负责"看图",采用动态分辨率策略,将图片切分为 448×448 的图块,最多支持 12 块(对应 config.json 中的
max_dynamic_patch: 12) - 语言模型 Qwen2.5-0.5B:负责"说话",生成自然语言回答
- AWQ 量化层:将语言部分权重压缩到4-bit(
group_size: 128,见 config.json 中的quantization_config字段)
💡为什么用 AWQ 版本?原始 16-bit 版本约需 3GB 显存,AWQ 量化后整体权重降到 1GB 出头,一张 6GB 显存的显卡就能轻松运行,且推理速度更快、精度损失很小。
| 配置 | 显存需求 | 适用场景 |
|---|---|---|
| 16-bit 原版 | 约 3GB+ | 精度优先 |
| AWQ 4-bit(本文) | 约 1.5~2GB | 低显存部署、推理加速 |
它的能力远不止"看图说话":单图/多图问答、多轮对话、纯文本聊天、视频理解全都支持。
二、第1步:下载 InternVL3-1B-AWQ 模型文件
打开终端,执行一条命令即可拿到全部模型文件:
git clone https://gitcode.com/OpenGVLab/InternVL3-1B-AWQ下载完成后,目录中会包含这些关键文件:
- pytorch_model.bin:AWQ 量化后的模型权重(核心文件)
- config.json:模型结构配置(含量化参数)
- tokenizer.json、vocab.json:分词器文件
- modeling_internvl_chat.py、modeling_intern_vit.py:自定义建模代码
- preprocessor_config.json:图像预处理参数(448px 裁剪、ImageNet 均值归一化)
三、第2步:一键安装依赖环境
InternVL3-1B-AWQ 基于 HuggingFacetransformers生态运行,建议 Python 3.9+:
pip install "transformers>=4.37.2" torch torchvision pillow注意:AWQ 量化后端需要额外安装:
pip install autoawq⚠️
transformers版本必须≥ 4.37.2,否则模型可能无法正常加载,这是新手最常踩的坑。
四、第3步:加载 AWQ 量化模型(核心代码)
模型加载只需几行代码,trust_remote_code=True是必选项——因为它会启用仓库内的自定义建模代码 modeling_internvl_chat.py:
import torch from transformers import AutoModel path = "./InternVL3-1B-AWQ" model = AutoModel.from_pretrained( path, torch_dtype=torch.bfloat16, low_cpu_mem_usage=True, trust_remote_code=True ).eval().cuda()几个参数的小贴士:
torch_dtype=torch.bfloat16:半精度推理,显存减半low_cpu_mem_usage=True:避免加载时 CPU 内存峰值过高- config.json 里已内置 AWQ 量化配置,
from_pretrained会自动以 4-bit 方式加载,无需任何额外参数
五、第4步:图片预处理(动态分块原理)
多模态模型"看"图前需要把图片切成小块。InternVL3 采用动态分辨率策略:根据图片宽高比自动切分为 1~12 块 448×448 的图块,细节越多切块越多。参考 README.md 的官方实现,简化版如下:
import torch from PIL import Image import torchvision.transforms as T from torchvision.transforms.functional import InterpolationMode input_size = 448 def load_image(image_file, input_size=448, max_num=12): image = Image.open(image_file).convert('RGB') transform = T.Compose([ T.Resize((input_size, input_size), interpolation=InterpolationMode.BICUBIC), T.ToTensor(), T.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)) ]) return torch.stack([transform(image)])完整的动态分块逻辑(dynamic_preprocess)可直接从 README.md 的 Quick Start 章节复制使用,它会把图片智能切块并附加一张缩略图,保证模型既看全局又看细节。
六、第5步:发起图片问答,10 行代码出结果
加载 tokenizer 后,就能向模型提问了:
from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True, use_fast=False) pixel_values = load_image("你的图片.jpg", max_num=12).to(torch.bfloat16).cuda() generation_config = dict(max_new_tokens=1024, do_sample=True) question = "<image>\n请用一句话描述这张图片。" response = model.chat(tokenizer, pixel_values, question, generation_config) print(f"User: {question}\nAssistant: {response}")输出类似:
Assistant:图片中一只橘猫趴在窗台上,正慵懒地看着窗外。
三种常用玩法速查:
| 玩法 | 关键写法 | 说明 |
|---|---|---|
| 单图问答 | pixel_values传入图片 + 问题前加<image>\n | 本文示例 |
| 多轮对话 | 加history=history, return_history=True | 保持上下文 |
| 纯文本聊天 | pixel_values传None | 当普通 LLM 用 |
多图对比时,把两张图的pixel_values用torch.cat拼接,问题中写成Image-1: <image>\nImage-2: <image>\n...即可。
七、第6步:常见问题排查与进阶部署
新手高频问题清单:
- 报
Unrecognized model或找不到架构→ 检查是否加了trust_remote_code=True - 加载慢/显存不足→ 把
max_num从 12 调小(如 4),切块越少、token 越少 - 模型回答截断→ 调大
generation_config中的max_new_tokens - 量化报错→ 确认已执行
pip install autoawq,且transformers>=4.37.2
进阶方向:
- 流式输出:用
TextIteratorStreamer让回答逐字打印,体验更顺滑(示例见 README.md 的 Streaming Output 章节) - 生产级部署:使用 LMDeploy 一行命令启动 OpenAI 兼容 API 服务:
lmdeploy serve api_server InternVL3-1B-AWQ --chat-template internvl2_5 --server-port 23333 --tp 1附录:仓库核心文件速览
| 文件 | 作用 |
|---|---|
| README.md | 完整使用文档与示例代码 |
| config.json | 模型结构 + AWQ 量化配置 |
| modeling_internvl_chat.py | 主模型:chat/batch_chat对话接口 |
| modeling_intern_vit.py | InternViT 视觉编码器 |
| conversation.py | 对话模板(internvl2_5) |
| preprocessor_config.json | 图像 448px 预处理参数 |
写在最后
恭喜!到这里你已经完成了 InternVL3-1B-AWQ 从下载到图片问答的完整闭环 🎉 这个 1B 级别的多模态小模型在低显存设备上的"性价比"非常出色,非常适合用来做原型验证、私有化部署和多模态应用的教学实验。接下来可以尝试用 LMDeploy 把它包装成 API 服务,或替换max_num、do_sample等参数感受生成效果的差异。
【免费下载链接】InternVL3-1B-AWQ
相关推荐
玩转InternVL3-1B-AWQ多模态对话:单图、多图与视频问答完整实战清单
玩转InternVL3 1B AWQ多模态对话:单图、多图与视频问答完整实战清单 InternVL3 1B AWQ 是上海人工智能实验室推出的开源多模态大模型
如何快速上手InternVL3-9B-Instruct:5分钟跑通图像问答实战教程
如何快速上手InternVL3 9B Instruct:5分钟跑通图像问答实战教程 📖 本教程带你 5 分钟跑通 InternVL3 9B Instruct
如何快速上手InternVL2-Llama3-76B-AWQ:从环境安装到首次图像问答的10分钟教程
如何快速上手InternVL2 Llama3 76B AWQ:从环境安装到首次图像问答的10分钟教程 InternVL2 Llama3 76B AWQ 是一款
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考