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()能正确感知。