VeOmini 仓库阅读笔记:核心是「框架 + 任务集合」结构。框架在 veomni/,任务入口在 tasks/,配置在 configs/。当前关注分支为 LongCat 图像编辑/推理与数据管线。

仓库结构地图

目录职责
veomni/框架核心:参数、数据集/loader、模型构建、分布式并行、checkpoint、优化器
tasks/训练/推理入口脚本(通用 + 各任务,如 longcat/omni/
configs/实验配置 yaml(先选 config 再启动脚本)
docs/文档(docs/usage/basic_modules.md 串起完整工作流)
scripts/ / tests/辅助脚本与测试

最快上手顺序

  1. 总入口README.mdauto_launcher.shtrain.sh
  2. 参数合并veomni/utils/arguments.py(第一个位置参数是 yaml/json + CLI override)
  3. 数据流veomni/data/dataset.py + veomni/data/data_loader.py
  4. 模型构建veomni/models/auto.py
  5. 具体任务(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/collatortasks/longcat/data_pack.py
推理数据 transform/collatortasks/longcat/temp_data_pack.py
推理参数模板configs/longcat/inference_i2i.yaml
多源数据权重配置configs/data/edit_all.yaml

典型运行:对 infer_longcat_image.py 叠加多个 --config(一个管模型/推理参数,一个管数据源权重)。数据侧走 veomni/data/dataset.pyiterable_with_configs(多源 streaming/interleave),结果落到 infer_args.sampling_output_path

关键文件清单

文件用途
README.mdQuick start 与启动方式
auto_launcher.sh / train.shtorchrun / debug 启动包装
veomni/utils/arguments.py参数 dataclass + yaml/CLI 解析合并
veomni/data/dataset.pydataset registry,多源 interleave / streaming
veomni/data/data_loader.pydataloader registry,packing / dynamic batching
veomni/models/auto.py模型构建与权重加载(meta/cpu/cuda 初始化策略)
tasks/longcat/infer_longcat_image.pyLongCat 编辑推理入口
tasks/longcat/temp_data_pack.pyLongCat 推理 transform/collator
configs/longcat/inference_i2i.yaml + configs/data/edit_all.yamlLongCat 推理 + 编辑数据源配置
docs/usage/basic_modules.md把”参数/数据/模型/并行/任务扩展”串起来

TODO

  • veomni/distributed/parallel_state.py — 模型并行策略各自含义与使用场景