是否需要立即处理的数据使推理的实现有很大的不同。
深入学习和AI推理起源于第一次部署在数据中心和实用,容量的应用程序的数据中心。直到最近推理开始蔓延到边缘应用程序(数据中心)之外的任何地方。
在数据中心的数据处理是“池”的数据。例如,当你看到你的相册标记的所有你的狗和你的家人的照片,它是由一个推理程序,跑“背景”的处理你的照片。大量的数据可用,没有人在等待结果,所以数据可以在大批量处理最大化吞吐量/ $。
边,要处理的数据通常是来自一个传感器(相机一般,而且激光雷达、雷达、医学成像设备等)。
最常见的传感器是一个相机:通常他们捕捉图像在像素大小30帧/秒。
所以进来的边缘上的数据流,通常需要实时处理,所以延迟变得非常重要。
让我们考虑一个例子:一个2像素摄像头捕捉30帧/秒。
所以一个新的帧每33毫秒。
在一个典型的应用程序处理管道中的有三个步骤:
例如,如果应用程序是自动驾驶,所有三个步骤必须在很短的时间内完成为了检测和避免触及对象像行人或汽车。
不同的应用程序将基于他们在做什么有不同的需求和他们的权力/成本/尺寸约束。
让我们考虑一个应用程序,该应用程序是运行一个YOLOv3神经网络模型检测和识别对象。
考虑Nvidia Xavier NX:它有三个处理单元,可以运行模型
什么是Nvidia的吞吐量Xavier NX YOLOv3吗?
“池”应用程序如下:
流媒体应用程序呢?每张图片到达每一个33毫秒。图片需要处理要按顺序执行。例如,如果跟踪一个行人首先你必须检测行人当他们第一次出现在眼前,然后逐帧跟踪它们,因为他们的举动。泽维尔NX不能跟上30帧/秒。它甚至不能跟上15帧/秒,尽管“池”吞吐量17帧/秒以上。
让我们将其分解假设我们每2过程nd图像到每67毫秒。
图0:到达0 msec,分派到GPU,处理95微秒
图1:到达67 msec, GPU繁忙,所以调度DLA1,处理67 + 290 = 357毫秒
图2:到达133 msec, GPU是可用的,处理133 + 95 = 228毫秒
图片3:到达200 msec, GPU繁忙,DLA1繁忙,DLA2调度,处理490微秒
图4:到达267 msec, GPU是可用的,处理362微秒
所以你可以看到图片正在处理的序列为应用程序是不能接受的。
如果我们选择过程10帧/秒,画面到每100毫秒,95毫秒GPU可以跟上。的流吞吐量Xavier NX对于这个应用程序是10帧/秒。
流的吞吐量=的逆延迟执行单元,可以“保持”。
AI推理是非常新的对我们大多数人来说,很容易混淆。大型批量大小吞吐量听起来令人印象深刻,但边缘上处理的应用程序流的批量大小的1和执行延迟是重要的。流吞吐量的逆执行延迟。
留下一个回复