본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

오류 "BertModel LOAD REPORT from: snunlp/KR-SBERT-V40K-klueNLI-augSTSKey | Status | UNEXPECTED | |" 해결 방법은?

by 3604 2026. 3. 11.
728x90

이 에러 메시지는 PyTorch에서 모델을 불러올 때 흔히 발생하는 unexpected_key 이슈입니다.

결론부터 말씀드리면, embeddings.position_ids는 모델 계산에 직접적인 영향을 주는 가중치(Weights)가 아니라 **버전에 따라 생성되는 버퍼(Buffer)**이기 때문에, 무시하셔도 모델 성능에는 아무런 지장이 없습니다.

하지만 경고 메시지를 없애고 깔끔하게 코드를 실행하고 싶으시다면 아래의 방법들을 적용해 보세요.

1. strict=False 옵션 사용 (가장 추천)
모델을 로드할 때 strict=False 설정을 주면, 구조가 완벽하게 일치하지 않더라도 일치하는 파라미터만 불러오고 나머지는 넘깁니다.

Python
from transformers import AutoModel

# 모델 로드 시 strict 인자를 False로 설정
model = AutoModel.from_pretrained("snunlp/KR-SBERT-V40K-klueNLI-augSTS", strict=False)
2. 경고 메시지만 숨기기
단순히 터미널에 뜨는 빨간색 경고가 보기 싫은 경우, 로깅 수준을 조절하여 해결할 수 있습니다.

Python
import logging
from transformers import logging as tf_logging

# 에러 메시지만 출력하도록 설정 (Warning 무시)
tf_logging.set_verbosity_error()
3. 왜 이런 현상이 발생하나요?
이 현상은 주로 모델을 학습시킨 환경(Transformers 라이브러리 버전)과 현재 모델을 사용하는 환경의 버전 차이 때문에 발생합니다.

원인: 특정 버전의 Transformers에서는 position_ids를 모델 파일(bin 또는 safetensors)에 저장하지만, 최신 버전에서는 이를 실행 시점에 동적으로 생성합니다.

결과: 라이브러리는 "파일에는 있는데 내 구조(Class)에는 이 변수가 없네?"라고 판단하여 UNEXPECTED 경고를 띄우는 것입니다.

요약 및 팁
[!TIP]
embeddings.position_ids는 실제 학습된 '지식'이 아니라 위치 정보를 나타내는 인덱스일 뿐입니다. 이 경고 때문에 모델의 정확도가 떨어질 걱정은 하지 않으셔도 됩니다!

728x90