인공지능 대학원생의 생활/딥러닝 (Deep-learning)
backward 속도가 느린 문제 해결하기.
개발자 치즈
2022. 9. 26. 23:33
커스터마이징 한 multihead attention class를 적용했을 때 다른 것들 보다도 유독 backward 속도가 느려 원인을 찾는 중이다. 원래대로라면 0.02 초 정도가 나와야 한다.
1. 모델 구조상 학습할 파라미터가 많아서 그런 것인가?
유일한 구조상 차이라고 한다면, RelativePosition이라는 클래스 두 개를 새롭게 정의한 것이다.
해당 클래스 내부의 파라미터라곤, max_length, head_dim 크기의 embedding matrix 하나. 이 또한 크기가 크지 않다고 판단했다.
2. 모든 모델 내 텐서가 같은 device에 할당되어 있는가? (cpu에 할당되어 있는 텐서가 있는가?)
.get_device()로 의심이 갈만한 요소들을 체크했으나, 문제 없었다.
3. 계산이 오래 걸릴만한 부분이 어디인지 파악하기 위해 의심가는 부분을 다 넘겼더니 다시 backward 시간이 정상적으로 돌아오는 것을 보아, 이부분에 문제가 있다는 것을 확인하였다.