CheckpointLoaderKJ
이 노드는 표준 로딩 프로세스에 여러 가중치 정밀도(예: FP8, FP16, BF16) 및 계산 정밀도 제어 기능을 추가합니다.
Checkpoint Loader KJ
CheckpointLoaderKJ 노드는 표준 로딩 프로세스에 더해 다양한 가중치 정밀도(예: FP8, FP16, BF16) 및 계산 정밀도 제어 기능을 추가합니다.
CheckpointLoaderKJ는 체크포인트 파일에서 Stable Diffusion 모델을 로드하기 위한 실험적인 모델 로딩 노드입니다. 핵심 기능은 모델, CLIP 텍스트 인코더 및 VAE 디코더를 로드하고, 모델에 대한 특정 성능 최적화 및 정밀도 조정을 지원하는 것입니다.
노드 기능
이 노드는 표준 로딩 프로세스에 더해 다양한 가중치 정밀도(예: FP8, FP16, BF16) 및 계산 정밀도 제어 기능을 추가합니다. 주요 기술 메커니즘에는 계산 효율성을 높이기 위해 PyTorch의 선형 계층을 패치하는 데 CublasLinear을 선택적으로 사용하는 것과, 기본 어텐션 메커니즘을 대체하기 위해 SageAttention을 통합하는 것이 포함됩니다. 이러한 최적화는 특정 하드웨어(예: FP8을 지원하는 GPU)에서 추론 속도를 높이거나 VRAM 사용량을 줄이는 것을 목표로 합니다.
노드 파라미터 설명 - CheckpointLoaderKJ
연결 입력 (Inputs)
| 파라미터 이름 | 데이터 타입 | 필수 | 기본값 | 범위/옵션 | 설명 |
|---|---|---|---|---|---|
ckpt_name | FOLDER_PATHS | 예 | - | - | ckpt_name (입력 파라미터): 로드할 체크포인트(모델) 파일의 이름을 지정합니다. 이 파일은 ComfyUI가 지정한 모델 디렉토리에 위치해야 합니다. |
컨트롤 파라미터 (Parameters)
| 파라미터 이름 | 데이터 타입 | 필수 | 기본값 | 범위/옵션 | 설명 |
|---|---|---|---|---|---|
weight_dtype | COMBO | 예 | default | "default", "fp8_e4m3fn", "fp8_e4m3fn_fast", "fp8_e5m2", "fp16", "bf16", "fp32" | 메모리 사용량과 계산 정밀도를 제어합니다. |
compute_dtype | COMBO | 예 | default | "default", "fp16", "bf16", "fp32" | fp16, bf16, fp32. 순전파 과정의 수치 정밀도에 영향을 줍니다. |
patch_cublaslinear | BOOLEAN | 예 | False | - | cublas_ops 인자의 활성화 또는 비활성화 |
sage_attention | COMBO | 예 | false | false, true | Comfy 어텐션을 패치하여 sageattn을 사용합니다. |
enable_fp16_accumulation | BOOLEAN | 예 | False | - | torch.backends.cuda.matmul.allow_fp16_accumulation을 활성화합니다. 최소 PyTorch 버전 2.7.1이 필요합니다. |
출력 (Output)
| 파라미터 이름 | 데이터 타입 | 설명 |
|---|---|---|
| MODEL | MODEL | MODEL (출력 파라미터): 로드된 Stable Diffusion 메인 모델을 출력합니다. 이미지 디노이징 및 생성에 사용됩니다. |
| CLIP | CLIP | CLIP (출력 파라미터): CLIP 텍스트 인코더를 출력합니다. 텍스트 프롬프트를 모델이 이해할 수 있는 임베딩 벡터로 변환하는 데 사용됩니다. |
| VAE | VAE | VAE (출력 파라미터): 변분 자동 인코더를 출력합니다. 잠재 공간 표현을 픽셀 이미지로 인코딩 및 디코딩하는 역할을 합니다. |
사용 시나리오
속도와 품질의 균형을 맞추기 위해 모델 정밀도를 정밀하게 제어해야 하는 워크플로에서 이 노드는 매우 유용합니다. 예를 들어, 최적화된 모델을 배치 이미지 생성에 배포할 때, 사용자는 먼저 이 노드를 통해 FP8 정밀도로 모델을 로드한 다음, KSampler에 연결하여 효율적인 추론을 수행할 수 있습니다. 또한 SageAttention과 같은 다양한 어텐션 메커니즘이 생성 결과에 미치는 영향을 테스트하는 데에도 사용할 수 있습니다.
주의사항
이 노드는 "실험적"으로 표시되어 있으며, 기능이 불안정하거나 버전 업데이트에 따라 변경될 수 있습니다. enable_fp16_accumulation과 같은 기능을 활성화하려면 특정 버전의 PyTorch(2.7.1 이상)가 필요하며, FP8과 같은 일부 최적화는 하드웨어 지원이 필요합니다.
CheckpointLoaderKJ 노드 소스 코드 링크
CheckpointLoaderKJ 노드는 ComfyUI-KJNodes 노드 패키지에서 제공됩니다.
댓글
GitHub로 로그인하고 토론에 참여하세요.