LoraExtractKJ
Этот узел поддерживает несколько режимов извлечения LoRA, включая стандартный фиксированный ранг (standard), полный ранг (full), а также различные адаптивные методы ранга (adaptive_*), чтобы соответствовать различным требованиям к точности и размеру файла.
Lora Extract KJ
Узел LoraExtractKJ поддерживает несколько режимов извлечения LoRA, включая стандартный с фиксированным рангом (standard), полный ранг (full), а также различные методы адаптивного ранга (adaptive_*), чтобы удовлетворить различные требования к точности и размеру файла.
Узел LoraExtractKJ — это инструмент для извлечения файлов весов LoRA (Low-Rank Adaptation) из разницы между дообученной моделью и исходной базовой моделью. Его основная функция — анализ изменений параметров между двумя моделями, сжатие этих изменений и сохранение их в виде отдельного, повторно используемого файла LoRA. Этот узел не выводит никаких данных, а напрямую сохраняет сгенерированный файл LoRA в указанный каталог.
Функциональность узла
Этот узел поддерживает несколько режимов извлечения LoRA, включая стандартный с фиксированным рангом (standard), полный ранг (full), а также различные методы адаптивного ранга (adaptive_*), чтобы удовлетворить различные требования к точности и размеру файла. С технической точки зрения, он использует алгоритм сингулярного разложения (SVD) для вычисления низкоранговой аппроксимации матрицы весов. Пользователь может выбрать один из двух алгоритмов: svd_linalg (точный, но медленный) или svd_lowrank (быстрый, но приблизительный). Извлеченные веса могут быть сохранены с точностью fp16, bf16 или fp32.
Описание параметров узла - LoraExtractKJ
Входные соединения (Inputs)
| Имя параметра | Тип данных | Обязательный | Значение по умолчанию | Диапазон значений/Опции | Описание |
|---|---|---|---|---|---|
finetuned | MULTITYPE | Да | - | - | Дообученная модель или clip, из которой извлекается LoRA. |
original | MULTITYPE | Да | - | - | Оригинальная базовая модель или clip, с которой сравнивается разница. |
Параметры управления (Parameters)
| Имя параметра | Тип данных | Обязательный | Значение по умолчанию | Диапазон значений/Опции | Описание |
|---|---|---|---|---|---|
lora_type | КОМБО | Да | standard | "standard", "full", "adaptive_ratio", "adaptive_quantile", "adaptive_energy", "adaptive_fro" | Полный ранг (full) и четыре метода адаптивного ранга (adaptive_ratio, adaptive_quantile, adaptive_energy, adaptive_fro). |
algorithm | КОМБО | Да | svd_lowrank | "svd_linalg", "svd_lowrank" | Выбор алгоритма для сингулярного разложения (SVD). svd_linalg точнее, но медленнее, svd_lowrank быстрее, но приблизительный. |
output_dtype | КОМБО | Да | fp16 | "fp16", "bf16", "fp32" | Точность сохранения извлеченных весов LoRA: fp16, bf16 или fp32. |
filename_prefix | СТРОКА | Да | loras/ComfyUI_extracted_lora | - | Задает путь сохранения и префикс имени выходного файла LoRA. По умолчанию сохраняется в каталоге loras/. |
rank | ЦЕЛОЕ | Да | 64 | 1 - 4096 (шаг: 1) | Ранг, используемый для стандартного LoRA, или максимальный предел ранга для адаптивных методов. |
lowrank_iters | ЦЕЛОЕ | Да | 7 | 1 - 100 (шаг: 1) | Количество итераций подпространства для алгоритма низкорангового SVD. |
bias_diff | БУЛЕВО | Да | истина | - | Определяет, включать ли разницу параметров смещения (bias) модели при извлечении LoRA. |
adaptive_param | ПЛАВАЮЩИЙ | Да | 0.15 | 0.0 - 1.0 (шаг: 0.01) | Для режима ratio — это отношение к максимальному сингулярному значению. Для режима quantile — это квантиль сингулярных значений. Для режима fro — это коэффициент сохранения нормы Фробениуса. |
clamp_quantile | БУЛЕВО | Да | ложь | - | Управляет обрезкой сингулярных значений в режиме адаптивного квантования для повышения численной устойчивости. |
Сценарии использования
Типичный сценарий использования: когда пользователь выполняет персонализированное дообучение модели Stable Diffusion с помощью таких методов, как Dreambooth. После дообучения пользователь может подключить полную дообученную модель и оригинальную неизмененную базовую модель к двум входным портам узла. Настроив параметры извлечения, можно сгенерировать легковесный файл LoRA для быстрого применения того же стиля или концепции в других рабочих процессах.
Ссылка на исходный код узла LoraExtractKJ
Узел LoraExtractKJ взят из пакета узлов ComfyUI-KJNodes.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.