nemo_automodel._transformers.model_capabilities#
Programmatic query API for NeMo AutoModel’s per-architecture capability registry.
Two declaration patterns are supported on registered model classes:
Static – nested
ModelCapabilitiesdataclass on the class. Used by classes whose capability profile does not depend on config.Dynamic –
get_capabilities(cls, config)classmethod. Used by classes that serve multiple checkpoint variants (e.g.Gemma4MoE vs. dense vs. audio).
A class must declare capabilities via exactly one of these patterns.
- func:
query_capabilitiesdispatches to whichever is present and always returns the canonical :class:ModelCapabilitiesdefined here.
Module Contents#
Classes#
Canonical parallelism capability flags for a model architecture. |
Functions#
Re-pack any object with the four |
|
Look up a registered model class by architecture name. Raises on miss. |
|
Extract the primary architecture name from an HF |
|
Apply the static/dynamic capability rules for a resolved class. |
|
Resolve declared parallelism capabilities for a model. |
Data#
API#
- nemo_automodel._transformers.model_capabilities.__all__#
[‘ModelCapabilities’, ‘query_capabilities’]
- class nemo_automodel._transformers.model_capabilities.ModelCapabilities#
Canonical parallelism capability flags for a model architecture.
All fields are conservative defaults; a flag is
Trueonly when the corresponding feature has a working, verified implementation for that architecture (or variant, in the dynamic-dispatch case)... attribute:: supports_tp
Tensor parallelism.
.. attribute:: supports_cp
Context parallelism.
.. attribute:: supports_pp
Pipeline parallelism.
.. attribute:: supports_ep
Expert parallelism (MoE).
- supports_tp: bool#
False
- supports_cp: bool#
False
- supports_pp: bool#
False
- supports_ep: bool#
False
- nemo_automodel._transformers.model_capabilities._to_canonical(
- caps_obj,
Re-pack any object with the four
supports_*fields into the canonical type.Per-class nested
ModelCapabilitiesdataclasses are their own types; this converts them to the canonical :class:ModelCapabilitiesso callers see a single, stable type.
- nemo_automodel._transformers.model_capabilities._resolve_class_from_arch(arch: str)#
Look up a registered model class by architecture name. Raises on miss.
- nemo_automodel._transformers.model_capabilities._arch_from_config(config) str#
Extract the primary architecture name from an HF
PretrainedConfig.
- nemo_automodel._transformers.model_capabilities._dispatch(
- model_cls,
- config,
Apply the static/dynamic capability rules for a resolved class.
- nemo_automodel._transformers.model_capabilities.query_capabilities(
- target: Union[str, transformers.PretrainedConfig, torch.nn.Module, type],
- *,
- trust_remote_code: bool = False,
Resolve declared parallelism capabilities for a model.
Accepted input forms:
HF model id (str) –
AutoConfig.from_pretrainedis used to load the config (no weights), the architecture is read from the config, and the registered NeMo class is looked up via :data:ModelRegistry.HF config object – the architecture is read from the config.
Model instance (nn.Module) –
type(target)resolves the class andtarget.configprovides the variant info needed by dynamic dispatch.Registered model class (type) – usable only for classes with a static nested
ModelCapabilitiesdataclass. Classes with dynamic dispatch raise :class:ValueErrorbecause no config is available.
- Parameters:
target – HF model id,
PretrainedConfig, model instance, or registered NeMo model class.trust_remote_code – Forwarded to
AutoConfig.from_pretrainedwhentargetis a string. Ignored otherwise.
- Returns:
A :class:
ModelCapabilities(canonical type, identical across all inputs and all model classes).- Raises:
TypeError – If
targetis not a supported input form.KeyError – If the resolved architecture is not registered.
ValueError – If a dynamic-dispatch class is queried via the bare class (no config available) or a config has no
architecturesfield.AttributeError – If the resolved class declares no capabilities.