LoraReduceRank
Este nodo está basado en resize_lora de sd-scripts de kohya-ss
Lora Reduce Rank
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ámetro | Tipo de Dato | Obligatorio | Valor por Defecto | Rango de Valores/Opciones | Descripción |
|---|---|---|---|---|---|
lora_name | COMBO | Sí | - | - | 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ámetro | Tipo de Dato | Obligatorio | Valor por Defecto | Rango de Valores/Opciones | Descripción |
|---|---|---|---|---|---|
dynamic_method | COMBO | Sí | disabled | "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_dtype | COMBO | Sí | match_original | "match_original", "fp16", "bf16", "fp32" | Tipo de dato en el que se guardará el LoRA: match_original, fp16, bf16 o fp32. |
new_rank | INT | Sí | 8 | 1 - 4096 (incremento: 1) | El nuevo rango para redimensionar el LoRA. Actúa como rango máximo cuando se usa dynamic_method. |
dynamic_param | FLOTANTE | Sí | 0.2 | 0.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). |
verbose | BOOLEANO | Sí | True | - | 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.