https://github.com/huggingface/nanoVLM

nanoVLM 是一个用纯PyTorch实现的轻量级视觉-语言模型(Vision-Language Model),设计理念类似于Andrej Karpathy的nanoGPT。该项目的核心目标是提供一个简洁、可读性强、易于理解和修改的VLM实现,用于教育和研究用途。

核心架构

模型组件 (models)

模型配置 (config.py)

训练框架

训练脚本 (train.py)

train.py 文件是一个完整的 多模态大模型(Vision-Language Model, VLM)训练脚本,基于 PyTorch + Hugging Face 生态构建,支持分布式训练(DDP)、WandB 日志、动态学习率调度、梯度累积、多数据集加载、以及与 lmms-eval 的集成评估。

分布式训练支持: 支持DDP多GPU训练

智能优化器配置: 对不同组件使用不同学习率

梯度累积: 支持有效批次大小扩展