Passer à la navigation

nemo_rl.models.policy.utils

Afficher en Markdown

Contenu du Module

Fonctions

NomDescription
resolve_model_classRésoudre la classe de modèle appropriée pour un nom de modèle donné.
is_vllm_v1_engine_enabledVérifier si le moteur vLLM V1 est activé.
import_class_from_pathImporter une classe à partir d’un chemin de chaîne (par exemple ‘torch.optim.AdamW’).
get_gpu_infoRenvoyer des informations sur le GPU utilisé par ce worker.
sliding_window_overwriteRenvoie des remplacements de configuration pour gérer les paramètres de fenêtre glissante selon les règles du modèle.
configure_dynamo_cacheDésactiver le cache local d’auto-réglage de dynamo.
get_runtime_env_for_policy_workerObtenir la configuration de l’environnement d’exécution pour les workers de politique.
get_megatron_checkpoint_dirObtient le répertoire de point de contrôle Megatron par défaut pour la conversion initiale HF -> Mcore.
get_handle_from_tensorObtenir le handle IPC à partir d’un tenseur.

Données

AUTOMODEL_FACTORY

API

nemo_rl.models.policy.utils.AUTOMODEL_FACTORY: typing.Dict[str, typing.Any]

Valeur: None

nemo_rl.models.policy.utils.resolve_model_class(model_name: str) -> typing.Any

Résoudre la classe de modèle appropriée pour un nom de modèle donné.

nemo_rl.models.policy.utils.is_vllm_v1_engine_enabled() -> bool

Vérifier si le moteur vLLM V1 est activé.

Retourne : bool : Vrai si le moteur V1 est activé, Faux sinon (par défaut à Vrai s’il n’est pas défini)

nemo_rl.models.policy.utils.import_class_from_path(name: str) -> typing.Any

Importer une classe à partir d’un chemin de chaîne (par exemple ‘torch.optim.AdamW’).

Args : full_path : Chemin complet vers la classe, y compris le chemin du module et le nom de la classe

Retourne : La classe importée

nemo_rl.models.policy.utils.get_gpu_info(model: torch.nn.Module) -> dict[str, typing.Any]

Renvoyer des informations sur le GPU utilisé par ce worker.

nemo_rl.models.policy.utils.sliding_window_overwrite(model_name: str) -> dict[str, typing.Any]

Renvoie des remplacements de configuration pour gérer les paramètres de fenêtre glissante selon les règles du modèle.

Args : model_name : Le nom ou le chemin du modèle HuggingFace pour charger la configuration

Retourne : dict : Dictionnaire avec des valeurs de remplacement, ou dict vide si aucun remplacement n’est nécessaire

nemo_rl.models.policy.utils.configure_dynamo_cache() -> None

Désactiver le cache local d’auto-réglage de dynamo.

Dynamo peut échouer à l’auto-réglage du cache lorsqu’il existe déjà un cache avec un ordre différent de node_bundles. Désactiver le cache local d’auto-réglage comme solution de contournement. Voir https://github.com/pytorch/pytorch/issues/153791 pour plus de détails.

nemo_rl.models.policy.utils.get_runtime_env_for_policy_worker(policy_worker_name: str) -> dict[str, typing.Any]

Obtenir la configuration de l’environnement d’exécution pour les workers de politique.

Remarque : la configuration de expandable_segments est gérée directement dans les méthodes d’initialisation du worker pour assurer une détection correcte du GPU après l’initialisation de CUDA.

nemo_rl.models.policy.utils.get_megatron_checkpoint_dir() -> str

Obtient le répertoire de point de contrôle Megatron par défaut pour la conversion initiale HF -> Mcore.

Le point de contrôle initial de Megatron doit être enregistré dans un chemin disponible sur tous les nœuds. Le répertoire utilisé suivra cet ordre de précédence :

  1. $NRL_MEGATRON_CHECKPOINT_DIR (s’il est défini)
  2. $HF_HOME/nemo_rl (si HF_HOME est défini)
  3. ~/.cache/huggingface/nemo_rl

HF_HOME est préféré car de nombreux utilisateurs auront également ce chemin monté et cela signifie un répertoire de moins à monter dans votre environnement d’exécution.

nemo_rl.models.policy.utils.get_handle_from_tensor(tensor: torch.Tensor) -> tuple[typing.Any]

Obtenir le handle IPC à partir d’un tenseur.