TL;DR
메커니즘 해석 연구는 거부 행동이 residual stream의 일관된 방향으로 나타난다고 규정했고, 이 방향을 활성화 평균 차이로 추출한 뒤 가중치에서 투영을 제거하면 거부를 억제할 수 있다. 단순 투영은 가중치 노름을 감소시켜 계층을 따라 진폭이 줄어들어 벤치마크 성능이 하락하므로, 각 행을 거부 방향에 직교화한 다음 원래 L2 노름으로 재스케일링하는 norm-preserving biprojection이 필요하다. 저자는 이 방식을 Qwen3.6-35B-A3B(하이브리드 MoE, 256 experts 등)에 적용하면서 하이브리드 어텐션의 프로젝션 이름 차이와 전문가용 3D 텐서에 대한 per-expert einsum 처리 같은 구현적 함정을 해결했고, 다양하게 구성한 7356개 프롬프트 데이터셋을 사용해 보류된 테스트에서 거부율을 0%로 달성함과 동시에 수학·코드 벤치마크를 보존했다. 다만 구현 시 누락되는 층 식별과 전문가 텐서 연산 실수가 재현 가능한 결과를 방해하므로 투명한 코드와 데이터 공개가 중요하다고 결론지었다.
실용적 조언
- 가중치에서 특정 방향을 제거할 때는 단순한 투영만으로 끝내면 안 된다. 투영은 벡터의 L2 노름을 감소시키므로 레이어를 거쳐 누적된 진폭 저하로 모델 성능이 하락한다. 따라서 각 행을 직교화한 뒤 원래 L2 노름으로 재스케일링하는 norm-preserving 절차를 반드시 적용해야 한다.
- 하이브리드 아키텍처에서는 레이어 이름과 구조를 면밀히 확인해야 한다. self_attn.o_proj와 linear_attn.out_proj처럼 서로 다른 이름으로 동일 목적의 가중치가 존재할 수 있으므로 모든 관련 프로젝션을 누락 없이 처리해야 한다. 구현 스크립트가 특정 이름만 대상으로 삼는지 점검하는 것이 필수적이다.
- MoE 전문가 텐서에 대해서는 per-expert 연산을 보장하는 텐서 연산을 사용해야 한다. (n_experts, d_hidden, d_model) 형태에서 전역 2D 처리를 하면 일부 전문가 가중치가 수정되지 않는다. authors가 제시한 einsum 식처럼 전문가 축을 유지하는 연산으로 각 전문가에 대해 독립적으로 투영을 적용해야 한다.
- 거부 방향을 추출할 유해 데이터셋은 양보다 표현 다양성이 중요하다. 다양한 카테고리와 프롬프트 스타일을 포함하면 특정 문체 패턴이 아닌 일반적 거부 메커니즘을 포착할 확률이 높아진다. 저자의 경우 7356개, 35개 카테고리, 10개 스타일로 구성해 일반화된 방향을 얻었다.
섹션별 상세
용어 해설
- 레지듀얼 스트림(Residual Stream)
- — Transformer 내부에서 각 레이어의 출력이 누적되어 다음 연산에 더해지는 경로로, 특정 행위(예: 거부 행동)는 이 스트림의 어느 한 방향으로 집약될 수 있다. 해당 방향을 찾으면 활성화에서 그 성분을 제거하거나 가중치에서 투영을 제거해 동작을 바꿀 수 있다. 본 글에서는 거부 행동이 residual stream의 기하학적으로 일관된 방향으로 나타난다고 전제한다.
- Mixture of Experts (MoE)(Mixture of Experts)
- — 여러 전문가(expert) 서브모듈을 라우팅으로 선택해 각 토큰에 서로 다른 가중치를 적용하는 아키텍처로, 대규모 모델에서 파라미터 효율을 높인다. MoE는 전문가별 3차원 텐서를 사용하므로 가중치 조작 시 전통적인 2차원 행렬 연산과 다른 처리가 필요하다. 본 사례에서는 256개의 전문가와 공유 전문가가 섞인 하이브리드 MoE 모델에서 구현 난점이 집중적으로 발생했다.
- 바이프로젝션(Biprojection)
- — 가중치 벡터에서 특정 방향 성분을 제거한 뒤 원래 벡터의 L2 노름을 다시 맞추는 기법으로, 투영으로 인한 노름 소실을 보정한다. 구체적으로 각 가중치 행을 거부 방향에 대해 직교화한 다음 원래 L2 노름으로 재스케일링한다. 이 절차는 투영만으로 발생하는 계층별 진폭 감소로 인한 성능 저하를 방지한다.
- 활성화 캐시(Activation Cache)
- — 모델을 구동하면서 특정 입력군에 대해 수집한 중간 활성화 값들의 집합으로, 서로 다른 입력 분류(예: 해로운·무해한)에 대한 평균 활성화를 비교해 결정적 방향을 추출하는 데 사용된다. 본문에서는 해로운·무해한 캐시의 평균 차이를 거부 방향 추출의 원천으로 활용했다. 캐시 구성의 다양성은 추출된 방향의 일반화 성능에 직접적 영향을 미친다.
- einsum 연산(einsum)
- — 텐서의 축별 합성과 재배열을 한줄 표기로 표현하는 연산으로, 전문가 차원이 포함된 3D 텐서에 대하여 특정 축에 걸친 행렬 곱을 올바르게 적용할 때 사용된다. MoE의 (n_experts, d_hidden, d_model) 텐서에 대해 per-expert 투영을 적용하려면 적절한 einsum 식을 써야만 각 전문가 서브행렬에 독립적으로 연산이 수행된다. 글에서는 ij,ejk->eik 형태의 einsum가 필요한 사례를 지적했다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.