TARA: MiniMax H3 참조를 위한 네이티브 시간 정렬

ComfyUI Wikinews

ComfyUI-BFSNodes에 TARA가 추가되었습니다. MiniMax H3의 모션 참조를 네이티브로 유지하고 어텐션을 일치하는 가이드 시점 쪽으로 편향시키는 실험적 패치입니다.

TARA(Temporally Aligned Reference Attention)가 2026년 10월 23일 ComfyUI-BFSNodes의 메인 브랜치에 병합되었습니다. 옵트인 노드와 Shot Planner 모드로 구성되며, 가이드를 Add Guide latent로 공급하는 대신 MiniMax H3의 드라이빙 비디오를 네이티브 참조 채널에 유지하고 참조 어텐션에 부드러운 시간 편향을 추가합니다. 팩 버전은 1.115.33이며 이 기능은 여전히 실험적으로 표시되어 있습니다.

MiniMax H3에서 모션 전송은 보통 드라이빙 클립의 latent를 가이드로 주입하는 방식으로 동작합니다. Add Guide를 사용하거나 같은 latent 공간의 마스크된 latent를 쓰는 것입니다. TARA는 다른 길을 택합니다. 클립은 MiniMax H3 Reference to Video에 네이티브 <Video N> 참조로 들어가고, 그 시간적 RoPE 원점은 출력 클록에 정렬되며, 각 출력 시점에서 먼 가이드 시점으로 향하는 어텐션에는 페널티가 부과됩니다. 저장소의 표현에 따르면 이 모드는 "네이티브 비디오 참조를 유지하고, 그 시간적 RoPE 좌표를 대상과 정렬하며, 먼 가이드 시간을 참조하는 대상 쿼리에 부드러운 페널티를 준다"고 합니다.

패치 자체를 위해 학습되는 것은 없습니다. 학습된 가중치를 추가하지 않고 자체 LoRA도 로드하지 않습니다. 시간적 선호는 샘플링 시점에 계산되며, 선택된 모션 비디오를 참조하는 출력 쿼리에만 영향을 줍니다. 참조 이미지는 네이티브 좌표를 유지하고, 텍스트, 참조 오디오, 대상 자체의 셀프 어텐션은 정상 규칙을 그대로 따릅니다.

시간 규칙

출력 비디오 쿼리에서 선택된 모션 비디오의 키로 향하는 엣지만 수정됩니다:

dt = abs(output_time - guide_time)
penalty(dt) = min(strength * (max(dt - window, 0) / falloff)^2, cap)
score = dot(Q, K) / sqrt(head_dim) - penalty(dt)

기본값은 자유 구간 0.20초, 폴오프 0.25초, 강도 2.0, 상한 6.0이며, 노드에서 window, falloff, strength, cap으로 노출됩니다. 자유 구간 안에서는 페널티가 전혀 없습니다. 구간을 벗어나면 페널티가 상한에 도달할 때까지 2차적으로 증가하므로, 먼 가이드 프레임은 마스킹되는 대신 작은 가중치로 계속 사용 가능합니다. 기본값 기준으로 국소 보정은 약 0.633초에서 0이 됩니다.

시간 차이페널티어텐션 계수
0.00 s0.001.000000
0.40 s1.280.278037
0.80 s6.000.002479

한 가지 주의 사항이 명확히 문서화되어 있습니다. strength를 0으로 설정하면 편향은 제거되지만 RoPE 정렬은 제거되지 않으므로, 진정한 "TARA off" 비교를 하려면 노드를 바이패스하고 원본 모델을 guider와 scheduler 양쪽에 연결해야 합니다.

연결 방법

독립 노드는 BFS MiniMax H3 TARA - Native Temporal Alignment (Experimental) 이며, MODEL 경로에서 LoRA 로딩 후, guider 앞에 배치합니다. 모션 클립은 일반적인 네이티브 <Video N> 참조이고, motion_video_index가 어느 것이 모션을 제공할지 선택합니다. 이미지 번호와 비디오 번호는 서로 독립적입니다.

저장소는 양쪽 모두 24 fps와 일치하는 프레임 윈도우를 요구하며(107 프레임도 유효한 수치입니다), 두 번째 시간 패치를 겹쳐 쌓지 말 것을 경고하고, Add Guide, 첫 프레임 가이드, VSA, SLA, 알 수 없는 어텐션 또는 블록 교체가 MODEL 경로에 들어오지 않도록 유지합니다. 일반 생성 마스크는 여전히 허용되는데, 마스크는 시간 가이드를 생성하지 않기 때문입니다. CFG 경로에서는 패치된 모델이 평가하는 모든 조건화 브랜치가 모션 참조를 유지해야 합니다.

Shot Planner(BFS Shot H3 Conditioning) 안에서는 같은 동작이 드롭다운 항목 하나로 제공됩니다: guide_mode = TARA - Native Temporal Alignment (experimental). 조건화 노드는 패치된 모델을 반환하며, 현재 샷의 패킹된 시간 그리드가 샘플링 대상이 됩니다.

세 가지 백엔드

  • Flash Partitions(1.115.11부터 기본값)는 규칙을 유지하되 네이티브 CUDA FlashAttention과 log-sum-exp 출력을 통해 평가하며, 조밀한 편향 텐서나 torch.compile 커널을 만드는 대신 음이 아닌 세 가지 기여를 병합합니다. CUDA FP16/BF16과 PyTorch의 FlashAttention-with-LSE 기본 입력이 필요합니다.
  • Comfy Kitchen 원패스 커널(1.115.16 이상)은 규칙을 조밀한 INT8 및 sol-attn 커널에 융합하고 프레임별 어텐션 루프를 제거합니다. 사전 빌드된 라이브러리가 Linux의 SM80, SM86, SM89, SM90, SM100, SM120용으로 제공되며, SM86, SM89, SM120용 Windows DLL도 있습니다. PyTorch가 12.x에서 실행되더라도 드라이버는 CUDA 13을 지원해야 합니다. 1.115.17부터 Linux SM120에서는 최초 사용 시 설정이 자동으로 이루어지며, 샘플링 시점의 로그 라인이 융합 경로가 실제로 실행되었는지 알려줍니다.
  • sol-attn 호환성(1.115.14)은 문서화된 제한과 함께 지원되며, 공식 모델 어텐션 백엔드 노드는 1.115.13부터 준수됩니다.

수치가 말하는 것

저장소는 하나의 독립 마이크로벤치마크와 한 사용자의 전체 워크플로 로그를 분리하고 둘 다 표시합니다. RTX PRO 6000 Blackwell에서 107,126 토큰, 8개 헤드, BF16 기준:

백엔드어텐션 호출
네이티브 FlashAttention0.327 s
Flash Partitions0.422 s
원본 시간 FlexAttention0.628 s

이는 해당 형상에서 원본 시간 백엔드 대비 약 1.5배이며, 학습 프로세스가 실행 중인 상태에서 H3의 56개가 아닌 8개 헤드로 측정한 값이므로 전체 모델 속도 주장은 아닙니다. 한 사용자의 RTX 5090에서 544×928, 360 프레임 실행은 가이드 스케일 1.0에서 첫 전체 모델 평가에 179.18초(가이드 행 52,751개), 스케일 0.5에서 54.45초(11,984행)를 보고했으며 두 번째 평가는 47.19초였습니다. 구형 FlexAttention 경로는 초기화를 포함한 첫 스텝에서 603.40초로 기록되었는데, 문서는 이를 워밍업된 어텐션 호출과 비교할 수 없다고 설명합니다.

여전히 필요한 것

TARA는 모션 전송 LoRA를 대체하지 않으며, 참조가 조건화되는 방식을 바꿉니다. 문서는 이 노드를 ai-toolkit의 feat/h3-native-temporal-motion 브랜치로 학습된 체크포인트(native_temporal_v1)와 함께 사용하도록 안내하지만, 저장소의 공개 비교에서는 Add Guide용으로 학습된 step-10500 LoRA를 사용합니다. 시간 패치 아래에서 그 LoRA는 원본의 연기를 따르고 참조 캐릭터의 의상을 유지하는데, 작성자는 이를 보장이 아닌 실험적 관찰로 기록합니다. step 750의 새로운 네이티브 시간 체크포인트는 문서에서 정체성 유지가 더 약하다고 언급되며 다운로드로 공개되지 않았으므로, 아직 일치하는 공개 어댑터는 없습니다.

Banodoco Discord에서 한 사용자가 공개 당일 RTX 4090과 H100에서 노드를 시험했고 두 카드 모두에서 실행되었다고 보고했으며, 해당 하드웨어에서는 Kitchen 경로가 flash partitions보다 약간 느렸습니다.

저장소의 비교 비디오에서 가져온 동기화된 6개 열

6열 비교에서 가져온 한 프레임. 왼쪽부터: 원본 가이드, TARA를 적용한 step-10500 LoRA(가이드 스케일 1.0), 같은 LoRA에 TARA 0.5, 같은 LoRA에 Add Guide latent, 시간 패치 없는 네이티브 참조, 네이티브 참조를 사용한 베이스 모델. 시간 관련 열은 비디오에서 NEW로 표시됩니다.

저장소에서 내보낸 15초 전체 나란히 비교 영상으로, 6개 열이 동시에 재생됩니다.

네 가지 제어값 조정

이 팩에는 애니메이션 파라미터 가이드도 포함되어 있으며, 슬라이더가 동일한 규칙을 애니메이트하는 오프라인 HTML 버전이 있습니다. 권장 사항은 기본값에서 시작하고 시드, LoRA, 프롬프트, 소스, 출력을 고정한 채 한 번에 하나의 제어값만 변경하는 것입니다. 모션 드리프트는 우선 타임라인 문제입니다. 잘못된 <Video 1>, 프레임 레이트 불일치, 어긋난 프레임 윈도우는 더 강한 편향으로 고칠 수 없습니다. 정체성 드리프트는 시간 제어값이 아니라 참조 할당, LoRA, 이미지 조건화를 가리킵니다.

네 가지 TARA 제어값과 그것이 시간 가중치 곡선을 형성하는 방식

저장소의 파라미터 가이드에 나온 자유 구간, 폴오프, 강도, 상한.

제한 사항

  • 이 기능은 실험적이며 옵트인입니다. Planner의 기본값은 여전히 Add Guide이고, 문서는 전체 시각적 품질 검증이 아직 완료되지 않았다고 밝힙니다.
  • 공개된 데모는 정성적입니다. 열 간 시드는 동일하지만 모든 생성 설정이 기록된 것은 아니며, 요청된 배경 교체는 부분적으로만 이루어집니다.
  • 두 클립 모두 일치하는 시간 그리드가 필요하며, 이 정책은 조밀한 2차 어텐션 연산을 그대로 유지합니다.
  • 지금까지의 검증은 CPU 수학 및 라우팅 테스트와 사용자가 보고한 RTX 5090 평가입니다. 가이드 오디오는 네이티브로 패킹되지만 시간적 편향은 적용되지 않습니다.

사용 가능 여부

ComfyUI-BFSNodes는 Comfy 레지스트리에 bfsnodes로 공개되어 있으며 ComfyUI Manager를 통해 설치하거나 custom_nodes/에 클론할 수 있습니다. TARA는 네이티브 MiniMax H3 노드와 일반 H3 생성에 사용되는 Comfy-Org/MiniMax-H3 가중치 위에서 동작합니다.

전체 조건화 규약은 H3_NATIVE_TEMPORAL.md에, 백엔드 유도와 타이밍 표는 H3_FLASH_PARTITIONS.md에, 이 방법을 뒷받침하는 연구 브랜치는 alisson-anjos/ai-toolkit에 있습니다. 이 노드 팩 외부에서 사용하려면 수동 설치 가이드가 있습니다.

댓글

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

댓글을 불러오는 중…
TARA: MiniMax H3 참조를 위한 네이티브 시간 정렬 | ComfyUI Wiki