Hugging Face开源nanoVLM,750行代码可训练视觉语言模型,简单到令人发指!

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%。

loss

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)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往