[The 3rd Xuantie Cup RISC-V Application Innovation Competition] Licheepi 4A Understanding Split Learning
[Copy link]
This post was last edited by hollyedward on 2023-12-7 10:55
Preface: Split learning, also known as segmentation learning, is a hot topic in the field of edge computing in recent years. I also learned about this concept by reading several related papers. Compared with edge offloading, the problem that split learning aims to solve is how to balance the tradeoff between communication delay and inference delay. Nowadays, deep learning models are getting better and better, but current deep learning models tend to be larger and more complex, which makes it more difficult to perform effective computing on resource-constrained edge devices.
Split learning is a machine learning method that divides the model training process into multiple parts, allowing processing on different computing nodes, and transmitting the results of the intermediate layers between the computing nodes. For some neural networks such as VGG, the intermediate parameters are generally several MB, but for some large models, the results of the intermediate layers are often large. Compared with traditional centralized learning, split learning is particularly suitable for processing large-scale distributed data while reducing dependence on central processing units. Edge computing emphasizes data processing close to the data source, thereby reducing data transmission time and improving response speed. In this context, split learning has become an efficient learning strategy, especially when dealing with large deep learning models. A key challenge of split learning is how to balance communication latency and inference latency. This balance becomes more complex as the model size increases. Effectively managing these two types of latency is critical to ensuring overall system performance.
In order to gain a deeper understanding of the concepts and practical applications of split learning, I plan to conduct small tests on the LicheePi 4A development board. LicheePi 4A, as a lightweight and easy-to-operate development board, provides an ideal testing environment for such experiments. My experiments will focus on implementing a simplified split learning model, through which I will explore how to effectively distribute computing tasks on edge computing devices such as LicheePi 4A. These experiments will involve segmented training of the model, one part of which is executed on the LicheePi 4A and the other part may be completed on a more powerful server. Such a setup will allow me to experience firsthand the challenges of machine learning with limited computing resources and explore how to optimize the model structure and computing process to adapt to the limitations of edge computing.
This experiment uses AlexNet and VGG16 to perform inference on the CiFar10 dataset, with 100 samples per inference. The segmentation layer with the best latency in the test is marked with an asterisk.
During the test, it was found that the communication delay and inference speed differed greatly. Because it was in an intranet environment, the communication delay was basically within a few seconds, while the inference delay of licheepi required more than ten or dozens of seconds. This makes it difficult to directly trade off the communication delay and inference delay, because in this case it is definitely more efficient to send it to the server first. Subsequent tests should limit the bandwidth, or reduce the test sample size, and include more models and data sets. It is also necessary to observe the impact of split calculations on energy consumption and memory consumption.
|