Model Coverage Overview
NeMo AutoModel integrates with Hugging Face transformers. Any LLM or VLM that can be instantiated through transformers can also be used with NeMo AutoModel, subject to runtime, third-party software dependencies, and feature compatibility.
Supported Hugging Face Auto Classes
Release Log
The table below tracks when model support and key features were added across NeMo AutoModel releases. For the full list of tested architectures and example configs, see the LLM, VLM, and Multimodal pages.
Day-0 Support
- NeMo AutoModel closely tracks the latest
transformersversion and updates its dependency regularly. - New models released on the Hugging Face Hub might require the latest
transformersversion, necessitating a package upgrade. - The team is developing a CI pipeline that automatically updates the supported
transformersversion when a new release is detected, enabling faster day-0 support.
Custom Model Registry
NeMo AutoModel includes a custom model registry that allows teams to:
- Add custom implementations to extend support to models not yet covered upstream.
- Provide optimized or faster implementations for specific models while retaining the same NeMo AutoModel interface.
Register an Architecture
The registry matches an architecture name against the first value in the checkpoint’s config.json
architectures list. The name is case-sensitive. The registered class must be a torch.nn.Module class that is
compatible with the selected NeMoAutoModel* loader and accepts the resolved Hugging Face config as its first
constructor argument.
Register in Python
Call register_architecture before constructing or loading the model:
Registering a built-in or previously registered name raises ValueError, even when the same class is registered
again. Pass exist_ok=True only when you intentionally want to replace the existing model class.
Register from an Installed Package
An installed package can advertise model classes without requiring application startup code. Add an entry point for
each architecture to the package’s pyproject.toml:
The entry-point name is the architecture name, and its value must use the module.path:ClassName format. NeMo
AutoModel discovers these entry points when its model registry initializes and imports the target module only when it
resolves that architecture. Install the package before starting the Python process. If an entry-point name conflicts
with a built-in or another discovered architecture, NeMo AutoModel skips it and logs a warning; use
register_architecture(..., exist_ok=True) in application code for an intentional override.
Architecture registration selects a model implementation after the Hugging Face config is resolved. It does not
register a new model_type, so the checkpoint config must already be loadable by the installed versions of
Hugging Face transformers or NeMo AutoModel.
Ready-to-Run Architectures
The following table lists architectures represented by the ready-to-run YAML recipes in this repository. It includes both NeMo-native implementations and models that use the standard Hugging Face implementation path.
This is a practical starting set rather than an exhaustive compatibility list. NeMo AutoModel can also work with additional models supported by the installed version of the Hugging Face transformers library, although models without a checked-in recipe might require some configuration for a particular training setup.
Having Issues?
If a model from the Hugging Face Hub does not work as expected, see Troubleshooting for common issues and solutions.