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 | 예 | - | - | LoRA를 추출할 파인튜닝된 모델 또는 클립입니다. |
original | MULTITYPE | 예 | - | - | 차이를 비교할 원본 베이스 모델 또는 클립입니다. |
컨트롤 매개변수 (Parameters)
| 매개변수 이름 | 데이터 타입 | 필수 | 기본값 | 범위/옵션 | 설명 |
|---|---|---|---|---|---|
lora_type | COMBO | 예 | standard | "standard", "full", "adaptive_ratio", "adaptive_quantile", "adaptive_energy", "adaptive_fro" | 전체 랭크(full) 및 네 가지 적응형 랭크 방법(adaptive_ratio, adaptive_quantile, adaptive_energy, adaptive_fro) |
algorithm | COMBO | 예 | svd_lowrank | "svd_linalg", "svd_lowrank" | 특이값 분해(SVD)에 사용할 알고리즘을 선택합니다. svd_linalg은 더 정확하지만 느리고, svd_lowrank는 더 빠르지만 근사 계산입니다. |
output_dtype | COMBO | 예 | fp16 | "fp16", "bf16", "fp32" | 추출된 LoRA 가중치를 저장할 정밀도: fp16, bf16 또는 fp32. |
filename_prefix | STRING | 예 | loras/ComfyUI_extracted_lora | - | 출력 LoRA 파일의 저장 경로와 이름 접두사를 설정합니다. 기본적으로 loras/ 디렉토리에 저장됩니다. |
rank | INT | 예 | 64 | 1 - 4096 (단계: 1) | 표준 LoRA에 사용할 랭크 또는 적응형 방법의 최대 랭크 제한입니다. |
lowrank_iters | INT | 예 | 7 | 1 - 100 (단계: 1) | lowrank SVD 알고리즘을 위한 부분공간 반복 횟수입니다. |
bias_diff | BOOLEAN | 예 | True | - | LoRA 추출 시 모델의 편향(bias) 매개변수 차이를 포함할지 여부입니다. |
adaptive_param | FLOAT | 예 | 0.15 | 0.0 - 1.0 (단계: 0.01) | ratio 모드의 경우, 이는 최대 특이값의 비율입니다. quantile 모드의 경우, 이는 특이값의 분위수입니다. fro 모드의 경우, 이는 프로베니우스 놈(Frobenius norm) 유지 비율입니다. |
clamp_quantile | BOOLEAN | 예 | false | - | 적응형 분위수 모드에서 수치적 안정성을 높이기 위해 특이값을 자를지 여부를 제어합니다. |
사용 시나리오
일반적인 사용 시나리오는 사용자가 Dreambooth 등의 방법으로 Stable Diffusion 모델을 개인화 파인튜닝한 후입니다. 파인튜닝된 전체 모델과 수정되지 않은 원본 베이스 모델을 각각 노드의 두 입력 포트에 연결하고, 추출 매개변수를 구성하여 경량 LoRA 파일을 생성할 수 있습니다. 이 파일은 다른 워크플로에서 동일한 스타일이나 개념을 빠르게 적용하는 데 사용됩니다.
LoraExtractKJ 노드 소스 코드 링크
LoraExtractKJ 노드는 ComfyUI-KJNodes 노드 패키지에서 제공됩니다.
댓글
GitHub로 로그인하고 토론에 참여하세요.