TeaCache 가속화
TeaCache 가속화 (TeaCache Acceleration)
이 페이지는 시간 유사도 기반 확산 가속화를 위한 TeaCache를 구성하는 방법을 설명해요. TeaCache는 연속된 디노이징 스텝이 충분히 유사해서 계산 자체를 건너뛸 때를 감지해 확산 추론을 가속화해요. 이 문서는 SGLang에서 사용할 수 있는 두 가지 캐싱 전략 중 하나예요.
출처: 문서
본문
Note: 이 문서는 SGLang에서 사용할 수 있는 두 가지 캐싱 전략 중 하나예요. 모든 캐싱 옵션에 대한 개요는 caching 문서를 참고해 주세요.
TeaCache(시간 유사도 기반 캐싱, Temporal similarity-based caching)는 연속된 디노이징 스텝이 충분히 유사해서 계산을 완전히 건너뛸 수 있을 때를 감지해 확산 추론을 가속화해요.
개요 (Overview)
TeaCache는 다음과 같이 동작해요:
- 연속된 타임스텝 간 변조된 입력(modulated inputs)의 L1 거리 추적
- 스텝에 걸쳐 재조정된 L1 거리 누적
- 누적 거리가 임계값보다 낮으면 캐시된 잔차(cached residual) 재사용
- 지원되는 CFG 모델 패밀리를 위해 별도의 양/음 캐시(positive/negative caches) 사용
동작 방식 (How It Works)
L1 거리 추적 (L1 Distance Tracking)
각 디노이징 스텝에서 TeaCache는 현재와 이전 변조 입력 간의 상대 L1 거리를 계산해요:
rel_l1 = |current - previous|.mean() / |previous|.mean()
이 거리는 다항 계수(polynomial coefficients)로 재조정되고 누적돼요:
accumulated += poly(coefficients)(rel_l1)
캐시 결정 (Cache Decision)
accumulated >= threshold인 경우: 계산 강제 실행, 누산기 재설정accumulated < threshold인 경우: 계산 건너뛰기, 캐시된 잔차 사용
CFG 지원 (CFG Support)
CFG 캐시 분리를 지원하는 모델의 경우 TeaCache는 양(positive)/음(negative) 분기에 대해 별도의 캐시를 유지해요:
previous_modulated_input/previous_residual— 양 분기용previous_modulated_input_negative/previous_residual_negative— 음 분기용
CFG 분리를 지원하지 않는 모델의 경우 CFG가 활성화되면 TeaCache가 자동으로 비활성화돼요.
구성 (Configuration)
TeaCache는 샘플링 파라미터의 TeaCacheParams로 구성돼요:
from sglang.multimodal_gen.configs.sample.teacache import TeaCacheParams
params = TeaCacheParams(
teacache_thresh=0.1, # Threshold for accumulated L1 distance
coefficients=[1.0, 0.0, 0.0], # Polynomial coefficients for L1 rescaling
)
파라미터 (Parameters)
| Parameter | Type | Description |
|---|---|---|
teacache_thresh |
float | 누적 L1 거리 임계값. 높을수록 더 많이 캐싱해 더 빠르지만 품질이 낮아질 수 있어요. |
coefficients |
list[float] | L1 재조정용 다항 계수. 모델별 튜닝이 필요해요. |
모델별 구성 (Model-Specific Configurations)
모델마다 최적 구성이 다를 수 있어요. 계수(coefficients)는 일반적으로 속도와 품질의 균형을 맞추기 위해 모델별로 튜닝돼요.
지원 모델 (Supported Models)
모델 패밀리별 TeaCache 지원 상태:
| Model Family | CFG Cache Separation | Notes |
|---|---|---|
| Wan2.1 | Yes | 전체 지원 |
| Wan2.2 | Yes | 계수가 아직 보정되지 않음. TeaCache를 활성화하면 수용되지만 현재는 no-op |
| Z-Image | Yes | 전체 지원 |
| HunyuanVideo | No | 아직 미지원 |
| Flux | No | 지원 예정 |
| Qwen | No | 지원 예정 |