브라우저와 JavaScript만으로 구현한 실용적인 분산 계산 시스템과 딥러닝 적용

본 논문은 웹 브라우저만으로 동작하는 분산 계산 프레임워크 “Sashimi”와 GPU 가속 JavaScript 신경망 라이브러리 “Sukiyaki”를 제안한다. Sashimi는 별도 클라이언트 설치 없이 웹 페이지에 접속하는 것만으로 계산 노드를 추가할 수 있게 하며, Sukiyaki는 WebCL 기반 행렬 연산 엔진 Sushi를 이용해 기존 JavaScript 딥러닝 라이브러리 대비 30배 빠른 학습 속도를 제공한다. 두 시스템을 결합해 MN…

저자: Ken Miura, Tatsuya Harada

브라우저와 JavaScript만으로 구현한 실용적인 분산 계산 시스템과 딥러닝 적용
본 논문은 “Sashimi”와 “Sukiyaki”라는 두 가지 핵심 컴포넌트를 통해 웹 브라우저만으로 분산 계산과 딥러닝 학습을 구현하는 방법을 제시한다. 먼저 Sashimi는 기존 분산 시스템이 요구하는 클라이언트 소프트웨어 설치 과정을 제거하고, 사용자가 웹 페이지에 접속하기만 하면 해당 기기가 계산 노드가 되도록 설계되었다. 시스템은 CalculationFramework 서버와 Distributor 서버(HTTPServer와 TicketDistributor)로 나뉘며, 작업은 프로젝트‑태스크‑티켓이라는 계층 구조로 관리된다. 프로젝트는 전체 작업 흐름을 정의하고, 태스크는 실제 실행 가능한 코드 조각이며, 티켓은 태스크와 인자를 묶어 MySQL에 저장한다. 브라우저는 WebSocket을 통해 TicketDistributor와 연결해 티켓을 받아 실행하고, 결과를 다시 전송한다. 티켓은 가상 생성 시간을 기준으로 재분배되며, 5분 이내에 결과가 반환되지 않으면 재생성돼 다른 클라이언트가 처리한다. 이 메커니즘은 노드 장애나 성능 차이를 자동으로 보완한다. 또한 LRU 기반 캐시 정리와 오류 보고·자동 재로드 기능을 통해 장시간 실행 시 메모리 관리와 복구를 자동화한다. 두 번째 컴포넌트인 Sukiyaki는 JavaScript 기반 딥러닝 프레임워크로, WebCL을 이용한 행렬 연산 엔진 Sushi를 활용한다. Sushi는 GPU 메모리 상에 행렬을 직접 할당하고, 병렬 연산을 수행함으로써 ConvNetJS와 같은 기존 라이브러리 대비 수십 배 빠른 연산을 가능하게 한다. Sukiyaki는 컨볼루션, 맥스 풀링, 완전 연결, 활성화 레이어를 지원하며, 각 레이어의 forward, backward, update 메서드가 Sushi 호출로 구현된다. 학습에는 AdaGrad를 변형한 업데이트 규칙을 적용해 초기 그래디언트 스케일 문제를 완화한다. 모델 파라미터는 JSON‑Base64 형태로 직렬화돼 Node.js와 브라우저 간에 손실 없이 교환될 수 있다. 실험에서는 두 가지 벤치마크를 수행했다. 첫 번째는 MNIST 데이터셋을 이용한 최근접 이웃 분류 작업으로, 1~4대의 클라이언트(데스크톱과 Nexus 7 태블릿)를 이용해 작업을 분산 실행했다. 결과는 클라이언트 수가 증가할수록 전체 실행 시간이 57%~67% 감소했으며, 특히 연산 능력이 낮은 태블릿에서도 오버헤드가 상대적으로 작아 효율이 높았다. 두 번째는 CIFAR‑10 데이터셋을 사용한 깊은 CNN 학습으로, 50개 이미지 배치를 5만 장 학습했다. Sukiyaki(Node.js)는 ConvNetJS 대비 30배 빠른 배치 처리 속도를 보였고, Firefox 브라우저에서도 ConvNetJS보다 현저히 빠른 수렴을 기록했다. 학습 곡선과 오류율 그래프는 Sukiyaki가 동일 모델을 더 짧은 시간에 높은 정확도로 학습함을 보여준다. 분산 학습 알고리즘 측면에서는 기존 DistBelief, MLitB, Krizhevsky의 모델·데이터 병렬화 방식을 검토하고, 인터넷 기반 저대역폭 환경에 맞춰 데이터 병렬화 방식을 채택했다. 구체적으로 각 클라이언트가 동일한 모델을 로드하고, 미니배치에 대한 그래디언트를 계산해 중앙 서버에 전송한다. 서버는 모든 클라이언트의 그래디언트를 평균내어 모델을 업데이트하고, 업데이트된 파라미터를 다시 클라이언트에 전파한다. 이 과정은 Sashimi의 티켓 재분배 메커니즘과 결합돼, 클라이언트가 중간에 끊겨도 다른 클라이언트가 작업을 이어받아 전체 학습이 지속될 수 있다. 또한, 모델 파라미터를 전체 전송하지 않고 그래디언트만 교환함으로써 통신량을 크게 줄였다. 전체 시스템은 MIT 라이선스로 공개돼, 웹 브라우저와 JavaScript만 있으면 누구나 손쉽게 분산 계산 및 딥러닝 실험을 수행할 수 있다. 이는 GPU가 장착된 일반 PC, 노트북, 태블릿, 스마트폰 등 다양한 디바이스를 활용해 대규모 연산 자원을 저비용으로 구축할 수 있음을 의미한다. 향후 연구에서는 더 복잡한 모델(예: RNN, GAN)과 대규모 데이터셋에 대한 확장성 검증, 그리고 WebGPU 등 최신 브라우저 기술과의 통합을 통해 성능을 더욱 향상시킬 여지가 있다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기