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
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ètre | Type de données | Requis | Valeur par défaut | Plage de valeurs/Options | Description |
|---|---|---|---|---|---|
model | MODEL | Oui | - | - | 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ètre | Type de données | Requis | Valeur par défaut | Plage de valeurs/Options | Description |
|---|---|---|---|---|---|
backend | COMBO | Oui | inductor | "inductor", "cudagraphs" | Sélectionne le moteur backend utilisé par la compilation PyTorch. Les valeurs possibles sont inductor ou cudagraphs. |
mode | COMBO | Oui | default | "default", "max-autotune", "max-autotune-no-cudagraphs", "reduce-overhead" | Mode d'optimisation. |
dynamic | COMBO | Oui | false | "auto", "true", "false" | Active le traçage dynamique des formes (true, false, ou auto). |
fullgraph | BOOLEAN | Oui | False | - | Activer le mode graphe complet |
compile_transformer_blocks_only | BOOLEAN | Oui | True | - | Compiler uniquement les blocs Transformer, compilation plus rapide et moins sujette aux erreurs |
dynamo_cache_size_limit | INT | Oui | 64 | 0 - 1024 (pas: 1) | torch._dynamo.config.cache_size_limit |
debug_compile_keys | BOOLEAN | Oui | False | - | Afficher les clés de compilation utilisées pour torch.compile |
disable_dynamic_vram | BOOLEAN | Non | False | - | Désactiver la gestion dynamique de la VRAM pour réduire la fragmentation mémoire. |
Sortie (Output)
| Nom du paramètre | Type de données | Description |
|---|---|---|
| MODEL | MODEL | Sort 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.