Core Concepts
순수 16비트 신경망이 32비트 신경망과 유사하거나 때로는 더 나은 성능을 보인다.
Abstract
이 논문은 순수 16비트 부동 소수점 신경망의 성능을 조사했다. 기존에는 16비트 신경망이 정확도 저하를 겪을 것으로 여겨졌지만, 저자들의 실험 결과 16비트 신경망이 32비트 신경망과 유사하거나 때로는 더 나은 성능을 보였다.
이론적으로 저자들은 분류 문제에서 16비트와 32비트 신경망의 결과가 대부분 같음을 보였다. 이는 분류 문제의 손실 함수가 로그 손실이기 때문에 정확도가 높은 출력이 유도되어 부동 소수점 오차가 크지 않기 때문이다.
실험에서는 MNIST와 CIFAR-10 데이터셋에 대해 DNN과 CNN 모델을 16비트와 32비트로 학습시켰다. 그 결과 16비트 모델이 32비트 모델과 유사하거나 더 나은 정확도를 보였으며, 계산 시간도 크게 단축되었다. 다만 배치 크기가 커질 경우 16비트 모델의 정확도가 다소 떨어지는 한계가 있었다.
이 연구 결과는 16비트 신경망이 32비트에 비해 메모리와 계산 자원을 크게 절감하면서도 유사한 성능을 낼 수 있음을 보여준다. 따라서 ML 실무자들이 16비트 신경망을 적극 활용할 수 있을 것으로 기대된다.
Stats
16비트 신경망의 계산 시간이 32비트 대비 최소 29.1% 감소했다.
16비트 VGG16의 Top-1 정확도가 32비트 대비 1.6% 증가했다.
16비트 ResNet-34의 Top-1 정확도가 32비트 대비 0.6% 감소했다.
16비트 모델의 저장 크기가 32비트 대비 약 50% 감소했다.
Quotes
"순수 16비트 신경망, 즉 어떤 32비트 구성 요소도 없이 순수하게 16비트로만 작동하는 신경망이 분류 문제를 다루는 데 있어 충분히 정확할 수 있다는 것을 보여주고자 한다."
"분류 문제의 손실 함수가 로그 손실이기 때문에 정확도가 높은 출력이 유도되어 부동 소수점 오차가 크지 않다."