SuperAPI AI 工具集

nemo-automodel-recipe-development

编程与开发

查看项目

更新于 10-16 02:33

技能介绍

用途:创建和修改 NeMo AutoModel 的训练与评估配方(recipe),回答配方 YAML 结构、target 可调用对象、builder 函数、验证数据集、检查点配置、CLI 路由注册及配方测试相关问题。

主要能力:配方继承 BaseRecipe,实现 setup() 与 run_train_validation_loop();组件通过 build_model()、build_optimizer()、build_dataloader()、build_loss_module()、build_lr_scheduler()、build_step_scheduler() 构建,CheckpointingConfig 由 YAML checkpoint 块生成。执行流为 CLI(automodel config.yaml)→ app.py 解析配方目标 → 配方脚本 main(config_path) → Recipe.setup() → run_train_validation_loop()。

使用方式:YAML 中 target 指定完全限定 Python 可调用对象,同级键作为关键字参数;可用 CLI 覆盖,如 automodel config.yaml --optimizer.lr 1e-4 --step_scheduler.max_steps 500 --distributed.tp_size 2。验证与检查点涉及 step_scheduler.val_check_interval、checkpoint_interval、validation_dataset、restore_from.path,默认检查点格式为 consolidated safetensors。

适用场景:LLM 微调/预训练(recipes/llm/train_ft.py)、知识蒸馏(kd.py)、基准测试(benchmark.py)、VLM(recipes/vlm/finetune.py)、扩散(recipes/diffusion/train.py,仅 DDP 与 FSDP2)、检索(双编码器、交叉编码器、难负样本挖掘)。

限制:不适用于独立分布式策略选择、集群启动器配置或模型架构接入,除非这些选择出现在配方 YAML 中。全参数训练建议显式设置 model.dtype: float32;PEFT、TE FusedAdam 与扩散需单独精度选择。常见问题包括 target 拼写错误、批大小不整除、配方目标不可解析、collate 输出与模型输入不匹配、验证 OOM、检查点与配置架构不一致。