TorchCompileModelFluxAdvancedV2
Dans sa mise en œuvre technique, ce nœud clone le modèle d'entrée et applique torch.
Torch Compile Model Flux Advanced V2
Le nœud TorchCompileModelFluxAdvancedV2 est obsolète – utilisez plutôt TorchCompileModelAdvanced. Dans son implémentation technique, il clone le modèle d'entrée et applique torch.compile à sa partie interne de modèle de diffusion.
TorchCompileModelFluxAdvancedV2 est un nœud conçu pour optimiser et accélérer l'inférence des modèles. Il compile le modèle de diffusion donné en utilisant la fonction torch.compile de PyTorch, dans le but d'améliorer l'efficacité d'exécution du modèle lors de la génération d'images. Ce nœud offre plusieurs options de compilation, permettant aux utilisateurs d'ajuster la stratégie d'optimisation en fonction du matériel et des besoins.
Fonctionnalités du nœud
Techniquement, ce nœud clone le modèle d'entrée et applique torch.compile à sa partie interne de modèle de diffusion. Il prend en charge plusieurs backends (comme inductor) et modes de compilation (comme max-autotune), et permet de contrôler si des modules spécifiques du modèle doivent être compilés (comme les blocs d'attention simple/double). De plus, il peut configurer des paramètres de bas niveau tels que la taille du cache de PyTorch Dynamo et le forçage statique des formes, pour permettre un réglage plus fin des performances.
Spécifications des paramètres du nœud - TorchCompileModelFluxAdvancedV2
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 à optimiser en entrée. Ce paramètre est l'entrée principale du nœud, provenant généralement d'un nœud en amont de chargement de modèle. |
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 (par défaut) ou cudagraphs, pour spécifier la méthode d'optimisation sous-jacente. |
mode | COMBO | Oui | "default" | "default", "max-autotune", "max-autotune-no-cudagraphs", "reduce-overhead" | max-autotune, max-autotune-no-cudagraphs et reduce-overhead, pour faire un compromis entre le temps de compilation, l'utilisation de la mémoire et la vitesse d'exécution. |
fullgraph | BOOLEAN | Oui | False | - | Activer le mode graphe complet |
double_blocks | BOOLEAN | Oui | True | - | Compiler les blocs doubles |
single_blocks | BOOLEAN | Oui | True | - | Compiler les blocs simples |
dynamic | BOOLEAN | Oui | False | - | Activer le mode dynamique |
dynamo_cache_size_limit | INT | Non | 64 | 0 - 1024 (pas: 1) | torch._dynamo.config.cache_size_limit |
force_parameter_static_shapes | BOOLEAN | Non | True | - | torch._dynamo.config.force_parameter_static_shapes |
Sortie (Output)
| Nom du paramètre | Type de données | Description |
|---|---|---|
| MODEL | MODEL | Sort le modèle optimisé et compilé avec torch.compile, prêt à être utilisé par les nœuds d'échantillonnage ou de traitement ultérieurs. |
Scénarios d'utilisation
Dans un flux de travail de génération d'images, vous pouvez placer ce nœud après le nœud de chargement du modèle et avant le nœud d'échantillonnage. Par exemple, après avoir chargé un modèle Stable Diffusion, vous pouvez le compiler et l'optimiser via ce nœud, puis envoyer le modèle optimisé à l'échantillonneur pour générer des images, dans l'espoir d'obtenir une vitesse de génération plus rapide.
Notes importantes
Veuillez noter que ce nœud est marqué comme "obsolète", le développeur recommande d'utiliser son nœud de remplacement TorchCompileModelAdvanced. Il est toujours au stade expérimental, et ses effets d'optimisation peuvent varier considérablement en fonction du modèle, du matériel et des paramètres spécifiques.
Lien vers le code source du nœud TorchCompileModelFluxAdvancedV2
Le nœud TorchCompileModelFluxAdvancedV2 provient du pack de nœuds ComfyUI-KJNodes.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.