보통 빠른 학습을 위해서 배치사이즈를 늘린다면 VRAM를 N배로 쳐먹기 때문에 약 20%의 성능저하를 대가로 이를 루트 N 만큼으로 줄일 수 있는 gradient checkpoint 를 켜놓을 것임. (Joepenna repo의 경우 코드 뜯어본 사람은 알겠지만 기본으로 적용되어 있음) 나도 그래서 그걸 켜고 배치사이즈를 최대한 늘려봄.

 

그래서 batchsize 80으로 해봤더니 학습률 조절도 힘들고 데이터셋에 비해서 배치사이즈가 너무 커져서인지 특징 추출을 제대로 못함
그렇게 되면 batchsize를 크게 했을때 장점이 학습 속도가 빠르다는거 하나인데


차라리 gradient checkpoint를 끄고 batchsize 16으로 하면 batchsize 80으로 gradient checkpoint 켰을 때랑 같은 속도로 학습가능해짐