从零到一 | 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

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

相关推荐
触底反弹34 分钟前
🔥 前端也能玩转 AI 流式输出!从二进制流到打字机效果,一篇讲透
javascript·人工智能·node.js
腾渊信息科技公司36 分钟前
工业数据运维痛点根治方案:基于AI Agent的产线自动化台账系统落地
运维·人工智能·自动化·个人开发·ai编程
西安老张(AIGC&ComfyUI)38 分钟前
第030章:ComfyUI视频制作LTX-2.3模型文生视频工作流详解(三)
人工智能·aigc·comfyui
苦猿的大模型日记1 小时前
Day25 | 模型量化横评 GPTQ vs AWQ vs GGUF vs INT8——同一个 Qwen3-8B 压四遍,谁还活着
人工智能
benchmark_cc1 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
深海鱼肝油ya1 小时前
小说自动生成系统(二)
人工智能·大模型·agent·智能体·自动化编程·小说生成系统
通问AI2 小时前
Apple Intelligence 国行备案深度技术解析:阿里千问如何被集成到苹果端侧AI架构
人工智能·架构
视***间2 小时前
算力赋能零售与创意新生态:视程空间Pandora,解锁线下场景智能化无限可能
人工智能·边缘计算·智慧零售·ai算力·视程空间·创意开发
冬奇Lab2 小时前
MCP 系列(08):企业治理——Registry、路由与可观测性
人工智能·llm·mcp
冬奇Lab2 小时前
每日一个开源项目(第161篇):Open Interpreter - 开源 AI 编程 Agent,用 Rust 重写,支持 Kimi、Qwen、DeepSeek
人工智能·开源·资讯