KJNodes/loragenerated

LoraReduceRank

Este nodo está basado en resize_lora de sd-scripts de kohya-ss

Lora Reduce Rank

lora_name
COMBO
new_rank
8
dynamic_method
disabled
dynamic_param
0.20
output_dtype
match_original
verbose
KJNodes

El nodo LoraReduceRank, basado en resize_lora de los sd-scripts de kohya-ss.

El nodo LoraReduceRank es una herramienta para reducir el rango (Rank) de un modelo LoRA. Su función principal es leer un modelo LoRA existente, reducir el tamaño del archivo del modelo y los requisitos computacionales ajustando las dimensiones de sus matrices de parámetros internos, y guardar el nuevo modelo procesado en el directorio de salida.

Funcionalidad del Nodo

Este nodo se implementa basándose en el script resize_lora.py de los sd-scripts de kohya-ss. Admite múltiples métodos de reducción de rango dinámico, incluidos métodos basados en la proporción de valores singulares, la suma acumulativa, la norma de Frobenius, o la detección del punto de codo en la curva de valores singulares, permitiendo al usuario especificar un nuevo rango fijo o establecer un umbral dinámico para determinar automáticamente un rango adecuado. El nodo puede procesar múltiples formatos de precisión de datos y conservar los metadatos compatibles con el modelo original.

Explicación de los Parámetros del Nodo - LoraReduceRank

Entradas (Inputs)

Nombre del ParámetroTipo de DatoObligatorioValor por DefectoRango de Valores/OpcionesDescripción
lora_nameCOMBO--Selecciona el archivo del modelo LoRA objetivo, de la lista de modelos LoRA cargados, que necesita procesamiento de reducción de rango.

Parámetros de Control (Parameters)

Nombre del ParámetroTipo de DatoObligatorioValor por DefectoRango de Valores/OpcionesDescripción
dynamic_methodCOMBOdisabled"disabled", "sv_ratio", "sv_cumulative", "sv_fro", "sv_knee"Método a utilizar para determinar dinámicamente nuevos alphas y dims. sv_knee encuentra el punto de codo en la curva de valores singulares.
output_dtypeCOMBOmatch_original"match_original", "fp16", "bf16", "fp32"Tipo de dato en el que se guardará el LoRA: match_original, fp16, bf16 o fp32.
new_rankINT81 - 4096 (incremento: 1)El nuevo rango para redimensionar el LoRA. Actúa como rango máximo cuando se usa dynamic_method.
dynamic_paramFLOTANTE0.20.0 - 2.0 (incremento: 0.01)Parámetro para métodos dinámicos. Para sv_knee: sensibilidad (1.0 = codo estándar, <1.0 = más agresivo/rango más bajo, >1.0 = más conservador).
verboseBOOLEANOTrue-Controla si se muestra un registro detallado del proceso de procesamiento en la consola. Habilitarlo (True) ayuda en la depuración y comprensión de los detalles de la reducción de rango.

Escenarios de Uso

En un flujo de trabajo real, puede utilizar este nodo cuando encuentre que un archivo de modelo LoRA es demasiado grande o la velocidad de inferencia es demasiado lenta. Por ejemplo, después de cargar un LoRA de alto rango para generación estilizada, puede conectarlo a este nodo, establecer un valor de new_rank más bajo, ejecutarlo y luego obtener en la carpeta de salida un nuevo archivo LoRA más pequeño y eficiente para su uso en procesos posteriores.

Consideraciones

Tenga en cuenta que este es un nodo experimental. La operación de reducción de rango es una compresión con pérdidas; reducir el rango en exceso puede afectar significativamente la efectividad del modelo LoRA. El nodo en sí no genera tensores, solo ejecuta operaciones de guardado de archivos.

Enlace al Código Fuente del Nodo LoraReduceRank

El nodo LoraReduceRank proviene del paquete de nodos ComfyUI-KJNodes.

Comentarios

Inicia sesión con GitHub para unirte a la conversación.

Cargando comentarios…