[经验分享] 【玄铁杯第三届RISC-V应用创新大赛】Licheepi 4A 认识拆分学习(split learning)

hollyedward   2023-12-6 10:40 楼主

前言:拆分学习(split learning),又称分割学习,是最近几年一个在边缘计算领域热度比较高的topic。我也是通过阅读几篇相关论文才了解到这个概念。相比于边缘卸载,拆分学习所要解决的问题是如何平衡通信延迟和推理延迟之间的tradeoff。现如今深度学习的模型效果越来越好,但是当前深度学习模型趋向于更大、更复杂,这使得在资源受限的边缘设备上进行有效计算变得更加困难。

images.png

        拆分学习是一种机器学习方法,它将模型的训练过程分割成多个部分,允许在不同的计算节点上进行处理,在计算节点之间传输的是中间层的结果。对于一些神经网络比如VGG,其中间参数一般为几MB,但是对于一些大型模型来说,中间层的结果往往很大。与传统的集中式学习相比,拆分学习特别适合于处理大规模分布式数据,同时降低了对中心处理单元的依赖。边缘计算强调在靠近数据源的地方进行数据处理,从而减少数据传输时间并提高响应速度。在这个背景下,拆分学习成为了一种高效的学习策略,特别是在处理大型深度学习模型时。拆分学习的一个关键挑战是如何平衡通信延迟和推理延迟。随着模型规模的增加,这种平衡变得更加复杂。有效地管理这两种延迟类型对于保证整体系统性能至关重要。

        

images (2).png
        为了深入理解拆分学习的概念和实践应用,我计划在LicheePi 4A开发板上进行小测试。LicheePi 4A,作为一款轻量级、易于操作的开发板,为此类实验提供了理想的测试环境。我的实验将聚焦于实现一个简化的拆分学习模型,通过这个模型,我将探索如何在LicheePi 4A这样的边缘计算设备上有效地分配计算任务。这些实验将涉及模型的分段训练,其中一部分在LicheePi 4A上执行,另一部分可能在更强大的服务器上完成。这样的设置将使我能够亲身体验在有限的计算资源下进行机器学习的挑战,并探索如何优化模型结构和计算流程以适应边缘计算的限制。
myplot.png
myplot1.png

 

 

本实验使用alexnet和vgg16,在数据集cifar10上进行推理,每次推理样本数100个。测试的最优时延的分割层由星号标出。

在测试过程中,发现通信时延和推理速度相差太大,由于是在内网环境,通信时延基本在几秒内,而licheepi的推理时延需要十几或者几十秒。这使得通信时延和推理时延直接很难存在tradeoff,因为这样的情况下肯定是优先发给服务器处理效率更高,后续的测试应该对带宽进行限制,或者减小测试样本量,以及包括更多模型和数据集。还要观察分割计算对能量消耗和内存消耗的影响。

本帖最后由 hollyedward 于 2023-12-7 10:55 编辑

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复