인공지능 모델의 내부 작동을 연구하는 개발자를 위한 TransformerLens 4.4.0이 공개됐다. 음성 인식 모델 Whisper의 가중치를 분석하기 쉽게 정리하고, 기존 분석이 오류로 멈추던 상태 공간·하이브리드 모델에서도 각 계산이 결과에 얼마나 기여했는지 나눠 살펴볼 수 있게 했다.
1. Whisper를 브리지로 분석
2026년 11월 11일 공개된 이번 버전에는 Whisper 연결 어댑터와 생성 기능, 가중치 처리, 모델 검증이 포함됐다. 브리지는 원래 모델을 분석 도구에 연결하는 통로다. 이번에는 연결뿐 아니라 분석 전에 가중치를 변환하는 호환 모드까지 Whisper에서 사용할 수 있게 됐다.
호환 모드는 정규화 계산, 값의 규모를 일정하게 맞추는 처리를 가중치에 합치고, 가중치 값의 중심을 맞추는 등의 처리를 지원한다. Whisper 어댑터가 음성을 읽는 인코더, 입력을 내부 표현으로 바꾸는 부분과 문장을 출력하는 디코더, 내부 표현을 문장으로 바꾸는 부분 사이의 연결 구조를 명시해, 가중치 처리기가 변환할 대상을 찾도록 했다.
2. 전사 결과를 유지하는 가중치 처리
기여자의 변경 설명에 따르면, 매 단계 가장 높은 점수의 출력을 고르는 방식으로 전사했을 때 whisper-tiny와 whisper-large-v3-turbo의 결과는 변하지 않았다. 다음 출력 후보의 점수인 로지트도 가중치 중심화가 더하는 위치별 상수 차이를 제외하면 허깅페이스 구현과 일치했다고 설명했다.
개발자는 Whisper를 브리지로 연결한 뒤 enable_compatibility_mode()를 호출해 이 처리를 적용할 수 있다. 모델의 응답을 바꾸기보다 같은 응답을 만드는 내부 계산을 분석하기 좋은 형태로 바꾸는 용도다.
3. SSM·하이브리드 모델에서 잔여 분해
잔여 분해는 모델 안에 누적된 계산값을 각 블록의 기여분으로 나눠 보는 기능이다. 상태 공간 모델(SSM), 과거 정보를 상태값으로 이어 계산하는 방식과 하이브리드 모델, 서로 다른 계산 구조를 결합한 모델에는 정보 간 관계를 계산하는 어텐션 대신 다른 계산을 쓰거나, MLP라는 다층 신경망이 없는 블록이 있다.
기존 API는 각 블록에 어텐션과 MLP가 모두 있다고 가정해 Qwen3.5나 Mamba-2 등의 분석 중 오류를 냈다. 이번 수정은 실제 블록 구조에 맞춰 어텐션 대신 쓰는 계산의 출력도 성분에 담고, MLP가 없는 블록에서는 MLP 성분을 생략한다.
_, cache = bridge.run_with_cache(tokens) # e.g. Qwen/Qwen3.5-0.8B
cache.decompose_resid() # KeyError: 'blocks.0.hook_attn_out'
cache.stack_head_results() # KeyError: 'blocks.0.attn.hook_z'
cache.get_full_resid_decomposition() # KeyError: 'blocks.0.attn.hook_z'
cache.logit_attrs(cache.decompose_resid(), tokens=...) # KeyError코드는 수정 전 분석이 실패하던 지점을 보여주는 원문 예시다. 수정 후에는 어텐션이 있는 블록만 헤드별 결과, 어텐션 계산 단위마다 나눈 출력을 내고, 다른 블록의 출력은 나머지 성분으로 모은다. 이는 모델 구조가 달라도 분해한 값들을 더하면 원래 누적값으로 돌아오게 하는 데 초점을 둔 변경이다.
4. 정밀도와 적용 범위
PR 작성자는 실제 Qwen/Qwen3.5-0.8B를 CPU에서 단정밀도 부동소수점 형식인 fp32로 실행해 합을 확인했다. 아래 값은 같은 환경에서 각 분해 결과의 합이 원래 누적값에 얼마나 가까웠는지를 나타내며, 작성자는 오차가 각각 이 범위 이내였다고 보고했다.
표: Qwen3.5-0.8B 잔여 분해 합의 절대 오차 범위
조건: 실제 Qwen/Qwen3.5-0.8B, fp32, CPU — PR 작성자 측정
단위: 절대 오차
| 항목 | 오차 |
|---|---|
| decompose_resid 49개 성분과 최종 잔여 | 9.5e-7 |
| 헤드 결과와 나머지 합 | 2.1e-7 |
| 전체 분해와 잔여 스트림 | 4.3e-6 |
이 수치는 생성 속도가 아니라 분해 결과를 다시 합쳤을 때의 일관성을 보여준다. 분석 가능한 모델 범위가 넓어지는 대신, 모델별로 성분 이름과 분류가 달라지므로 기존 분석 코드가 특정 블록 구성을 가정하는지 확인하는 작업이 뒤따른다.
GraniteMoeHybrid의 전문가 혼합형 블록, 여러 전문가 중 일부를 선택하는 구조는 MLP 슬롯, 특정 계산 성분을 배치하는 자리가 없어 잔여 분해가 여전히 실패하며, 별도로 MLP를 다른 위치에 보관하는 이 구조의 뉴런별 확장, 개별 뉴런 단위로 분석 범위를 넓히는 기능은 미구현 오류를 낸다.
4.4.0의 핵심은 출력 보존을 확인한 Whisper 가중치 분석과, 어텐션 중심 설계를 넘어선 모델 분해를 한 릴리스에서 가능하게 한 점이다.
