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)|Mar 19, 2015
Advanced Neural Network Applications参考文献 4被引用 9
一句话总结

本文提出 Sashimi,一种基于浏览器的分布式计算框架,使任何网络浏览器无需安装客户端软件即可充当计算节点;以及 Sukiyaki,一种基于 JavaScript 的深度学习库,其深度卷积神经网络(CNN)训练速度比以往的 JavaScript 库快 30 倍。二者结合,实现了使用通用 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/.

研究动机与目标

  • 解决在无法安装专用软件或配置集群的环境中部署分布式深度学习的挑战。
  • 使任何网络浏览器无需安装客户端软件即可作为分布式计算节点运行。
  • 开发一个高性能的基于 JavaScript 的深度学习框架,利用通用 GPU 高效训练深度卷积神经网络。
  • 设计一种分布式训练流水线,同时训练卷积层和全连接层,最大限度减少空闲时间和通信开销。
  • 创建一个仅使用网络技术的开源、可访问且可扩展的分布式深度学习框架。

提出的方法

  • Sashimi 采用双服务器架构:计算框架(服务端 Node.js)和分发器(HTTP 服务器与票据分发器),通过 WebSocket 和 MySQL 管理任务分发与结果收集。
  • 客户端通过加载一个基础的 HTML/JavaScript 程序加入计算,该程序通过 WebSocket 连接到票据分发器以接收并执行任务,同时缓存数据和代码以提升性能。
  • Sukiyaki 是一种基于 GPU 加速的 JavaScript DNN 框架,利用 WebGL 和通用 GPU 计算实现深度 CNN 的高速矩阵运算与反向传播。
  • 系统对卷积层采用数据并行策略,将训练任务分布在多个浏览器上;而全连接层在服务器上训练,以避免空闲时间并降低通信开销。
  • 任务被划分为包含参数、外部库和数据集的票据,通过 MySQL 发送至浏览器执行,结果由计算框架收集并聚合。
  • 采用最近最少使用(LRU)垃圾回收机制管理内存,防止长时间运行的进程过度占用资源。

实验结果

研究问题

  • RQ1能否仅使用网络浏览器和 JavaScript 构建一个无需安装客户端软件的分布式深度学习系统?
  • RQ2基于 JavaScript 的深度学习框架能否实现与原生 GPU 加速库相当的性能?
  • RQ3在客户端与服务器之间并行训练卷积层和全连接层,相比串行或模型并行方法,效率如何提升?
  • RQ4与独立执行相比,使用浏览器计算进行分布式深度学习的性能提升如何?
  • RQ5通过智能任务调度与服务端处理,能否在基于浏览器的分布式系统中最小化通信开销与空闲时间?

主要发现

  • Sukiyaki 相较于传统基于 JavaScript 的 DNN 库,实现深度卷积神经网络训练速度提升 30 倍。
  • 在四台客户端环境下,由于有效实现数据并行,所提方法使卷积层训练速度达到独立执行的两倍。
  • 由于服务器专门负责全连接层训练,而客户端并行训练卷积层,全连接层训练速度比独立执行快 1.5 倍。
  • 通过在服务器上并行训练全连接层、在客户端并行训练卷积层,系统显著减少了空闲时间,最大限度降低资源利用率不足问题。
  • 该框架成功实现了仅使用网络浏览器和通用 GPU 的分布式深度学习,且无需安装客户端软件。
  • Sashimi 和 Sukiyaki 库已以 MIT 许可证开源,支持社区扩展与集成。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。