대규모 딥러닝 고속처리를 위한 분산 딥러닝 플랫폼 기술은 Caffe, TensorFlow와 같은 기존 딥러닝 라이브러리를 확장하여 빠른 심층 학습속도를 달성하는 분산 학습 솔루션입니다. ETRI 분산 딥러닝 플랫폼은 Soft Memory Box(분산 공유 메모리 버퍼 프레임워크)의 공유 메모리를 분산 딥러닝 파라미터 통신을 위해 사용함으로써 분산 학습 시간을 개선합니다.
- 소프트 메모리 박스(Soft Memory Box: SMB)는 분산 딥러닝용 파라미터 고속 통신을 위한 분산 공유 메모리 버퍼(Shared Memory Buffer)를 제공합니다. SMB는 Infiniband 네트워크 기반 소프트웨어로 다수의 서버들의 메모리를 통합하여 딥러닝 파라미터 통신을 위한 버퍼로 제공합니다. 제공되는 공유 메모리 용량은 제한이 없으며 메모리 서버 대수와 각 메모리 서버의 제공 메모리 용량에 따라 가변적입니다. 제공되는 공유 메모리 대역폭 또한 메모리 서버의 대수와 Infiniband 대역폭에 종속됩니다. 메모리 서버를 많이 이용할수록 대역폭은 증가합니다. (예, 27.8GiB, 4 메모리 서버, Infiniband FDR 기준)
- ETRI-Caffe(SW)는 BVLC/NVIDIA Caffe를 다중 머신 지원용으로 확장한 분산 딥러닝 소프트웨어입니다. 분산 프로세스의 실행 및 관리를 위해 MPI 방식으로 확장되었습니다. ETRI-Caffe는 BVLC/NVIDIA Caffe와 딥러닝 모델 호환이 됩니다. 즉 기존 Caffe 모델의 수정없이 트레이닝이 가능합니다. ETRI-Caffe는 소프트 메모리 박스의 공유 메모리를 통해 분산 딥러닝 프로세스간 고속으로 파라미터를 공유합니다. ETRI-Caffe(v3.0)는 데이터 병렬 비동기 분산 학습을 지원하며, Inception_v1 모델의 경우 GPU 스케일 아웃했을 때 NVIDIA Caffe(1GPU)대비 13.6배 빠른 학습(16GPU)이 가능합니다. 또한 ETRI-Caffe(v3.0)는 1 노드 대비 8노드로 스케일 아웃했을 때 약 97%의 확장효율을 달성합니다(8node scale-out 시7.78배, Resnet-50, 10,000 iteration)
- ETRI-TensorFlow(SW)는 보다 빠른 딥러닝 학습을 위하여 Google의 TensorFlow를 확장한 분산 딥러닝 프레임워크입니다. 소프트 메모리 박스가 제공하는 공유 메모리를 기반으로 고속 분산 트레이닝을 제공합니다. 기존 파라미터 서버를 이용하는 TensorFlow 대비 동일한 개수의 GPU를 사용할 때 최대 2배 빠른 학습 성능을 제공합니다. TensorFlow 모델 호환을 제공하며, CNN, RNN 및 그 외 DNN 모델을 지원합니다. ETRI-TensorFlow는 데이터 병렬과 모델 병렬 비동기식 분산 학습을 지원합니다.
- 딥러닝 기술은 높은 정확도를 요구하는 모델일수록 더 많은 학습데이터와 더 높은 해상도의 학습 데이터를 요구(예, 고해상도 영상 처리 요구 증가). 더 높은 정확도를 가지는 모델은 기하급수적인 계산량 증가를 수반하며, HPC 시스템을 이용하여 대규모 딥러닝 모델을 분산 학습하려는 수요가 증가하고 있음
- 다수의 서버를 이용한 딥러닝 분산 학습은 대규모 통신이 필요하여 통신 병목이 발생하며, 이를 해결하는 고속 분산 병렬 학습 기술이 필요함. 더욱이 서버의 수를 늘릴수록 통신 병목 현상이 심화되어 학습 시간이 서버의 수 만큼 선형적으로 개선되지 않는 문제 해결이 필요함.
- 또한 대다수 딥러닝 개발자들은 고성능 컴퓨팅 시스템, 병렬처리, 분산 처리등에 대한 지식과 경험부족으로 상기 문제 해결에 어려움을 겪고 있음.
- 본 기술 이전을 통해 딥러닝 응용을 개발하고자 하는 기업, 대학, 연구소 등의 기관들이 대규모 딥러닝 학습데이터를 빅사이즈 딥러닝 모델로 학습할 때 비용 효율적인 방법으로 적시에 딥러닝 서비스 개발을 지원하고자 함.
- 분산 딥러닝플랫폼은 Soft Memory Box(SMB)의 공유메모리를 분산 딥러닝 파라미터 통신을 위해 사용함으로써 분산 학습 시간을 개선함.
- SMB는 Infiniband 네트워크 기반 SW로 다수의 서버들의 메모리를 통합하여 딥러닝 파라미터 통신을 위한 버퍼로 제공함.
- 제공되는 공유 메모리 용량은 제한없으며 메모리 서버 대수와 각 메모리 서버의 제공 메모리 용량에 따라 가변적임.
- 제공되는 공유 메모리 대역폭 또한 메모리 서버의 대수와 Infiniband 대역폭에 종속되며, 메모리 서버를 많이 이용할수록 대역폭은 증가
- ETRI-Caffe는 BVLC, Nvidia Caffe를 다중 머신 지원용으로 확장한 분산 딥러닝 소프트웨어임.
- ETRI-Caffe는 BVLC Caffe 모델과 완벽한 호환성을 제공(즉 기존 Caffe 모델 네트워크의 수정없이 분산 트레이닝이 가능)
- ETRI-Tensorflow는 Tensorflow를 소프트 메모리 박스가 제공하는 공유 메모리 기반으로 고속 분산 트레이닝하도록 확장한 소프트웨어임.
- ETRI-Tensorflow는 TensorFlow 모델 호환을 제공하며, CNN, RNN 및 그 외 DNN 모델 지원
o 기술이전 내용
- 소프트 메모리 박스
- ETRI-Caffe
- ETRI-TensorFlow
- 소프트 메모리 박스
(1) 소프트 메모리 박스 클라이언트 기능
(2) 소프트 메모리 박스 서버 기능
(3) 사용자 레벨 인피니밴드 통신 계층 모듈 기능
- ETRI-Caffe
(1) 분산 프로세스 실행 관리 기능
(2) 파라미터 공유 메모리 관리 기능
(3) 데이터 병렬 트레이닝 기능
(4) 분산 딥러닝 계산과 파라미터 통신 병렬화 기능
- ETRI-TensorFlow
(1) 딥러닝 트레이닝 태스크 실행 기능
(2) 소프트 메모리 박스 기반 파라미터 공유 기능
(3) 데이터 병렬 트레이닝 및 모델 병렬 트레이닝 기능
(4) 비동기식 분산 트레이닝 기능
(5) 딥러닝 모델 결과 저장 기능
(6) 딥러닝 트레이닝 모니터링 기능
- 클라우드 플랫폼 서비스로 구축
. AI(딥러닝) 데이터 센터 구축하여 클라우드 이용자에게 딥러닝 개발환경 제공 (유사 사례: Microsoft Azure Machine Learning Studio, 라벨아이오(Labellio))
- 온프레미스 AI(딥러닝) 플랫폼 서비스로 구축
. 사내 데이터 센터 구축 : AI(딥러닝) 응용 개발, 빅데이터 분석
. 소규모 AI(딥러닝) 연구실에서 AI(딥러닝) 응용 개발 환경으로 구축
. 개인용 딥러닝 모델 개발 도구로 이용