-
7. 딥러닝(2)AI 모델(딥러닝 기초)/7. 딥러닝 2023. 2. 22. 16:20728x90
※ 딥러닝 고속화
■ GPU vs CPU
GPU : 단일 곱셈-누산 or 큰 행렬의 곱과 같은 대량 병렬 연산에 유리
CPU : 연속적인 복잡한 계산에 유리
im2col을 이용해서 합성곱 계층을 큰 행렬의 곱으로 변환할 수 있었다. 이러한 큰 덩어리를 GPU로 한 번에 계산하여 딥러닝 자체의 속도를 고속화 시키는 것이다. 현재는 NVIDIA의 GPU 컴퓨팅용 통합 개발 환경인 CUDA로 인해 대부분의 딥러닝 프레임워크가 GPU 환경에서 작업을 할 수 있다.
■ 분산 학습
뛰어난 신경망을 만들기 위한 수많은 시행착오 시간을 줄이기 위하여 딥러닝 학습을 수평확장하는 아이디어인 분산 학습을 이용한다. 뛰어난 프레임워크들(ex) Tensorflow)이 대부분 분산 학습을 지원하고 있다.
■ 연산 정밀도와 비트 줄이기
메모리 용량과 버스 대역폭이 딥러닝 고속화의 병목이 될 수 있다. 그래서 네트워크로 주고받는 데이터의 비트 수는 최소가 바람직하다. 비트 수를 많이 사용할 수록 계산 오차는 줄어들지만, 계산에 드는 비용과 메모리 사용량이 늘고 버스 대역폭에 부담을 준다.
딥러닝 자체가 높은 수치 정밀도를 요구하지 않는 신경망의 견고성을 가지고 있기 때문에 데이터를 퇴화 시켜도 출력에 주는 영향 자체는 적다. 그러므로 최근에는 16비트 반정밀도 부동소수점이 표준적으로 이용된다.
최근에는 가중치와 중간 데이터를 1비트로 표현하는 <Binarized Neural Networks>라는 방법도 등장했으며 딥러닝 임베디드에서 중요한 주제이다.
728x90'AI 모델(딥러닝 기초) > 7. 딥러닝' 카테고리의 다른 글
7. 딥러닝(3) (0) 2023.02.23 7. 딥러닝(1) (0) 2023.02.21