KJNodes/experimentalgenerated

Ideogram4 최적화 KJ(Ideogram4OptimizationsKJ)

실험적 기능이며 모델 출력을 변경할 수 있습니다!! Ideogram4 forward의 피크 VRAM을 줄입니다. chunk_ffn은 SwiGLU 활성화를 토큰 차원으로 분할하고, bf16_rope는 RoPE를 fp32로 업캐스팅하지 않고 모델 dtype으로 적용합니다. 두 최적화 모두 블록에서 가장 큰 두 개의 임시 텐서를 대상으로 합니다.

Ideogram4 Optimizations KJ

model
model
chunk_ffn
ffn_chunks
2
ffn_seq_threshold
1024
bf16_rope
KJNodes

이 노드는 Ideogram4 모델 forward pass에 두 가지 실험적인 VRAM 절감 최적화를 적용합니다. "KJNodes/experimental" 카테고리에 속하며 모델 출력을 변경할 수 있습니다 — 피크 VRAM이 제한 요소일 때만 사용하고 출력 품질을 확인한 후에 사용하세요.

설명

Ideogram4 최적화 KJ 노드는 각 트랜스포머 블록에서 가장 큰 두 개의 임시 텐서(SwiGLU 활성화 및 RoPE 계산)를 대상으로 Ideogram4 모델을 패치하여 추론 중 피크 GPU 메모리를 줄입니다. 두 최적화는 개별 논리값 및 정수 입력으로 제어되므로 메모리 절감과 계산 오버헤드 간의 세밀한 조정이 가능합니다.

입력

  • model (MODEL, 필수) – 최적화를 적용할 Ideogram4 베이스 모델입니다.

  • chunk_ffn (BOOLEAN, 기본값 True) – 활성화되면 피드포워드(SwiGLU) 활성화가 토큰 시퀀스 차원을 따라 분할되어 중간 텐서 크기가 (B, L, hidden) 대신 (B, chunk_size, hidden)으로 제한됩니다. 이는 피크 메모리를 줄이지만 약간의 계산 증가가 발생합니다.

  • ffn_chunks (INT, 기본값 2, 범위 1–64, 간격 1) – 피드포워드를 분할할 시퀀스 청크 수입니다. 값이 높을수록 피크 메모리는 낮아지지만 오버헤드(더 많은 커널 실행)가 증가합니다. 값이 1이면 청크가 사실상 비활성화됩니다. 2부터 시작하고 VRAM이 여전히 부족하면 값을 높이세요.

  • ffn_seq_threshold (INT, 기본값 1024, 범위 256–65536, 간격 256) – 입력 토큰 시퀀스 길이가 이 값을 초과할 때만 청크가 적용됩니다. 짧은 시퀀스(예: 1024 토큰 미만)의 경우 기준 메모리가 이미 충분히 작아 청크가 불필요한 오버헤드를 추가합니다. 일반적인 생성 길이에 따라 이 임계값을 설정하세요.

  • bf16_rope (BOOLEAN, 기본값 True) – 활성화되면 Rotary Position Embedding(RoPE)이 float32로 업캐스팅되는 대신 모델의 작업 dtype(일반적으로 bfloat16 또는 float16)으로 적용됩니다. 이는 RoPE 활성화 메모리를 대략 절반으로 줄이고 Hugging Face 참조 구현에서 사용되는 정밀도와 일치합니다. 출력 품질은 기본 fp32 RoPE 경로와 약간 다를 수 있습니다.

출력

  • MODEL – 선택한 최적화가 패치된 동일한 모델입니다. ComfyUI 워크플로에서 원본 패치되지 않은 모델을 대체하여 사용하도록 설계되었습니다.

사용 참고 사항

  • 두 최적화 모두 실험적입니다. 프로덕션 워크플로에 배포하기 전에 항상 출력 품질을 테스트하고 패치되지 않은 모델과 비교하세요.
  • chunk_ffnbf16_rope 최적화는 독립적입니다. 필요한 것만 활성화하세요. 최대 메모리 절감을 위해 둘 다 활성화하세요.
  • chunk_ffn을 사용할 때는 기본 ffn_chunks = 2부터 시작하고 VRAM 오버플로우가 지속되는 경우에만 증가시키세요. 청크가 많을수록 오버헤드가 커집니다.
  • ffn_seq_threshold는 워크플로가 매우 짧은 시퀀스와 매우 긴 시퀀스(예: 이미지 조건화와 전체 이미지 생성)를 모두 처리할 때 가장 유용합니다. 짧은 프롬프트에서 오버헤드를 피하기 위해 조정하세요.
  • 이러한 최적화는 Ideogram4 전용으로 설계되었습니다. 다른 모델 아키텍처에서는 효과가 없으며 적용 시 오류가 발생할 수 있습니다. 입력 모델이 Ideogram4 변형인지 확인하세요.

댓글

GitHub로 로그인하고 토론에 참여하세요.

댓글을 불러오는 중…
Ideogram4 최적화 KJ (Ideogram4OptimizationsKJ) - ComfyUI-KJNodes | ComfyUI Wiki