NABLA Attention KJ(NABLA_AttentionKJ)
이 노드는 모델의 어텐션 계산 함수를 덮어쓰는 방식으로 기능을 구현하며, 구체적으로 NABLA 희소 어텐션 알고리즘을 사용합니다.
NABLA Attention KJ
NABLA Attention KJ 노드는 모델의 어텐션 계산 함수를 덮어쓰는 방식으로 기능을 구현하며, 구체적으로 NABLA 희소 어텐션 알고리즘을 사용합니다.
NABLA Attention KJ는 비디오 생성 모델의 어텐션 메커니즘을 수정하기 위한 실험적 노드입니다. 핵심 기능은 모델에 NABLA 희소 어텐션을 적용하여 비디오 생성 과정의 메모리 사용량과 계산 효율성을 최적화하는 것입니다.
노드 기능
이 노드는 모델의 어텐션 계산 함수를 덮어쓰는 방식으로 기능을 구현하며, 구체적으로 NABLA 희소 어텐션 알고리즘을 사용합니다. flex_attention 모듈을 지원하는 최신 버전의 PyTorch가 필요하며, 현재는 주로 Kadinsky5 비디오 모델에 맞춰져 있습니다. 내부 메커니즘은 제공된 잠재 공간 형태와 창 파라미터에 따라 동적으로 희소 어텐션 마스크를 생성하여 어텐션 계산 범위를 제한합니다.
노드 파라미터 설명 - NABLA Attention KJ
연결 입력 (Inputs)
| 파라미터 이름 | 데이터 타입 | 필수 | 기본값 | 범위/옵션 | 설명 |
|---|---|---|---|---|---|
model | MODEL | 예 | - | - | 어텐션 메커니즘이 수정될 기본 모델입니다. 이 파라미터는 표준 생성 모델을 입력받으며, 노드는 해당 모델의 내부 어텐션 계산 방식을 덮어씁니다. |
latent | LATENT | 예 | - | - | 잠재 공간 형태를 얻기 위해서만 사용됩니다. |
컨트롤 파라미터 (Parameters)
| 파라미터 이름 | 데이터 타입 | 필수 | 기본값 | 범위/옵션 | 설명 |
|---|---|---|---|---|---|
window_time | 정수 | 예 | 11 | ≥ 1 | 시간적 어텐션 창 크기 |
window_width | 정수 | 예 | 3 | ≥ 1 | 공간적 어텐션 창 너비 |
window_height | 정수 | 예 | 3 | ≥ 1 | 공간적 어텐션 창 높이 |
sparsity | 실수 | 예 | 0.9 | 0.0 – 1.0 (간격: 0.01) | 어텐션 희소 정도를 제어하는 파라미터로, 범위는 0.0에서 1.0까지이며 간격은 0.01입니다. 값이 높을수록 어텐션이 더 희소해지며, 계산 시 더 많은 연관성을 무시합니다. |
torch_compile | 논리값 | 예 | True | - | 합리적인 메모리 사용을 위해 대부분 필요할 것입니다. |
출력 (Outputs)
| 파라미터 이름 | 데이터 타입 | 설명 |
|---|---|---|
| MODEL | MODEL | NABLA 희소 어텐션이 적용된 새로운 모델입니다. 이 출력 모델은 후속 이미지 또는 비디오 생성 단계에 사용할 수 있습니다. |
사용 시나리오
일관된 비디오 시퀀스를 생성하는 워크플로에서, 이 노드를 모델 로드 노드 이후에 삽입할 수 있습니다. 시간 창과 공간 창의 크기를 조정함으로써, 모델이 비디오 프레임을 생성할 때 얼마나 많은 이전 프레임과 각 프레임 내의 어느 정도 영역에 주의를 기울일지 제어할 수 있습니다. 이를 통해 시간적 일관성을 보장하면서 계산 부담을 줄일 수 있습니다.
주의사항
이 노드는 실험적 노드로, 안정성과 호환성이 제한될 수 있습니다. 최신 버전의 PyTorch가 명시적으로 필요하며, 현재 Kadinsky5 모델과의 동작만 확인되었습니다. 다른 모델에서 사용 시 오류나 예상치 못한 결과가 발생할 수 있습니다.
NABLA Attention KJ 노드 소스 코드 링크
NABLA Attention KJ 노드는 ComfyUI-KJNodes 노드 패키지에서 가져왔습니다.
댓글
GitHub로 로그인하고 토론에 참여하세요.