深度学习|挑战者Juia再出手,小型神经网络深度学习框架比PyTorch快5倍

深度学习|挑战者Juia再出手,小型神经网络深度学习框架比PyTorch快5倍

很早之前 , 就有Juia取代Python的传闻 。 虽然时至今日 , 还未实现 。 不过先天具备科学计算特色的新型物种Juia编程语言 , 的确在一步步进步 , 逐步“蚕食”以往Python的领地 。 这次则是深度学习框架方面 。
虽然现在大多数人工智能深度学习框架都支持Python接口 , 不过更具“正统血脉”的还是Torch , 作为Python语言的PyTorch框架 , 自从发布以来就广为好评 , 在学术领域已然超越了TensorFlow 。 而后来者Julia显然也不示弱 , 之前就有Flux.jl框架 , 不过它身材苗条 , 机智客觉得它只符合人类天性的喜好 , 而并不具备挑战者的魄力 。 于是现在 , 又一个新框架SimpleChains.jl出现了 。 有关数据表示 , 在小模型场景下 , SimpleChains.jl相比PyTorch最少能提速5倍 。

没错 , 是小模型的神经网络工作内 。 很坦率地说 , 定位于小型神经网络的SimpleChains.jl直面这个范围领域的瓶颈和痛点 。 它很好解决了诸如小型网络GPU内核性能不及优良设计的CPU内核、操作Sigma时O(n)时间复杂度的内存开销严重问题等这类的优化问题 , 还能在CPU上快速拟合和优化小模型 。
出具的实验过程是 , 研究人员用一个2×2的矩阵做了一个实验 , 在带有AVX512指令集的Intel i9-10980XE跑了一下 , 1万个epoch花了0.41秒 , 相比之下pyTorch花了15秒 , 也就是说在这种微型神经网络上 , 提速大约35倍 。 而把实验换到AMD EPYC 7513 带有AVX2指令的机器上 , Julia的实现花费时间为0.72秒 , 而PyTorch的实现则需要70秒 , 差距拉升到了100倍 。
【深度学习|挑战者Juia再出手,小型神经网络深度学习框架比PyTorch快5倍】目前SimpleChains.jl的版本是V0.2.2 。 正因为这个深度学习框架对小型神经网络更友好 , 因此它的定位也很明确 , 开发人员说得明白 , 这个框架不会对所有人都有用 , 但对那些需要它的人来说 , 它是非常有用的 。 也许 , 在工业生产力级别的大型深度学习神经网络上 , Julia还无法和Python相比 , 毕竟后者已经有太多接口和库了 , 占尽先天优势 。 Julia还要假以时日继续努力吧 。