Skip to main content
QUICK REVIEW

[논문 리뷰] Implementation of a Practical Distributed Calculation System with Browsers and JavaScript, and Application to Distributed Deep Learning

Ken Miura, Tatsuya Harada|arXiv (Cornell University)|2015. 03. 19.
Advanced Neural Network Applications참고 문헌 4인용 수 9
한 줄 요약

이 논문은 클라이언트 소프트웨어 설치 없이도 웹 브라우저가 계산 노드로 기능할 수 있도록 하는 브라우저 기반 분산 계산 프레임워크인 Sashimi와, 기존 자바스크립트 라이브러리보다 30배 빠른 딥 컨볼루션 네트워크 학습을 가속화하는 자바스크립트 기반 딥 러닝 라이브러리인 Sukiyaki를 제안한다. 이 둘을 결합하면 일반 목적의 GPU를 사용해 실용적인 브라우저 내장 분산 딥 러닝을 구현할 수 있으며, 네 명의 클라이언트를 사용할 경우 컨볼루션 레이어 학습 속도가 최대 2배 빨라지고, 완전 연결 레이어 학습 속도는 기존 단독 실행 대비 1.5배 빨라진다.

ABSTRACT

Deep learning can achieve outstanding results in various fields. However, it requires so significant computational power that graphics processing units (GPUs) and/or numerous computers are often required for the practical application. We have developed a new distributed calculation framework called "Sashimi" that allows any computer to be used as a distribution node only by accessing a website. We have also developed a new JavaScript neural network framework called "Sukiyaki" that uses general purpose GPUs with web browsers. Sukiyaki performs 30 times faster than a conventional JavaScript library for deep convolutional neural networks (deep CNNs) learning. The combination of Sashimi and Sukiyaki, as well as new distribution algorithms, demonstrates the distributed deep learning of deep CNNs only with web browsers on various devices. The libraries that comprise the proposed methods are available under MIT license at http://mil-tokyo.github.io/.

연구 동기 및 목표

  • 특수 소프트웨어 설치나 클러스터 설정이 어려운 환경에서 분산 딥 러닝을 구현하는 데 도전하는 것.
  • 클라이언트 소프트웨어 설치 없이도 어떤 웹 브라우저라도 분산 계산 노드로 기능하도록 하는 것.
  • 일반 목적의 GPU를 활용해 딥 컨볼루션 신경망의 효율적 학습을 위한 고성능 자바스크립트 기반 딥 러닝 프레임워크를 개발하는 것.
  • 컨볼루션 레이어와 완전 연결 레이어를 동시에 학습하는 분산 학습 파이프라인을 설계하여 대기 시간과 통신 오버헤드를 최소화하는 것.
  • 단지 웹 기술만을 사용해 오픈소스이자 접근 가능하고 확장 가능한 분산 딥 러닝 프레임워크를 만드는 것.

제안 방법

  • Sashimi는 두 서버 아키텍처를 사용한다: 서버 측 Node.js 기반의 CalculationFramework와, WebSocket과 MySQL을 통해 작업 배포 및 결과 수거를 관리하는 Distributor(HTTPServer 및 TicketDistributor).
  • 클라이언트는 간단한 HTML/자바스크립트 프로그램을 로드하여 WebSocket을 통해 TicketDistributor에 연결하고, 작업을 수신 및 실행하며, 성능 향상을 위해 데이터와 코드를 캐시한다.
  • Sukiyaki는 WebGL과 일반 목적의 GPU 계산을 활용해 고속 행렬 연산과 딥 컨볼루션 네트워크를 위한 역전파를 실현하는 GPU 가속 자바스크립트 DNN 프레임워크이다.
  • 컨볼루션 레이어는 데이터 병렬 처리를 통해 여러 브라우저에 분산하여 학습하고, 완전 연결 레이어는 클라이언트에서의 대기 시간을 방지하고 통신 비용을 줄이기 위해 서버에서 학습한다.
  • 작업는 인수, 외부 라이브러리, 데이터셋을 포함한 티켓으로 나뉘어 MySQL을 통해 전송되고, 브라우저에서 실행되며, 결과는 CalculationFramework에 의해 수거 및 집계된다.
  • 장기 실행 프로세스가 자원을 과도하게 소비하지 않도록 하기 위해 최소 최근 사용(LRU) 기반의 가비지 컬렉션 메커니즘이 메모리 관리에 사용된다.

실험 결과

연구 질문

  • RQ1클라이언트 소프트웨어 설치 없이도 웹 브라우저와 자바스크립트만으로 분산 딥 러닝 시스템을 구축할 수 있는가?
  • RQ2자바스크립트 기반 딥 러닝 프레임워크가 네이티브 GPU 가속 라이브러리와 경쟁 가능한 성능을 달성할 수 있는가?
  • RQ3클라이언트와 서버에서 컨볼루션 레이어와 완전 연결 레이어를 동시에 학습하는 방식이 순차적 또는 모델 병렬 처리 방식에 비해 효율성을 어떻게 향상시키는가?
  • RQ4단독 실행 대비 브라우저 기반 계산을 활용한 분산 딥 러닝의 성능 향상은 어느 정도인가?
  • RQ5지능적인 작업 스케줄링과 서버 측 처리를 통해 브라우저 기반 분산 시스템에서 통신 비용과 대기 시간을 최소화할 수 있는가?

주요 결과

  • Sukiyaki는 기존 자바스크립트 기반 DNN 라이브러리 대비 깊이 있는 컨볼루션 신경망 학습 속도를 30배 빠르게 한다.
  • 네 명의 클라이언트를 사용할 경우, 효과적인 데이터 병렬 처리 덕분에 컨볼루션 레이어 학습 속도가 단독 실행 대비 두 배 빨라진다.
  • 완전 연결 레이어 학습 속도는 서버가 이 작업에 전용으로 할당되어 클라이언트가 컨볼루션 레이어를 학습하는 동안 동시에 처리하기 때문에 단독 실행 대비 1.5배 빨라진다.
  • 클라이언트에서 컨볼루션 레이어를 학습하고 서버에서 완전 연결 레이어를 동시에 학습함으로써 대기 시간을 줄여 자원 활용도 저하를 최소화한다.
  • 프레임워크는 클라이언트 소프트웨어 설치 없이도 웹 브라우저와 일반 목적의 GPU만을 사용해 분산 딥 러닝을 성공적으로 구현한다.
  • Sashimi와 Sukiyaki 라이브러리는 커뮤니티의 확장과 통합을 가능하게 하기 위해 MIT 라이선스 하에 오픈소스로 공개되었다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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