KJNodes/torchcompilegenerated

TorchCompileModelAdvanced

Ce nœud permet techniquement à l'utilisateur de choisir différents backends de compilation (comme inductor) et modes d'optimisation (comme max-autotune).

Torch Compile Model Advanced

model
MODEL
backend
inductor
fullgraph
mode
default
dynamic
false
compile_transformer_blocks_only
dynamo_cache_size_limit
64
debug_compile_keys
disable_dynamic_vram
KJNodes

Le nœud TorchCompileModelAdvanced permet techniquement à l'utilisateur de choisir différents backends de compilation (comme inductor) et modes d'optimisation (comme max-autotune).

TorchCompileModelAdvanced est un nœud ComfyUI conçu pour optimiser les performances d'inférence des modèles de diffusion. En utilisant la fonction torch.compile de PyTorch, il compile les parties critiques du modèle dans un format plus efficace, améliorant ainsi la vitesse de génération d'images. Ce nœud offre des options de contrôle plus fines que le nœud de compilation de base.

Fonctionnalités du nœud

Techniquement, ce nœud permet à l'utilisateur de sélectionner différents backends de compilation (comme inductor) et modes d'optimisation (comme max-autotune). Il contrôle la taille du cache de compilation en définissant torch._dynamo.config.cache_size_limit et permet de compiler uniquement les modules Transformer du modèle pour équilibrer la vitesse de compilation et l'efficacité de l'optimisation.

Description des paramètres du nœud - TorchCompileModelAdvanced

Entrées (Inputs)

Nom du paramètreType de donnéesRequisValeur par défautPlage de valeurs/OptionsDescription
modelMODELOui--Reçoit le modèle de diffusion à optimiser, qui sert d'objet d'entrée pour le traitement de compilation.

Paramètres de contrôle (Parameters)

Nom du paramètreType de donnéesRequisValeur par défautPlage de valeurs/OptionsDescription
backendCOMBOOuiinductor"inductor", "cudagraphs"Sélectionne le moteur backend utilisé par la compilation PyTorch. Les valeurs possibles sont inductor ou cudagraphs.
modeCOMBOOuidefault"default", "max-autotune", "max-autotune-no-cudagraphs", "reduce-overhead"Mode d'optimisation.
dynamicCOMBOOuifalse"auto", "true", "false"Active le traçage dynamique des formes (true, false, ou auto).
fullgraphBOOLEANOuiFalse-Activer le mode graphe complet
compile_transformer_blocks_onlyBOOLEANOuiTrue-Compiler uniquement les blocs Transformer, compilation plus rapide et moins sujette aux erreurs
dynamo_cache_size_limitINTOui640 - 1024 (pas: 1)torch._dynamo.config.cache_size_limit
debug_compile_keysBOOLEANOuiFalse-Afficher les clés de compilation utilisées pour torch.compile
disable_dynamic_vramBOOLEANNonFalse-Désactiver la gestion dynamique de la VRAM pour réduire la fragmentation mémoire.

Sortie (Output)

Nom du paramètreType de donnéesDescription
MODELMODELSort le modèle optimisé par compilation, à utiliser pour les étapes suivantes de génération d'images.

Cas d'utilisation

Dans des applications concrètes, lorsqu'un utilisateur construit un flux de travail axé sur la vitesse de génération, il peut connecter ce nœud après avoir chargé le modèle. En ajustant des paramètres tels que le mode de compilation et le suivi dynamique des formes, l'utilisateur peut tenter d'obtenir les meilleures performances d'inférence sur différents matériels (comme les GPU NVIDIA) sans modifier le modèle lui-même.

Notes importantes

Ce nœud est marqué comme fonctionnalité expérimentale ; son comportement peut changer avec les mises à jour de PyTorch. Des combinaisons de paramètres inappropriées peuvent entraîner des échecs de compilation ou des erreurs d'exécution. Il est recommandé de procéder à des tests approfondis avant de l'utiliser dans des flux de travail critiques.

Lien vers le code source du nœud TorchCompileModelAdvanced

Le nœud TorchCompileModelAdvanced provient du pack de nœuds ComfyUI-KJNodes.

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…