用途:本技能用于向 NeMo AutoModel 添加新的模型架构支持,包括模型文件、自定义层、state-dict 适配器、Hugging Face 配置映射、注册表条目与模型能力标志。回答接入问题时按固定顺序:依据 config.json 判定架构类型、指出 components/models/<name>/ 下的实现文件、说明注册表与可选自定义配置更新、列出完整检查点使用前必须添加的验证测试。它不负责独立训练配方 YAML(优化器、数据集、调度器、验证集、训练器接线)、分布式策略、启动器配置,或 Slurm、SkyPilot、容器、挂载与启动调度,这些属于 nemo-automodel-recipe-development。
主要能力:五阶段流程。第一阶段发现:获取 Hugging Face config.json,提取 architectures、model_type、hidden_size、vocab_size、tie_word_embeddings 等字段;据 ForCausalLM(无专家字段)判为稠密 LLM、据 n_routed_experts/num_local_experts 等专家字段判为 MoE、据 ForConditionalGeneration 加 vision_config 与 text_config 判为 VLM;查找已有相似架构(llama、qwen2、baichuan、deepseek_v3、mistral4、kimivl、kimi_k25_vl、qwen3_moe、nemotron_v3);为单测准备约 1M 参数的极小配置。第二阶段实现:在 components/models/<name>/ 下按 config.py、rope_utils.py、layers.py、model.py、state_dict_adapter.py、init.py 的依赖顺序实现;说明因果 LM 权重绑定要求——声明 tie_word_embeddings_support 为 BOTH、TIED_ONLY 或 UNTIED_ONLY,在 init 顶部调用 reject_unsupported_tie_word_embeddings,BOTH 与 TIED_ONLY 声明 _tied_weights_keys 并实现 tie_weights;给出 MoE state-dict 适配器清单与 VLM 接入清单;要求把检查点 I/O 性能作为实现要求,评估延迟与峰值内存,并评估 supports_low_memory_dcp_load;在 _transformers/registry.py 的 MODEL_ARCH_MAPPING 登记,必要时在 _CUSTOM_CONFIG_REGISTRATIONS 登记自定义配置;每个登记类必须声明并行能力,精度敏感参数声明 _keep_in_fp32_modules_strict。第三阶段添加最小示例配置,如 model.dtype: float32,并用 NeMoAutoModelForCausalLM.from_pretrained 验证加载,先用极小配置测试。第四阶段在 tests/unit_tests/models/<name>/ 下编写前向形状冒烟测试、state-dict 适配器往返测试、HF 加载/导出与本地保存/重载测试、重写层等价性测试。
使用方式:以直接动作动词回答:判定模型、命名文件、映射权重、注册类、添加测试。概念性问题可依据技能直接回答,仅在用户要求改代码时打开模式文件,并提及 llm-patterns.md、moe-patterns.md、vlm-patterns.md、capabilities-and-precision.md 等参考文件。
适用场景:新增 Hugging Face 因果 LM 架构支持、映射 MoE 路由器与专家权重、在 NeMo AutoModel 注册新模型类。
限制:资料未提供平台、收费、价格等信息;不适用于训练配方编写、分布式策略选择或启动调度配置;未给出完整代码示例,实际实现细节需查阅上述模式文件。