YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Diy-VLM(迷你视觉语言模型)

教学用最小 VLM:ViT 视觉编码器 + LLaVA 式 2 层 MLP 投影层 + RoPE-GPT 语言模型, 可训练参数 183,406(约 18.3 万,词表 36)。MNIST 手写数字的 VQA / 图像描述任务, CPU 约 10 分钟完成全部四阶段训练。

代码与练习:https://github.com/vicfei/Diy-VLM

参数构成

模块 参数量
ViT 编码器 70,858
投影层(2 层 MLP) 8,320
LLM(2 层 RoPE-GPT) 104,228
合计(可训练) 183,406

注:state_dict 另含位置编码 buffer 2,112 元素(ViT pos_encoding 1,088 + 两层 RoPE cos/sin 2×512),state_dict 总计 185,518。

训练(本轮实测)

阶段 内容 结果
0a ViT 分类预训练 acc 95.2%
0b LLM 模板预训练 —
1 冻结 ViT+LLM,只训投影层(8,320 参数) loss 0.795 → 0.242
2 解冻 LLM,VQA:描述 2:1 混合微调 loss 0.235 → 0.064

评测(MNIST 测试集前 1000 张,torchvision 自动下载)

VQA 准确率 **88.6%**,图像描述准确率 **89.7%**。

用法

# 依赖 torch;模型定义见 GitHub 仓库 mini_vlm.py
ckpt = torch.load("mini_vlm_final.pt", map_location="cpu")
model = MiniVLM(vocab_size=len(ckpt["stoi"]) + 3)
model.load_state_dict(ckpt["model"])

词表另附 stoi.json(36 词),不用 torch 也可读取。

局限

MNIST 域的教学演示,不具备通用视觉语言能力;字级分词仅覆盖本项目词表。

许可

MIT(代码)。权重随代码同许可发布。

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support