VeOmini 仓库阅读笔记:核心是「框架 + 任务集合」结构。框架在
veomni/,任务入口在tasks/,配置在configs/。当前关注分支为 LongCat 图像编辑/推理与数据管线。
仓库结构地图
| 目录 | 职责 |
|---|---|
veomni/ | 框架核心:参数、数据集/loader、模型构建、分布式并行、checkpoint、优化器 |
tasks/ | 训练/推理入口脚本(通用 + 各任务,如 longcat/、omni/) |
configs/ | 实验配置 yaml(先选 config 再启动脚本) |
docs/ | 文档(docs/usage/basic_modules.md 串起完整工作流) |
scripts/ / tests/ | 辅助脚本与测试 |
最快上手顺序
- 总入口:
README.md、auto_launcher.sh、train.sh - 参数合并:
veomni/utils/arguments.py(第一个位置参数是 yaml/json + CLI override) - 数据流:
veomni/data/dataset.py+veomni/data/data_loader.py - 模型构建:
veomni/models/auto.py - 具体任务(LongCat):
tasks/longcat/下的 train/infer + data_pack
通用训练工作流
入口:tasks/train_torch.py
parse_args (veomni/utils/arguments.py)
→ build_dataset / build_dataloader (veomni/data/*)
→ build_foundation_model (veomni/models/auto.py)
→ init_parallel_state / build_parallelize_model (FSDP 等)
→ optimizer / scheduler + checkpoint 保存与加载通用文本推理入口:tasks/infer.py(偏交互式 generate)。
LongCat(图像编辑/生成)链路
| 角色 | 文件 |
|---|---|
| 训练 | tasks/longcat/train_loncat_image.py |
| 推理(i2i 编辑) | tasks/longcat/infer_longcat_image.py |
| 训练数据 transform/collator | tasks/longcat/data_pack.py |
| 推理数据 transform/collator | tasks/longcat/temp_data_pack.py |
| 推理参数模板 | configs/longcat/inference_i2i.yaml |
| 多源数据权重配置 | configs/data/edit_all.yaml |
典型运行:对 infer_longcat_image.py 叠加多个 --config(一个管模型/推理参数,一个管数据源权重)。数据侧走 veomni/data/dataset.py 的 iterable_with_configs(多源 streaming/interleave),结果落到 infer_args.sampling_output_path。
关键文件清单
| 文件 | 用途 |
|---|---|
README.md | Quick start 与启动方式 |
auto_launcher.sh / train.sh | torchrun / debug 启动包装 |
veomni/utils/arguments.py | 参数 dataclass + yaml/CLI 解析合并 |
veomni/data/dataset.py | dataset registry,多源 interleave / streaming |
veomni/data/data_loader.py | dataloader registry,packing / dynamic batching |
veomni/models/auto.py | 模型构建与权重加载(meta/cpu/cuda 初始化策略) |
tasks/longcat/infer_longcat_image.py | LongCat 编辑推理入口 |
tasks/longcat/temp_data_pack.py | LongCat 推理 transform/collator |
configs/longcat/inference_i2i.yaml + configs/data/edit_all.yaml | LongCat 推理 + 编辑数据源配置 |
docs/usage/basic_modules.md | 把”参数/数据/模型/并行/任务扩展”串起来 |
TODO
-
veomni/distributed/parallel_state.py— 模型并行策略各自含义与使用场景