虽然延迟经常被讨论为网络和系统性能中不可避免的瓶颈,但技术的进步正在改变这一说法。多年来,人们一直认为复杂系统中的延迟必须始终很高——特别是在人工智能(AI)网络、实时应用程序和分布式计算等高需求场景中——这一观点塑造了行业的期望。然而,通过优化的网络协议、先进的硬件和创新的数据处理策略,我们看到延迟可以被最小化,远远超出了我们曾经认为的可能。
现在是时候重新思考我们对待延迟的方式了——不是把它当作一个不可避免的限制,而是一个可以解决的挑战。通过消除这种“无法解决的延迟”神话,我们可以在当今要求最苛刻的应用程序中解锁新的性能和效率水平,从实时人工智能推理到非常大的人工智能训练工作负载。
延迟——系统之间数据传输的延迟——是人工智能后端网络的一个关键因素。延迟影响数据处理和模型训练的效率,在人工智能应用程序的整体性能中起着重要作用。
但是并不是所有的延迟都是一样的。在人工智能后端网络中,存在不同类型的延迟度量,包括头部、平均和尾部延迟。了解这些延迟类型及其对数据包丢失和数据包重传的影响对于优化AI系统性能至关重要。
为什么延迟对AI工作负载性能至关重要?
AI工作负载周期由三个主要的重复步骤构建。在计算阶段,GPU在执行并行计算指令。在通知阶段,计算结果根据集合通信模式发送到其他GPU。最后,在同步阶段,计算会暂停,直到来自所有GPU的数据到达。可以很容易地理解,最慢路径(也称为最坏情况尾部延迟)是对作业完成时间(JCT)影响最大的路径。
人工智能后端网络中的延迟类型
头部延迟
头部延迟是指数据传输中观察到的最小延迟。它表示发送和接收数据包之间的最低延迟。换句话说,它对应于网络中可能的最快响应时间。头延迟对于建立网络的基准性能至关重要,特别是在高速、低延迟的环境中,其中最快的响应时间至关重要。
例子:头部延迟可能是通过低流量网络路径发送的数据包的延迟。这种低延迟在理想条件下是可以实现的,但在具有不同网络负载的生产环境中可能很少见。
平均延迟
平均延迟是指数据包随时间的平均延迟。该指标提供了数据通常传输速度的总体感觉,通常用作衡量一般网络性能的基准。然而,平均延迟本身并不能说明全部情况,因为它不能解释异常值或偶尔的高延迟。在人工智能应用中,一致的性能至关重要,仅依赖平均延迟可能会产生误导,因为它并不代表最坏的情况。
例子:在分布式AI训练环境中,如果大多数数据包在10毫秒内到达,但少数数据包需要更长的时间,则平均延迟将出现偏差。较低的平均延迟通常表示网络健康状况良好,但监测尾部延迟以了解可变性也很重要。
尾部延迟
尾部延迟测量最慢数据包所经历的延迟,通常表示为响应时间的高百分比(如第95%或99%)。尾部延迟在人工智能网络中至关重要,因为它突显了可能影响性能的潜在瓶颈和延迟。人工智能应用程序对尾部延迟特别敏感,因为任务通常涉及处理大量数据,即使是几个延迟的数据包也会破坏整个过程。
例子:在神经网络训练过程中,如果少数数据包由于网络拥塞而出现高尾延迟,则可能会延迟整个训练时间,从而使尾延迟成为网络优化中的一个关键问题。
优化延迟以获得最佳JCT性能——以稍高的头部延迟换取较少的不一致和较低的尾部延迟
延迟对数据包丢失和重传的影响
在人工智能网络中,延迟不仅影响响应时间;它对数据包丢失和重传也有重大影响,这两者对于维护数据完整性和一致性都至关重要。
数据包丢失和延迟
当数据包无法到达目的地时,通常是由于拥塞、传输错误或网络容量不足,就会发生数据包丢失。高延迟会增加丢包的可能性,特别是在时间敏感的AI应用程序中。当延迟很高时,数据包可能会“超时”或丢失,特别是在多个系统试图同时通信时。
数据包丢失会引入额外的延迟,从而显著影响模型训练和推理性能。当数据包丢失时,应用层必须重新传输它,而重新传输所需的时间直接增加了GPU的空闲时间,降低了整体效率。
数据包重传和延迟
数据包重传是一个重新发送丢失或损坏的数据包以确保数据完整性的过程。高延迟会增加数据包重传的频率,因为时间敏感的数据可能不会按预期到达。每次重传都会增加额外的延迟,进一步增加AI应用程序所经历的延迟。在数据高度相互依赖的情况下——比如在分布式人工智能模型训练中——重复的重传会显著减缓整个训练过程。
考虑一个AI模型需要来自多个分布式服务器的数据的情况。如果网络经历延迟峰值导致数据包重传,每个延迟的数据包都会减慢整个系统的速度,影响模型收敛并增加计算成本。
Go-Back-N ARQ——把双刃剑
由于人工智能网络的效率至关重要,像Go-Back-N ARQ这样的高级协议通常在人工智能网络路由器中实现。Go-Back-N是一种自动重复请求(ARQ)协议,允许在接收序列中第一个数据包的确认(ACK)之前发送多个数据包(由可配置的窗口大小决定)。该协议通过减少网络中所需的ACK数量来提高效率,从而最大限度地减少网络开销。
然而,Go-Back-N会显著影响AI网络JCT,因为它需要重新传输窗口中的所有数据包,即使只有一个数据包丢失。如果一个数据包中发生错误或丢失,协议要求重新发送指定窗口内的所有数据包(N个数据包)。这可能会导致延迟,并对时间敏感的AI任务的整体性能产生负面影响。
推理延迟和训练延迟
推理工作负载中的延迟
推理涉及使用经过训练的模型来生成预测或基于新数据做出决策,延迟是确保快速响应结果的关键因素。推理任务通常是实时或接近实时的,这意味着它们必须几乎即时地提供输出才能有效。
推理被广泛应用于虚拟助手、推荐引擎、自动驾驶、金融交易等应用中,这些应用的响应时间直接影响用户体验和系统整体性能。低延迟可确保接近即时的结果,从而显著提高用户满意度和系统响应能力。
在三种类型的延迟中——头部延迟、平均延迟和尾部延迟——“最坏情况”的尾延迟在推理任务中尤为重要。高尾延迟会造成延迟和不一致的用户体验,最终限制模型的性能。因此,最小化尾部延迟对于优化AI推理任务至关重要,因为它为最大响应时间设定了基准,并直接影响用户满意度和系统可靠性。
训练工作负载中的延迟
训练通常在反复处理数据以提高模型准确性的迭代中完成。数据传输过程中的高延迟会延长每次迭代,从而大大延长作业完成时间。在训练工作负载中,GPU之间的数据传输量非常大,因为处理任务被分配给多个GPU,并行处理必须同步。值得注意的是,尾部延迟将再次对训练部分的JCT产生最大影响,因为同步机制会等待最后一个GPU的处理数据。
总之,减少训练工作负载中的尾部延迟可以加快作业完成时间,提高资源利用率,并改善模型迭代周期。这对于加速模型开发、降低成本以及在不断变化的环境中快速调整模型至关重要。
优化以太网结构中的尾部延迟
理解和管理延迟、数据包丢失和重传对于高性能人工智能后端网络至关重要。虽然标准以太网具有多个关键优势,但它被认为是一个有损协议,具有不可预测的延迟和频繁的数据包丢失。
为了针对AI后端集群网络优化以太网,需要将网络的有损特性“转换”为具有可预测尾部延迟的无损特性。业界正在为这一挑战提供一些解决方案。第一种是基于遥测技术——监控网络负载和不同的缓冲区,以减少延迟和数据包丢失。第二种解决方案基于调度矩阵,完全消除了数据包丢失,并提供了可预测的尾部延迟。
DriveNets Network Cloud-AI——预定以太网结构
DriveNets Network Cloud-AI解决方案提供了一个针对AI工作负载进行优化的网络,具有无损的、可预测的预定结构。虽然预定机制只增加了最小的基线头部延迟,但它显著提高了平均和尾部延迟性能。
调度矩阵与先进的信元喷洒技术相结合,将数据包分割成信元并将其分布在所有网络链路上,实现了后端网络的高效负载平衡。这种方法最大限度地减少了可能导致数据包丢失和重传的瓶颈,最终减少了尾部延迟,并为人工智能工作负载提供了更稳定、响应更快的网络环境。
最大限度地减少中断,提高性能,并确保跨人工智能集群的一致、及时的数据交付
在人工智能网络中,尾部延迟在决定网络效率、GPU利用率和整体性能方面起着最重要的作用,特别是对于分布式和时间敏感的人工智能工作负载。虽然头部延迟、平均延迟和尾部延迟都提供了对网络行为的有价值的见解,但尾延迟通常会揭示可能破坏性能的最关键瓶颈。高尾延迟通常会导致数据包丢失和重传增加,增加延迟并影响AI模型训练和推理过程。
通过优化尾部延迟,机构可以建立强大、可靠的人工智能网络基础设施,最大限度地减少中断,提高性能,并确保跨人工智能集群的一致、及时的数据交付。The DriveNets Network Cloud-AI解决方案为AI后端网络提供了一种最佳方法。作为一种基于以太网的解决方案,它具有先进的预定结构,可确保最低的平均和尾部延迟,提供卓越的作业完成时间,最大限度地提高网络利用率,并推动最佳的投资回报率(ROI)。