Skip to main content
QUICK REVIEW

[논문 리뷰] Comparative Study of Deep Learning Software Frameworks

Soheil Bahrampour, Naveen Ramakrishnan|arXiv (Cornell University)|2015. 11. 19.
Advanced Neural Network Applications참고 문헌 17인용 수 87
한 줄 요약

이 논문은 Caffe, Neon, TensorFlow, Theano, Torch의 다섯 가지 딥러닝 프레임워크를 CPU 및 GPU 환경에서 확장성, 하드웨어 활용도, 속도 측면에서 평가한다. 주요 결과로는 Theano와 Torch가 확장성에서 뛰어나며, Torch는 CPU 성능과 대규모 네트워크의 GPU 배포에서 뛰어나다. 또한 Theano는 LSTM 학습과 소규모 컨볼루션 네트워크에서 최고의 GPU 성능을 기록한다.

ABSTRACT

Deep learning methods have resulted in significant performance improvements in several application domains and as such several software frameworks have been developed to facilitate their implementation. This paper presents a comparative study of five deep learning frameworks, namely Caffe, Neon, TensorFlow, Theano, and Torch, on three aspects: extensibility, hardware utilization, and speed. The study is performed on several types of deep learning architectures and we evaluate the performance of the above frameworks when employed on a single machine for both (multi-threaded) CPU and GPU (Nvidia Titan X) settings. The speed performance metrics used here include the gradient computation time, which is important during the training phase of deep networks, and the forward time, which is important from the deployment perspective of trained networks. For convolutional networks, we also report how each of these frameworks support various convolutional algorithms and their corresponding performance. From our experiments, we observe that Theano and Torch are the most easily extensible frameworks. We observe that Torch is best suited for any deep architecture on CPU, followed by Theano. It also achieves the best performance on the GPU for large convolutional and fully connected networks, followed closely by Neon. Theano achieves the best performance on GPU for training and deployment of LSTM networks. Caffe is the easiest for evaluating the performance of standard deep architectures. Finally, TensorFlow is a very flexible framework, similar to Theano, but its performance is currently not competitive compared to the other studied frameworks.

연구 동기 및 목표

  • 주요 딥러닝 프레임워크가 다양한 아키텍처와 학습 절차를 지원하는 데 있어 확장성 평가.
  • 다중 스레드 CPU 및 GPU(NVIDIA Titan X) 구성에서의 하드웨어 활용 효율성 평가.
  • 다양한 네트워크 유형에서 학습(기울기 계산) 및 배포(전방전파) 성능을 벤치마킹.
  • 순환 신경망에서의 고급 컨볼루션 알고리즘 및 가변 길이 시퀀스 처리 기능 지원 분석.
  • 실제 응용 프로그램에서의 프레임워크 선택을 위한 강점과 한계에 대한 실무자용 비교 평가 제공.

제안 방법

  • 표준 딥러닝 아키텍처(완전 연결, 컨볼루션, 순환(LSTM) 네트워크)를 사용해 단일 머신에서 벤치마킹 수행.
  • 성능 메트릭으로는 기울기 계산 시간(학습)과 전방전파 시간(배포)을 측정하였으며, 다중 스레드 CPU 및 NVIDIA Titan X GPU에서 측정.
  • 컨볼루션 네트워크의 경우, 다양한 컨볼루션 알고리즘(예: FFT 기반)의 지원 및 성능 평가.
  • LSTM 학습에는 가변 길이 시퀀스를 사용한 IMDB 감성 분석 데이터셋을 활용하고, 마스킹 및 패딩 기법 적용.
  • 모든 프레임워크는 동일한 조건에서 테스트: 고정 배치 크기(16), 셔플링 없음, 일관된 데이터 로딩으로 공정한 비교 확보.
  • 2016년 2월 기준 활발한 개발 및 커뮤니티 지원이 이루어지는 프레임워크에 국한하며, LSTM 또는 cuDNN 지원 기능이 없는 프레임워크는 제외.

실험 결과

연구 질문

  • RQ1다양한 네트워크 아키텍처와 학습 절차를 지원하는 데 있어 가장 높은 확장성을 제공하는 딥러닝 프레임워크는 무엇인가?
  • RQ2다양한 네트워크 유형에서 CPU 및 GPU 활용 효율성 측면에서 프레임워크 간의 성능 비교는 어떻게 이루어지는가?
  • RQ3각 프레임워크의 기울기 계산(학습) 및 전방전파(배포) 성능은 상대적으로 어떻게 평가되는가?
  • RQ4RNN에서의 가변 길이 시퀀스 처리 및 최적화된 컨볼루션 알고리즘과 같은 고급 기능 지원 수준은 각 프레임워크에서 어떻게 평가되는가?
  • RQ5특히 GPU 가속 설정에서 각 프레임워크의 현재 성능 저하 요인과 한계는 무엇인가?

주요 결과

  • Theano와 Torch가 가장 뛰어난 확장성을 보이며, Theano는 탄력적인 아키텍처 설계를 위한 기호적 미분을 제공하고, Torch는 강력한 커뮤니티 기반 확장성 확보.
  • CPU 환경에서는 Torch가 모든 테스트 아키텍처에서 가장 높은 성능 기록, 이어서 Theano, Neon은 가장 낮은 성능 보여.
  • GPU 환경에서는 대규모 컨볼루션 및 완전 연결 네트워크에서 Torch가 가장 빠른 성능 기록, 이어서 Theano, Neon도 대규모 컨볼루션 네트워크에서 매우 경쟁력 있음.
  • 소규모 컨볼루션 및 완전 연결 네트워크의 GPU 기반 학습에서는 Theano가 다른 프레임워크를 앞서며, LSTM 네트워크의 경우 cuDNN v3를 사용할 때 Theano가 최고의 성능 기록.
  • Caffe는 하드코딩 없이 구성 설정이 쉬워 표준 딥러닝 아키텍처 평가에 가장 사용자 친화적임.
  • TensorFlow는 높은 유연성과 이종 장치 지원을 보이지만, Theano, Torch, Neon에 비해 단일 GPU 환경에서 성능이 열등함.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.