Differential Transformer
Differential Transformer는 하나의 소프트맥스 어텐션 맵에서 다른 어텐션 맵을 빼 노이즈를 상쇄하고, 긴 컨텍스트 검색과 양자화 성능을 개선합니다.
Differential Transformer, 즉 DIFF Transformer는 트랜스포머 아키텍처로, 어텐션 헤드가 두 개의 소프트맥스 어텐션 맵을 계산한 뒤 한 맵에서 다른 맵을 빼서 두 맵이 관련 없는 컨텍스트에 공통으로 분산한 가중치를 상쇄합니다. Microsoft Research와 Tsinghua University의 Tianzhu Ye, Li Dong, Furu Wei 등은 2024년 10월 Differential Transformer라는 제목으로 이 아키텍처를 소개했으며, 해당 논문은 ICLR 2025에서 구두 발표 논문으로 선정되었습니다. 이 설계는 두 신호를 빼 공통 노이즈를 제거하는 차동 증폭기와 노이즈 캔슬링 헤드폰에서 착안했습니다. 언어 모델링에서 DIFF Transformer는 표준 트랜스포머와 동일한 손실을 달성하는 데 파라미터나 학습 토큰이 약 65%만 필요했습니다. 68억 파라미터 모델이 110억 파라미터 트랜스포머와 동등한 성능을 냈습니다.
차등 어텐션의 작동 방식#
표준 self-attention은 모든 토큰에 음수가 아닌 가중치를 부여하므로, 일부 가중치는 중요하지 않은 토큰에 항상 배분되며 저자들은 이를 어텐션 노이즈라고 부릅니다. Differential attention은 각 헤드의 쿼리 및 키 투영을 두 부분으로 나누고, 각 쌍에서 softmax 맵을 계산한 다음 값을 (map1 − λ × map2) × V로 결합합니다. 두 맵은 모두 동일한 무관한 토큰에 가중치를 부여하므로 이를 빼면 해당 가중치는 상쇄되고, map1만 부여하는 가중치는 유지됩니다. 각 맵의 합은 1이므로 결과의 각 행의 합은 1 − λ이며, 개별 가중치는 음수가 될 수 있습니다:
import torch
torch.manual_seed(0)
n, d, lam = 6, 8, 0.8 # 6 tokens, head size 8, lambda near the paper's 0.8 initialization
q1, k1, q2, k2 = torch.randn(4, n, d)
v = torch.randn(n, 2 * d) # values are twice as wide as each query-key pair
# Two ordinary softmax attention maps from separate query and key projections
map1 = torch.softmax(q1 @ k1.T / d**0.5, dim=-1)
map2 = torch.softmax(q2 @ k2.T / d**0.5, dim=-1)
# Subtracting cancels weight that both maps place on the same tokens
diff = map1 - lam * map2
out = diff @ v
print(f"Each row sums to {diff.sum(dim=-1)[0]:.2f}; {(diff < 0).sum().item()} of {n * n} weights are negative")Each row sums to 0.20; 13 of 36 weights are negative을 출력합니다. softmax 어텐션 맵에는 있을 수 없는 두 가지 속성입니다. 실제 모델에서 λ는 네 개의 작은 벡터를 통해 학습되며, 계층 l에 대해 0.8 − 0.6 × exp(−0.3 × (l − 1))에서 시작하므로 더 깊은 계층일수록 초기값이 0.8에 가까워집니다. 각 헤드의 출력은 논문에서 GroupNorm이라고 표기한 방식으로 각각 정규화된 다음, 표준 Transformer와 같은 크기의 그래디언트를 유지하기 위해 (초기화 시 1 − λ)만큼 스케일링됩니다. 모델은 헤드 수를 절반으로 줄이고 각 헤드의 값 너비를 두 배로 늘려 기준 모델과 파라미터 수를 일치시킵니다. 각 맵은 일반적인 softmax 어텐션이므로 구현에서는 flash attention 커널을 재사용하며, H100 GPU에서의 학습 처리량은 같은 크기의 Transformer보다 6%에서 12% 낮았습니다.
보고된 이점#
4K 토큰 컨텍스트 윈도우에서 바늘 6개와 질문 2개를 사용하는 건초 더미 속 바늘 테스트에서 DIFF Transformer는 표준 Transformer의 0.55에 비해 0.85점을 기록했습니다. 논문의 어텐션 분석에서는 집중도가 그 원인임을 확인했습니다. DIFF Transformer는 답변에 어텐션의 0.27~0.40을 할당한 반면, Transformer는 0.03~0.09를 할당했습니다. 또한 텍스트 요약과 질의응답에서 환각이 더 적었으며, 퓨샷 인컨텍스트 학습에서는 정확도가 더 높고 예시 순서에 덜 민감했습니다.
활성화 이상치도 줄었습니다. 가장 큰 어텐션 로짓은 표준 Transformer의 318.0에 비해 38.8이었고, 가장 큰 은닉 상태 활성화는 3,609에 비해 1,688이었습니다. 어텐션 로짓을 4비트로 양자화했을 때 표준 Transformer를 6비트로 양자화한 경우와 같은 정확도를 기록했으며, 4비트 Transformer보다 정확도가 약 25% 높았습니다.
이 결과는 모델 양자화에 중요합니다. 소수의 극단적인 활성화 값이 다른 모든 값이 공유해야 하는 범위를 결정하기 때문입니다. 비전 모델에도 같은 원리가 적용됩니다. Ultralytics YOLO26을 quantize=8으로 내보낼 때 내보내기 도구는 data 데이터셋의 이미지로 활성화 범위를 보정하며, 해당 이미지를 최소 300장 사용할 것을 권장합니다. 한편 quantize="w8a16"는 LiteRT, Core ML, QNN 내보내기에서 가중치는 8비트, 활성화는 16비트로 유지합니다.
DIFF Transformer와 관련 용어 비교#
- Diffusion Transformer (DiT): 이미지 및 비디오 생성용 확산 모델에서 U-Net을 대체하는 Transformer입니다.
- 차등 프라이버시: 학습 데이터에 대한 수학적 프라이버시 보장입니다.
- 희소 어텐션: 토큰 쌍 중 고정된 일부만 점수를 계산하고 나머지 모든 가중치는 사전에 0으로 설정합니다.
- 선형 가변 차동 변압기: 선형 변위를 측정하는 전기 센서입니다.










