Hugging Face 给出了视觉语言模型(VLM)的最短路径!

刚刚,Luis (@lusxvr) 在 X 上宣布,Hugging Face 正式开源了全新视觉语言模型框架 nanoVLM,用纯 PyTorch 实现——
仅需 750 行代码,就能从零开始训练一个高效能的 VLM 模型。

别看代码精简,但 nanoVLM 的成绩一点不含糊:
在单个 H100 GPU 上训练 6 小时后,就能在 MMStar 数据集上达到 35.3% 的准确率,与 GPU 训练时长多 100 倍的 SmolVLM-256M 模型性能持平。
更劲爆的是,这套精巧的模型就算在免费版的 Google Colab 环境中,也能舒舒服服地跑起来!
都有什么黑魔法?
nanoVLM 的整个模型实现只有区区 750 行代码,其中训练流程更是精炼到约 200 行:

这套模型的核心组件包括:
-
🧠 视觉编码器:基于谷歌开源的 SigLiP-ViT。
-
🗣️ 语言解码器:采用轻量的 LLaMA 风格解码器。
-
🔁 模态投影层:连接视觉和语言模块的桥梁。

Hugging Face 官方仓库给出的模型具体架构和训练逻辑非常清晰:
-
视觉 Transformer(SigLIP-B/16-224-85M)
-
语言模型(SmolLM2-135M)
-
模态投影层
最终的 nanoVLM 模型体积只有 222M 参数量,堪称小巧却强大的视觉语言模型典范。
简单到令人发指!
nanoVLM 项目的初衷灵感来自 Andrej Karpathy 的 nanoGPT,目标就是打造一个「最简洁易懂」的视觉语言模型实现,以便让所有人都能快速上手。
见:https://github.com/karpathy/nanoGPT
而同样的,你只需简单地跑几行命令,就能完成nanoVLM 的环境搭建:
git clone https://github.com/huggingface/nanoVLM.git
cd nanoVLM
uv venv .venv --python 3.10
source .venv/bin/activate
uv add torch numpy torchvision pillow datasets huggingface-hub transformers
喜欢用传统方式安装的朋友,pip 方式也同样简单:
pip install torch numpy torchvision pillow datasets huggingface-hub transformers
训练过程更是傻瓜式的直接:
python train.py
要使用训练好的模型进行推理测试,直接运行:
python generate.py
官方给出的示例效果:
输入图片 + 问题:"这是什么?"
模型生成:
Generation 1: 这是一只坐在地板上的猫。我认为这只猫正坐着,面朝左边。
Generation 2: 图片中有一只白色和棕色的猫坐在地板上……
……
甚至只经过短暂训练,模型就能够识别图片中的猫。
模型性能如何?用事实说话!
nanoVLM 的首次实验数据相当亮眼:
-
训练数据:来自 Hugging Face 的开源数据集
the_cauldron
,约 170 万样本。 -
训练设备:单张 NVIDIA H100 GPU。
-
训练时长:仅 6 小时。
-
最终结果:MMStar 数据集准确率达到 35.3%。

Hugging Face 特别强调,nanoVLM 不是为了追求最新 SOTA,而是提供一个精简、高效的框架,帮助开发者快速进入 VLM 领域进行研究和实验。
Luis 还邀请大家试玩并提出反馈:
@Yuchenj_UW @lusxvr @LoubnaBenAllal1 如果你试了觉得不错,或者发现了什么问题,记得去 GitHub 上提 Issue,我们会继续改进 repo!
Piyush (@CatAstro_Piyush) 兴奋表示准备在 Colab 中直接开跑:
@lusxvr 开整 Colab!😁🔥
Aritra Roy Gosthipaty (@ariG23498) 还贴心提供了 Colab 的链接,方便大家直接试用Colab notebook:
https://colab.research.google.com/github/huggingface/nanoVLM/blob/main/nanoVLM.ipynb
瞬间爆火
Luis 发推介绍 nanoVLM 后,AI 圈子迅速热烈回应:
Jaward (@Jaykef_) 称赞道:
@lusxvr 非常棒的项目,干得漂亮!
Dhruv (@dhruv2038) 也表示:
@lusxvr 很棒的发布!
Wise Pal (@pal_wise) 则好奇 nanoVLM 是否能用于非英语的 OCR 任务,还特别涉及手写识别的场景。
Luis 更是不忘调侃 giffmana,称「听说你不喜欢框架,也许 nanoVLM 适合你」:
@giffmana 听说你讨厌框架,那这个可能正合你意……
项目资源和引用
nanoVLM 目前已经开源发布,GitHub 和 Hugging Face 模型链接如下:
-
GitHub 项目地址:https://github.com/huggingface/nanoVLM
-
Hugging Face 模型地址:https://huggingface.co/lusxvr/nanoVLM-222M
Hugging Face 还贴心地提供了引用模板,鼓励研究者引用项目:
@misc{wiedmann2025nanovlm,
author = {Luis Wiedmann and Aritra Roy Gosthipaty and Andrés Marafioti},
title = {nanoVLM},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/huggingface/nanoVLM}}
}
无论你是研究员,还是只是 AI 技术的爱好者,nanoVLM 都为你打开了一扇轻松入门视觉语言模型的大门。
现在就去试试吧,不要再次和 AI 擦肩而过了!
(文:AGI Hunt)