从零到一 | CV转多模态大模型 | week12 | 整理 MiniLLaVA 工程与文档

文中代码: https://github.com/wz940216/From0to1-MLLM-StudyLog.git

摘要: 本周重点是将前几周的实验代码整理成更接近开源工程的形态,包括清晰的目录结构、明确的入口、可复用的配置和可追踪的日志。主要内容包括:1) 工程目录结构整理为code、configs、utils、outputs四个核心目录;2) MiniLLaVA架构解析(CLIP vision encoder、projector、LLM decoder);3) 数据格式处理(LLaVA conversations与OpenAI chat messages);4) 训练与推理脚本的JSONL日志系统优化;5) 新增三个配置样例用于不同场景;6) 总结前三个月的主要收获与当前不足。目标是构建一个文档清晰、配置灵活、日志完备的MLLM学习工程框架。

本周重点不是继续堆模型能力,而是把前面几周的实验代码整理成更接近开源工程的形态:目录清楚、入口明确、配置可复用、日志可追踪、文档能让别人快速跑起来。

当前第 12 周目录保留四类内容:

  • code/:核心源码,包括模型、数据集、训练和推理入口。

  • configs/:不同任务组合和运行环境的配置样例。

  • utils/:数据格式转换工具。

  • outputs/:checkpoint、上下文和日志等运行产物。

  • 工程目录结构。

  • MiniLLaVA 架构:CLIP vision encoder、projector、LLM decoder。

  • LLaVA conversations 与 OpenAI chat messages 两种数据格式。

  • 训练命令、推理命令、多轮上下文保存方式。

  • checkpoint、训练日志、推理日志的默认输出位置。

  • 端到端 smoke test 建议。

训练脚本新增 JSONL 日志:

  • train_start:记录配置路径、epoch 数、总步数、调试样本数。
  • train_step:按 LOG_STEPS 记录 loss 和 lr。
  • train_end:记录最终 step 和 checkpoint 目录。

推理脚本新增 JSONL 日志:

  • 记录图片路径、问题、回答、上下文轮数、是否交互模式。
  • 默认读取配置里的 INFERENCE.LOG_FILE。
  • 命令行可用 --log-file 覆盖。

新增三个配置样例:

  • configs/projector_debug.yaml:小样本调试配置,适合先跑通训练循环。
  • configs/multitask_balanced.yaml:COCO caption 与 VQA 均衡多任务训练。
  • configs/caption_only_cpu.yaml:CPU smoke test 配置,只建议配合 --max-samples 使用。

这些配置把模型大小、任务组合、日志目录、checkpoint 目录拆开,避免每次实验都直接改默认配置。

前三个月的主要收获:

  • 从单轮 VQA 逐步扩展到多轮图文对话,理解了数据格式对模型训练接口的影响。
  • 掌握了 MiniLLaVA 的核心拼接方式:用 <image> token 作为视觉 embedding 插入位置。
  • 熟悉了冻结底座、训练 projector、加入 LoRA adapter 的轻量微调路径。
  • 开始把多任务数据混合、采样比例、collator label mask 等工程细节纳入训练流程。

当前不足:

  • 评估体系还偏弱,目前主要依赖人工推理观察,缺少固定验证集指标。
  • 日志还只是基础 JSONL,后续可以接入 TensorBoard、WandB 或简单可视化脚本。
  • checkpoint 管理还可以继续完善,例如自动清理旧 checkpoint、记录 git commit、记录数据版本。
  • 推理输出格式虽然加入 JSON 约束,但模型未必稳定遵守,需要更多格式校验和失败重试策略。

以上笔记来源于我的仓库: https://github.com/wz940216/From0to1-MLLM-StudyLog.git

我正在连载一个从零到一的多模态大模型学习笔记。

如果你对多模态大模型感兴趣,或者也在准备往大模型方向转

可以点赞/Fork我的仓库: https://github.com/wz940216/From0to1-MLLM-StudyLog.git

也可评论区留言交流,后面我会继续把每周的学习记录、踩坑经验陆续更新到仓库和这里。

相关推荐
七牛开发者1 小时前
从 GLM 到 GPT,HarnessPro 如何用 RSI 降低 Agent 成本
人工智能·gpt·agent·harness·rsi
何以解忧唯有撸码1 小时前
c# + YOLODotNet+OpenCVSharp 实现物品轨迹追踪
计算机视觉·c#·winform·yolov8·opencvsharp
跨境卫士-小汪2 小时前
TikTokShop欧洲商品接口架构调整跨境技术团队需要做好哪些准备
大数据·人工智能·新媒体运营·跨境电商·跨境·营销策略
飞Link3 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
康小汪3 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
收放扳机3 小时前
多机连线(In-Line)场景下,收放板机“缓存工位”的容量与架构选型参考
人工智能·科技·自动化·制造·pcb工艺
武天旭3 小时前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
智能运维指南4 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
人工智能AI技术4 小时前
DeepInfer开源炸场!别再妄想个人电脑跑满血DeepSeek
人工智能
深蓝电商API4 小时前
用AI生成拟人行为:让鼠标轨迹更“有人味”
人工智能·爬虫