深度学习模型与 Protobuf 和 grpc 的通信:分析开销

问题描述 投票:0回答:0

假设您有 2 个不同的深度学习模型,例如 ResNet-18 和 MobileNet-V3 小模型。您可以在下面看到参数数量、总大小(以兆字节为单位)以及两个模型的层数: |型号|参数|大小 (MB) |层 | | -------------------- | ---------- | --------- | ------ | | ResNet-18 | 11.175.370 | 42.67 | 42.67 68 | 68 | MobileNet-V3 小型 | 1.527.818 | 5.88 | 5.88 210 |

考虑的深度学习框架是 PyTorch。 现在,考虑到ResNet的MB大小大约是MobileNet大小的6倍,并且ResNet的可训练参数总数是MobileNet的9倍,我认为当我必须通过一台机器到另一台机器,那么ResNet的通信时间将大于发送MobileNet所需的时间。 然而,我的经验考虑表明,发送 MobileNet 所需的时间(20 秒)或多或少是发送 ResNet 所需时间(10 秒)的两倍。 我采用的框架使用Protobuf、grpc和TLS进行序列化和通信。我对这两种技术的了解为零。我注意到 MobileNet 中唯一更大的是层数。事实上,MobileNet 的层数大约是 ResNet 的 3 倍(210 vs 68)。然而,其中很多层都是 ReLU 和 AvgPool,因此它们不包含可训练的参数。 您知道层数是否会对发送深度学习模型所需的时间产生如此大的影响?

ssl deep-learning pytorch protocol-buffers grpc
© www.soinside.com 2019 - 2024. All rights reserved.