최대 1 분 소요

Colab에서 BERT 모델을 학습하려던 중에 다음과 같은 에러가 발생했다.

image

서치해보니 이건 여러 상황에서 발생하는 오류이긴 하지만, 보통 input이나 output의 dim이 맞지 않아서 발생한다고 했다. 혹시 나도? 라는 생각에 이리저리 확인해봤지만 내 코드에선 dim과 관련해 잘못된 부분이 없었다. 그러던 중, 이 오류는 CUDA에서 발생했기 때문에 cpu에서 돌려보면 정확한 에러를 확인할 수 있다는 글을 봤다. 뭔가 해결 될 기미가 보인다 싶어서 바로 디바이스를 cpu로 바꾼 뒤 코드를 돌려보았다.

그리고 짜잔. 새로운 에러가 떴다. image

드디어 문제점을 알아냈다. 4개의 클래스에 대한 Multi-class classification을 수행하기 위해 BERT를 학습시키던 상황이었는데, 데이터 라벨이 1-4로 이루어졌던 게 문제였다.

data["label"] = data["label"].apply(lambda x : x-1)

위의 코드를 통해 데이터 라벨이 0-3의 값을 갖도록 바꿔주니까 잘 돌아가기 시작했다.


결론 : 이런 에러가 뜨면 일단 CPU로 돌려보자

🧚🏻‍♀️참고
나를 살린 블로그 : https://qlsenddl-lab.tistory.com/39

댓글남기기