컴퓨터 구조에 대해 공부하던 중 다음과 같은 내용을 접하였다.

 

컴퓨터 프로그램에서 저장하는 장치로 레지스터와 메모리를 사용하고, 레지스터의 개수는 제한적이기 때문에 컴파일러는 자주 사용되는 변수를 가능한 한 많이 레지스터에 저장하고 나머지 변수는 메모리에 저장한 후 활용한다는 내용이었다.

 

해당 내용을 읽으면서 문득 논문리뷰를 하며 들었던 의문이 하나 생각났다.

바로, '파라미터 증가가 모델 성능에 크게 영향을 미치는 이유가 무엇일까?' 라는 것이었다.

 

그 이유가 바로 메모리에 관련되어 있을 수 있겠다는 생각이 들었다.

레지스터의 개수는 32개이다. 

 

예를 들어, VGG-19 처럼 4096짜리 FC layer가 있다고 가정한다면, 해당 FC layer에 파라미터 개수는 (4096+1) * (4096) 이다.

약, 1.68M개의 파라미터를 사용하는 것인데 결국 이 많은 파라미터가 메모리에 저장되는 것이다. 

 

단순히 1.68M개의 파라미터를 메모리에 저장하고 불러오는 것만으로도 cost가 어마어마하게 들 것이다.

 

이렇기에 파라미터 수가 모델 성능에 많은 영향을 미치는 것이 아닐까 라는 생각을 하였다.

+ Recent posts