当前位置: X-MOL 学术arXiv.cs.DC › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
StreamBrain: An HPC Framework for Brain-like Neural Networks on CPUs, GPUs and FPGAs
arXiv - CS - Distributed, Parallel, and Cluster Computing Pub Date : 2021-06-09 , DOI: arxiv-2106.05373
Artur Podobas, Martin Svedin, Steven W. D. Chien, Ivy B. Peng, Naresh Balaji Ravichandran, Pawel Herman, Anders Lansner, Stefano Markidis

The modern deep learning method based on backpropagation has surged in popularity and has been used in multiple domains and application areas. At the same time, there are other -- less-known -- machine learning algorithms with a mature and solid theoretical foundation whose performance remains unexplored. One such example is the brain-like Bayesian Confidence Propagation Neural Network (BCPNN). In this paper, we introduce StreamBrain -- a framework that allows neural networks based on BCPNN to be practically deployed in High-Performance Computing systems. StreamBrain is a domain-specific language (DSL), similar in concept to existing machine learning (ML) frameworks, and supports backends for CPUs, GPUs, and even FPGAs. We empirically demonstrate that StreamBrain can train the well-known ML benchmark dataset MNIST within seconds, and we are the first to demonstrate BCPNN on STL-10 size networks. We also show how StreamBrain can be used to train with custom floating-point formats and illustrate the impact of using different bfloat variations on BCPNN using FPGAs.

中文翻译:

StreamBrain:用于 CPU、GPU 和 FPGA 上类脑神经网络的 HPC 框架

基于反向传播的现代深度学习方法风靡一时,并已在多个领域和应用领域得到应用。与此同时,还有其他——鲜为人知的——机器学习算法具有成熟而坚实的理论基础,其性能仍有待探索。一个这样的例子是类似大脑的贝叶斯置信传播神经网络 (BCPNN)。在本文中,我们介绍了 StreamBrain——一个允许基于 BCPNN 的神经网络实际部署在高性能计算系统中的框架。StreamBrain 是一种领域特定语言 (DSL),在概念上类似于现有的机器学习 (ML) 框架,并支持 CPU、GPU 甚至 FPGA 的后端。我们凭经验证明 StreamBrain 可以在几秒钟内训练著名的 ML 基准数据集 MNIST,我们是第一个在 STL-10 大小的网络上演示 BCPNN 的人。我们还展示了如何使用 StreamBrain 来训练自定义浮点格式,并说明在使用 FPGA 的 BCPNN 上使用不同 bfloat 变体的影响。
更新日期:2021-06-11
down
wechat
bug