ComfyUI SPEED accélère aussi les modèles d'image, pas que H3

ComfyUI Wikinews

ComfyUI-SPEED ajoute des nœuds KSampler pour que l'échantillonnage à résolution progressive tourne aussi sur MOSS Image et Krea 2, avec un calibrage par modèle.

ComfyUI SPEED est le pack de nœuds d'échantillonnage publié auparavant sous le nom ComfyUI-MiniMax-H3-SPEED. Le renommage correspond à ce que fait désormais le pack : le même sampler à résolution progressive s'exécute sur les modèles d'image flow via des nœuds de type KSampler, aux côtés des nœuds MiniMax H3 d'origine.
Clip MiniMax H3, échantillonnage natif à gauche et échantillonnage SPEED à 4 étages à droite

Même seed et même prompt, clip de 5 secondes en 960x544 sur une Modal L40S. À gauche : échantillonnage simple, 288 s. À droite : SPEED à une tolérance de 0.05 avec 4 étages, 182 s.

Ce que fait le pack

SPEED est issu de Spectral Progressive Diffusion for Efficient Image and Video Generation de Howard Xiao, Brian Chao, Lior Yariv et Gordon Wetzstein, à Stanford. L'observation qui le sous-tend : les modèles de diffusion construisent les images globalement des basses vers les hautes fréquences, de sorte que les premières étapes de débruitage sont dominées par des bandes que le modèle n'a pas encore résolues. Exécuter ces étapes en pleine résolution dépense l'essentiel du calcul sur du bruit.

Le pack applique cela à ComfyUI sans réentraînement. Une exécution démarre sur une grille plus petite, puis fait passer le latent à une grille plus grande à mesure que le détail commence à compter. stages choisit l'échelle : 2 étages vont de 0.5 à 1.0, 3 étages de 0.33 à 0.66 puis 1.0, et 4 étages de 0.25 à 0.5 puis 0.75 puis 1.0. Tolerance (Delta), noise_amplitude et noise_decay_exponent décident à quelle étape chaque bascule se produit ; une tolérance plus faible bascule plus tard : plus sûr, mais plus lent.

MiniMax H3 conserve son flux audio en pleine résolution, quel que soit l'étage où se trouve le flux vidéo.

Ce qui a changé avec le renommage

Le dépôt est désormais StanLukuvka/ComfyUI-SPEED au lieu de StanLukuvka/ComfyUI-MiniMax-H3-SPEED, et le changelog regroupe ces changements sous la version 2.0.0. Lorsque le pack était encore réservé à H3, ce site a couvert son ensemble de samplers V2.

  • Six nœuds en deux familles. SPEED KSampler, SPEED KSampler (Manual) et SPEED KSampler Sigma Harvest prennent model, le conditionnement et un latent_image comme le KSampler de ComfyUI et construisent en interne le bruit, le guider, le sampler et le planning de sigma. La famille Advanced conserve le câblage SamplerCustomAdvanced pour MiniMax H3.
  • Modèles d'image flow. MOSS Image et Krea 2 passent par les nœuds KSampler. Le pack rejette les modèles non flow, comme les checkpoints EPS ou v-prediction, avec une erreur, dans les samplers comme dans Harvest.
  • Image vers image. denoise fonctionne comme dans KSampler : le premier étage part de l'image encodée réduite à la taille de cet étage, et le mode Automatic saute les étages grossiers que le planning raccourci a déjà dépassés.
  • Latents de référence sur les modèles d'édition. Les modèles d'édition qui prennent des reference_latents, comme Flux 3 Klein, ne voyaient auparavant que le coin supérieur gauche de la référence à un étage grossier. Les nœuds KSampler mettent désormais les latents de référence à l'échelle de chaque étage et les restaurent pour le dernier.
  • Aucune valeur par défaut intégrée. noise_amplitude et noise_decay_exponent démarrent désormais à 0 et s'arrêtent avec une erreur tant que vous n'avez pas lancé un calibrage Harvest. Pour H3 base avec Euler, le README indique des valeurs de référence de 35.4213 et 1.0126.
  • Nœuds renommés. Les anciens ID MiniMaxH3* restent enregistrés comme sous-classes obsolètes, de sorte que les flux de travail enregistrés se chargent toujours et peuvent être remplacés nœud par nœud.

C'est dans Sigma Harvest que se fait le calibrage par modèle. Il exécute une fois votre sampler et votre planning en pleine résolution, sans la chaîne SPEED, mesure comment la puissance du résidu décroît avec la fréquence, et ajuste P(ω) = A·|ω|^-β. Le mode Automatic résout ensuite chaque frontière d'étage à partir de cet ajustement, et Harvest rapporte r² et un label health (good à partir de r² 0.7, fair à 0.4, puis weak, suspect et invalid) pour que vous sachiez si l'ajustement mérite d'être cru.

Accélérations mesurées

Les nouvelles preuves H3 remplacent le clip de 10 secondes antérieur par un versement de latte art de 5 secondes en 960x544, exécuté sur une Modal L40S avec un calibrage Harvest (A 35.4213, β 1.0126). L'échantillonnage simple a pris 288 s dans la session à tolérance 0.01 et 0.05, et 276 s dans la session à 0.005, et chaque accélération est mesurée par rapport à sa propre session.

Tolérance2 étages3 étages4 étages
0.005238 s (1.16x)236 s (1.17x)227 s (1.22x)
0.010238 s (1.21x)226 s (1.27x)224 s (1.29x)
0.050206 s (1.40x)194 s (1.48x)182 s (1.58x)

La même paire lue côte à côte : à gauche l'échantillonnage simple, à droite SPEED à une tolérance de 0.05 avec 4 étages.

L'auteur rapporte qu'aucun des dix clips H3 ne présente de flash de couleur, et que le versement, le latte art et le lettrage survivent à chaque exécution. C'est inférieur au 2.41x rapporté par le même dépôt pour son clip H3 précédent sur une RTX 5080 : considérez donc le multiplicateur comme une propriété du clip, du GPU et du calibrage plutôt que de la méthode.

Les images fixes correspondent à des exécutions beaucoup plus courtes, et les chiffres sont plus modestes :

ModèleNatifAutomatic, 3 étages, tolérance 0.05Manual, 0.5x à la moitié des étapes
MOSS Image, 1344x768, 20 étapes, CFG 522 s18 s (1.26x)14 s (1.54x)
Krea 2 raw, fp8, 1216x832, 52 étapes, CFG 3.5283 s215 s (1.31x)183 s (1.55x)
MOSS Image, natif à gauche et SPEED à 3 étages à droite

MOSS Image en 1344x768, même seed et même prompt. À gauche : natif, 22 s. À droite : SPEED à 3 étages, 18 s.

Krea 2, natif à gauche et SPEED à 3 étages à droite

Krea 2 en 1216x832, 52 étapes. À gauche : natif, 283 s. À droite : SPEED à 3 étages, 215 s. L'auteur précise que les lignes Krea 2 correspondent à des exécutions uniques sur une carte de 8 Go faisant tourner un modèle de 13 Go : elles varient donc de plusieurs dizaines de secondes.

À une tolérance de 0.005, la frontière calibrée tombe dans les premières étapes d'un planning d'image, ce qui n'économise presque rien ; les flux de travail d'image utilisent donc 0.05.

Composition ou vitesse

noise_policy décide d'où vient le détail haute fréquence supplémentaire à chaque bascule. coupled_full_grid réutilise le champ de bruit qu'utiliserait une exécution SamplerCustomAdvanced simple, de sorte que la même seed conserve la même composition ; sur les clips H3, il n'a économisé que 5 à 10 pour cent. direct_coarse tire son propre remplissage : il change l'image pour une seed donnée, et il a économisé 15 à 30 pour cent sur les mêmes clips.

Flux de travail

Le dépôt fournit trois graphiques d'exemple, chacun avec des nœuds Harvest, Automatic et Manual sur un seul ensemble de chargeurs, seul Automatic étant actif.

Le graphique H3 exécute les nœuds Advanced avec Euler, une planification simple à 20 étapes, 3 étages et une tolérance de 0.005. Les deux graphiques d'image exécutent les nœuds KSampler avec Euler à 20 étapes pour MOSS Image et 52 étapes pour Krea 2, avec 3 étages et une tolérance de 0.05.

Limites

  • Seuls les modèles d'image flow (CONST) sont acceptés, dans les samplers comme dans Harvest.
  • noise_mask et le débruitage masqué ne sont pas pris en charge.
  • Sur les nœuds Advanced, le latent_image doit être vide au départ ; l'image vers vidéo passe par le conditionnement keyframe de H3, que le pack redimensionne et restaure lui-même.
  • Chaque étage est un appel de sampler distinct, de sorte que les samplers multi-étapes redémarrent leur historique à chaque changement de résolution. Accordez au moins 2 étapes à chaque étage.
  • Certains samplers se comportent encore mal sur H3 : dpm_fast et dpm_adaptive ne terminent jamais le débruitage, et uni_pc casse quand un étage ne reçoit qu'une seule étape.

Disponibilité

Le dépôt comptait 110 étoiles au moment de la rédaction. L'annonce a été publiée dans r/StableDiffusion ; aucune reproduction indépendante des chiffres des modèles d'image n'avait été publiée au moment de la rédaction.

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…
ComfyUI SPEED accélère aussi les modèles d'image, pas que H3 | ComfyUI Wiki