/d3

d3 is a Dynamic DNN Decomposition Framework

Primary LanguagePython

d3

得益于优秀的深度学习模型,如今大多数软件工程师都有能力建立复杂的模型来解决十年前连最优秀的科学家都觉得棘手的问题。然而这些深度学习模型需要大量的算力支撑。因此,在资源受限、计算体系结构异构的机器人本体上,部署深度学习模型以进行推理面临着挑战。过往云计算的成功经验使得人们自然而然地想到把深度学习模型卸载到云侧执行以解决上述困境。然而,云侧和机器人本体之间的网络带宽小、网络环境不稳定等因素,使云侧卸载执行方法无法较好地提高深度学习模型的端到端推理速度。近五年来边缘计算概念逐渐火热,边缘计算节点距离端侧物理位置近,与端侧间网络环境较好,可以解决网络带宽小、环境差的问题。此外,利用边侧节点的计算资源,可以解决机器人本体计算资源不足的问题。

如何统筹利用云边端计算资源,对深度学习模型进行推理加速近来备受关注。针对这个问题,我们开发了一套深度学习模型分割软件。该软件可以根据深度学习模型中各模型层分别在云、边、端侧的计算节点的计算时间以及云、边、端侧节点之间的网络带宽,对给定的深度学习模型进行拆分,并将拆分后的深度学习模型部署在云、边、端节点上。我们参考了国内外优秀的模型分割软件设计,并在其上进行优化,最终设计出适配云、边、端侧计算节点的深度学习模型分割软件。