paths:

  • "torchtitan_npu/config/**/*.py"

配置系统规则

适用范围:torchtitan_npu/config/

继承上游规则

必需字段不用 None 默认值

如果一个配置字段是必需的,不要给它 None 默认值。要么设置有意义的默认值,要么作为必需参数不设默认值。

参数排序

  • 重要、常用的字段放前面。
  • 不常用或不常改的字段放后面。
  • 首个位置参数之后优先使用 keyword-only 参数,防止位置传参出错。

命名约定

  • 使用描述性的名称反映配置控制的内容。
  • 计数字段使用 num_ 前缀。
  • 可扩展性场景优先使用字符串作为配置名(如模型选择、数据集选择)。

安全性

  • 配置值传递给外部 API(如 DataLoader kwargs)时,确保所有值在所有代码路径中都是安全的(如 num_workers == 0 时的行为)。
  • 配置选项在某些代码路径中静默不生效时,向用户发出 warning。

插件仓扩展规则

NPU 自定义配置隔离

  • NPU 特有的配置字段放在 torchtitan_npu/config/custom_config.py,不要修改上游的配置定义。
  • 自定义配置应继承或扩展上游配置结构,保持兼容性。

配置与 Patch 的关系

  • 如果某个 NPU 配置项控制 patch 的行为,在配置的 docstring 中说明关联的 patch 模块。
  • 配置变更导致 patch 行为变化时,确保 _apply_patches() 能正确感知。