LoraReduceRank
Ce nœud est basé sur resize_lora des sd-scripts de kohya-ss
Lora Reduce Rank
Le nœud LoraReduceRank, basé sur resize_lora des sd-scripts de kohya-ss
Le nœud LoraReduceRank est un outil conçu pour réduire le rang (Rank) d'un modèle LoRA. Sa fonction principale est de lire un modèle LoRA existant, de réduire la taille du fichier modèle et les besoins en calcul en ajustant les dimensions de ses matrices de paramètres internes, puis de sauvegarder le nouveau modèle traité dans un répertoire de sortie.
Fonctionnalités du nœud
Ce nœud est implémenté à partir du script resize_lora.py des sd-scripts de kohya-ss. Il prend en charge plusieurs méthodes de réduction de rang dynamique, y compris celles basées sur le ratio des valeurs singulières, la somme cumulative, la norme de Frobenius, ou la détection du point de coude dans la courbe des valeurs singulières, permettant à l'utilisateur de spécifier un nouveau rang fixe ou de définir un seuil dynamique pour déterminer automatiquement un rang approprié. Le nœud peut traiter plusieurs formats de précision des données et conserve les métadonnées compatibles avec le modèle d'origine.
Explication des paramètres du nœud - LoraReduceRank
Entrées (Inputs)
| Nom du paramètre | Type de données | Requis | Valeur par défaut | Plage/Valeurs possibles | Description |
|---|---|---|---|---|---|
lora_name | COMBO | Oui | - | - | Sélectionnez le fichier modèle LoRA cible, parmi la liste des modèles LoRA chargés, qui nécessite un traitement de réduction de rang. |
Paramètres de contrôle (Parameters)
| Nom du paramètre | Type de données | Requis | Valeur par défaut | Plage/Valeurs possibles | Description |
|---|---|---|---|---|---|
dynamic_method | COMBO | Oui | disabled | "disabled", "sv_ratio", "sv_cumulative", "sv_fro", "sv_knee" | Méthode à utiliser pour déterminer dynamiquement les nouveaux alphas et dims. sv_knee détecte le point de coude dans la courbe des valeurs singulières. |
output_dtype | COMBO | Oui | match_original | "match_original", "fp16", "bf16", "fp32" | Type de données pour sauvegarder le LoRA : match_original, fp16, bf16 ou fp32. |
new_rank | INT | Oui | 8 | 1 - 4096 (pas : 1) | Le nouveau rang pour redimensionner le LoRA. Fait office de rang maximal lors de l'utilisation de dynamic_method. |
dynamic_param | FLOTTANT | Oui | 0.2 | 0.0 - 2.0 (pas : 0.01) | Paramètre pour les méthodes dynamiques. Pour sv_knee : sensibilité (1.0=coude standard, <1.0=plus agressif/rang inférieur, >1.0=plus conservateur). |
verbose | BOOLEEN | Oui | True | - | Contrôle si des journaux détaillés du processus de traitement sont affichés dans la console. L'activation (True) facilite le débogage et la compréhension des détails de la réduction de rang. |
Scénarios d'utilisation
Dans un flux de travail réel, vous pouvez utiliser ce nœud lorsque vous constatez qu'un fichier de modèle LoRA est trop volumineux ou que son inférence est trop lente. Par exemple, après avoir chargé un LoRA de haut rang pour une génération stylisée, vous pouvez le connecter à ce nœud, définir une valeur new_rank plus faible, et après exécution, un nouveau fichier LoRA plus petit et plus efficace sera disponible dans le dossier de sortie pour une utilisation ultérieure dans le flux.
Notes importantes
Veuillez noter qu'il s'agit d'un nœud expérimental. L'opération de réduction de rang est une compression avec perte ; réduire excessivement le rang peut affecter de manière significative l'efficacité du modèle LoRA. Le nœud lui-même ne génère pas de tenseurs en sortie, il effectue uniquement des opérations de sauvegarde de fichiers.
Lien vers le code source du nœud LoraReduceRank
Le nœud LoraReduceRank provient du pack de nœuds ComfyUI-KJNodes.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.