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.
翻译:以回推进为基础的现代深深学习方法在广受欢迎,并被用于多个域和应用领域。同时,还有其他 -- -- 不太为人所知的 -- -- 机器学习算法,其成熟和坚实的理论基础的性能仍未探索。其中一个例子是像Bayesian信任促进神经网络(BCPNN)这样的大脑式Bayesian Infrapation神经网络(BCPNN)。在本文中,我们引入了StraamBrain -- -- 这个框架允许基于BCPNN的神经网络在高性能电子计算系统中实际部署。SreamBrain是一种特定域语言(DSL),在概念上类似于现有的机器学习框架(ML),支持CP、GPUs甚至FPGAs的后端。我们从经验上证明,StraamBrain可以在数秒内训练众所周知的ML基准数据集 MNISTL-10尺寸网络中显示BCPNN。我们还展示了如何使用自定义浮动格式培训SreamBreamBRAin,并展示使用不同的bfloat变式对BCP的影响。