Transformers MIC: 작은 모델로 조용한 회귀를 찾는 통합 테스트
Hugging Face가 제안한 모델 통합 계약은 축소 모델과 검토된 기준값을 활용해 CPU에서 동작 회귀를 검사한다. UMT5 사례와 현재 한계를 살펴본다.

모델이 오류 없이 실행된다고 해서 올바르게 동작하는 것은 아니다. Hugging Face가 11월 3일 제안한 Model Integration Contract(MIC)는 이 간극을 줄이려는 테스트 방식이다. 실제 모델의 구조를 축소한 픽스처를 CPU에서 실행하고, 결과를 사람이 검토한 기준값과 비교한다.
두 달 가까이 숨어 있던 회귀
Hugging Face의 발표에 따르면 2026년 7월 30일 Transformers에서 T5에 PyTorch의 scaled dot-product attention(SDPA)을 활성화한 뒤 UMT5 디코더가 미래 토큰을 참조할 수 있게 됐다. 학습 중 예측해야 할 답을 미리 볼 수 있었지만 프로그램은 중단되지 않았다. 수정은 9월 28일 반영됐다.
연구진이 이후 5개월치 커밋에 고정된 MIC를 다시 실행하자 작은 UMT5 픽스처가 해당 기간의 회귀를 감지했다고 한다. 실험에 쓰인 픽스처의 가중치는 66MB로 원본 체크포인트의 1,227MB보다 작았다. 수정 사항을 되돌린 별도 CI 실험에서 선택된 T5 검사 단계는 CPU에서 준비 시간을 제외하고 13.4초가 걸렸다. 이 수치는 Hugging Face의 측정이며 독립적으로 재현하지 않았다.
검사는 기본 경로인 SDPA를 사용했다. eager attention만 실행했을 때는 해당 버그를 놓쳤다. 작은 모델이라도 실제 사용자가 지나는 실행 경로를 보존해야 의미가 있다는 사례다.
계약에 들어가는 세 가지
MIC는 세 요소를 묶는다. 실제 체크포인트 설정을 줄여 만든 픽스처, 텍스트 생성이나 학습 단계를 실행하는 사용 경로, 사람이 검토한 기준 출력이다. CI는 변경된 파일에 맞는 계약을 골라 실행하고 결과를 기준값과 비교한다. 기준값과 패키지 버전은 고정된 리비전에 연결해 재현을 돕는다.
축소 과정에서는 레이어 수와 차원을 줄이면서 서로 다른 종류의 레이어를 남긴다. 토크나이저와 프로세서 파일은 유지하고 원래 가중치 파일 형식도 보존한다. 모델 로딩과 전처리, 형식 변환 경로도 검사하기 위해서다. 생성 결과뿐 아니라 손실, 유한한 그래디언트, 최적화 후 가중치 변화도 사용 경로에 포함할 수 있다. 구성과 사용법은 공식 저장소에서 확인할 수 있다.
도입할 때 살펴볼 점
모델 라이브러리를 유지보수한다면 먼저 운영에서 실제로 쓰는 어텐션 경로와 전처리를 테스트가 통과하는지 확인할 만하다. 실행 성공만 확인하는 스모크 테스트에 더해, 대표 입력에 대한 출력과 학습 동작의 기준값을 검토하고 버전을 고정하면 변화의 원인을 추적하기 쉬워진다. 다만 기준값을 바꿀 때는 의도한 동작 변경인지 사람이 판단해야 한다.
이 방식이 전체 체크포인트 테스트를 대체하는 것은 아니다. Hugging Face는 모델 계열과 API의 적용 범위가 아직 일부이며, 실제 가중치에서만 드러나는 문제가 있다고 설명한다. 11월 1일 기준 Transformers CI의 MIC 작업은 실패를 보고하지만 PR을 차단하지 않는다. 실제 PR에서 잡은 버그 수, 오탐 빈도, 기준값 검토 비용은 아직 측정되지 않았다. 현재 결과는 빠른 회귀 신호로 받아들이고 기존 통합 테스트와 함께 살펴보는 편이 적절하다.



Discussion
No comments yet