在过去十年中,机器学习领域涌现了众多算法和应用,这些深度学习算法和应用的背后依赖于各种深度学习工具和框架。TensoRFlow 和 PyTorch 等深度学习框架的广泛采用,使得行业从业者能够更加便捷地构建模型。
通过回顾深度学习框架的发展历程,我们可以清晰地认识到深度学习框架与算法之间的紧密关系。这种相互依存的良性循环推动了深度学习框架和工具的迅速进步。
神经网络的概念已经存在多年。在21世纪初之前,虽然有一些工具可用于描述和开发神经网络,如 MATLAB、OpenNN 和 Torch,但这些工具要么不是专为神经网络设计,要么其用户 API 复杂且缺乏 GPU 支持。在那个时期,研究者们在使用这些早期深度学习框架时面临着重重挑战。
青铜时代(约2012年)
2012年,多伦多大学的 Alex Krizhevsky 等人提出了一种名为 AlexNet 的深度神经网络架构,该架构在 ImageNet 数据集上达到了前所未有的精度,远超其他竞争者。这一成功引发了深度神经网络的热潮,之后各类模型在 ImageNet 数据集的准确率上不断创下新高。与此同时,早期的一些深度学习框架如 CaFFe、ChAIneR 和 Theano 也相继问世。
铁器时代(2015-2016年)
AlexNet 的成功吸引了计算机视觉领域的广泛关注,重新点燃了对神经网络的希望,许多大型科技公司开始投入深度学习框架的开发。谷歌开源了著名的 TensoRFlow 框架,至今仍是机器学习领域中最流行的深度学习框架。CaFFe 的创始人加盟 Facebook,随后推出了 CaFFe2;与此同时,Facebook AI 研究(FAIR)团队发布了另一个受欢迎的框架 PyTorch,微软研究院则开发了 CNTK 框架。亚马逊则选择了 MXNet,这是华盛顿大学、CMU 和其他机构的联合学术项目。
罗马时代(2019-2020年)
经过激烈的竞争,深度学习框架最终形成了两大“帝国”:TensoRFlow 和 PyTorch,这两者在深度学习框架的研发与应用中占据了超过95%的市场份额。2019年,ChAIneR 团队转向支持 PyTorch;微软停止了 CNTK 框架的积极开发,部分团队转向支持 Windows 和 ONNX 上的 PyTorch。KeRas 被 TensoRFlow 收录,并成为 TensoRFlow 2.0 版本中的高级 API 之一。在深度学习框架领域,MXNet 仍然保持着第三的位置。
工业时代(2021年及以后)
深度学习在自动驾驶、个性化推荐、自然语言理解和医疗保健等多个领域取得了显著的成就,吸引了前所未有的用户、开发者和投资者的关注。这也预示着未来十年将是深度学习工具和框架发展的黄金时期。
展望未来,有几个技术趋势可能会成为下一代深度学习框架的主流:
基于编译器的算子优化。目前,许多操作符内核是通过手动或第三方库实现的,这些库针对特定硬件平台进行了优化。深度学习编译器提出了在任何硬件后端上有效优化和运行计算的方案。
统一的 API 标准。许多深度学习框架共享相似但略有不同的用户 API。JAX 获得了用户的热烈反馈,其 API 完全兼容 NumPy。
数据搬运作为一等公民。新近开发的深度学习框架,如 OneFlow,将数据通信视为模型训练整体计算图的一部分。
总结
我们正站在人工智能革命的黎明。人工智能领域的新研究和应用正在以前所未有的速度涌现。同时,人脑中约有100万亿个参数(即突触)。未来的深度学习框架很可能是算法、高性能计算、硬件加速器和分布式系统交叉融合的成果。
