omni / docs /README.md
chenbhao's picture
docs: update README and docs for model_type rename, RoPE guard fix, config paths
e14a9b6
|
Raw
History Blame Contribute Delete
3.66 kB

Omni 开发文档

Omni — 把 MiniMind / MiniMind-V / MiniMind-O 三套代码融合成一个按模态分层(文本 / 视觉 / 全模态)的训练 + 推理框架。面向学习与面试的模块化开发文档。

仓库结构

docs/                 ↔  src/
├── architecture/     #   概念总览(入口,非代码模块)
├── core/             ↔  src/core/        纯 Transformer 组件
├── models/           ↔  src/models/      lm / vlm / vam 模型拼装
├── multimodal/       ↔  src/encoders/ + src/projectors/  多模态编码与投影
├── training/         ↔  src/dataset/ + src/trainers/ + src/utils/  训练相关
├── serve/            ↔  src/serve/       实时语音会话
└── interview/        #   面试速查(学习辅助)

文档导航

架构(概念入口)

文档 说明
架构总览 能力分层设计、模型能力矩阵、前向数据流、训练入口、关键设计取舍

core/(基础组件)

文档 说明
组件索引 与模态无关的纯 Transformer 组件总览
RMSNorm RMSNorm 实现与数值技巧
RoPE 旋转位置编码(含 YaRN)、repeat_kv
Attention 带 QK-Norm + GQA 的注意力
MLP / MoE SwiGLU FFN 与 MoE 前馈
Block Pre-Norm Transformer 块、MoE 可插拔

models/(模型拼装)

文档 说明
模型索引 lm / vlm / vam 三子包拼装、继承链、共享主干
LM 纯文本主干 LM + LMForCausalLM
VLM 文本 + 图像(SigLIP 编码器 + 视觉投影)
VAM 文本 + 图像 + 语音,TalkerModule 双 head

multimodal/(多模态)

文档 说明
多模态索引 编码器 + 投影器、模态对齐范式

training/(训练)

文档 说明
训练索引 数据集 + 训练脚本 + 工具
Trainers 各 trainer 模块概览与通用训练循环
配置与命令行 YAML 配置驱动训练、apply_config 机制

serve/(实时语音会话)

文档 说明
服务索引 SileroVAD / RealtimeSession 端到端语音链路

面试速查

文档 说明
面试准备 高频问题 + 一句话答法,按主题组织

类名

说明
LM 纯文本主干
LMForCausalLM 文本模型(含 lm_head + 生成)
LMConfig 文本模型配置
VLM 文本 + 视觉多模态
VAM 全模态(文本 + 视觉 + 语音)
VAMConfig 全模态配置
model_type = "omni" LM 架构 ID
model_type = "omni-v" VLM 架构 ID
model_type = "omni-o" VAM 架构 ID

包结构(已扁平化,无 omni 中间层):

src/
├── core/        # 纯组件:norm / rope / attention / mlp / block
├── models/      # lm / vlm / vam 三个子包(config + model)
├── dataset/     # 每类一个文件的数据集
├── encoders/    # vision / audio 编码器
├── projectors/  # 视觉/音频桥接层
├── serve/       # 实时语音会话
├── trainers/    # lm / vlm / vam 训练脚本
└── utils/       # training / distributed / checkpoint / multimodal