加速生成式AI:克服数据流瓶颈的方案探讨(问答)
问:如果ResNet-50被视为2015年的过时模型,您会推荐哪款模型作为基准测试的替代选择?
答:抛开对经典ResNet-50的不公评价,这款模型在基准测试推理中仍有其一席之地。建议查阅MLCommons网站。在基准测试板块,可以找到关于训练和推理的多种应用场景。这些基准测试能够提供更多关于基础设施如何有效应对预期工作负载的信息。
问:即使使用光纤来连接集群,集群间的光纤似乎会带来大约5ns/m的延迟。这似乎意味着由于存在物理距离的限制,必须通过编程优化来“串联”数据和计算?
【ANDY】参考:教科书解读 “时延”
答:无论是使用光纤还是铜连接集群,信号在光纤和铜导体中的传播速度大致相当,因此仅仅为了减少延迟而转向全光纤基础设施可能并非经济上的最佳方式。此外,即便通过特定光纤或铜基介质的信号传播速度存在细微差异,5ns/m的延迟相对于交换机和网卡的数据包处理延迟(例如,每跳200-800ns)来说微不足道,特别是在城域距离内。再者,软件延迟在物理延迟之上,为系统的最优化增加了2-6微秒的时间。对于AI架构而言,数据/消息是以管道方式传输的,因此原始的延迟并不会产生显著影响。事实上,数据在节点间传输所需的时间只是影响AI性能限制的众多因素之一,且并非最大限制因素。在这方面,NVIDIA的Stephen Jones有一次精彩的演讲,题为“GPU计算的工作原理”(https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s31151/),详细解释了GPU与内存之间的延迟如何更大程度地影响整个系统的效率。也就是说,各种集体通信库(如NCCL、RCCL等)和网络内计算(如SHARP)通过帮助避免网络争用,对整体系统效率产生重大影响。
问:GPU是否比CPU和DPU更高效?
答:GPU、CPU、AI加速器和DPU各自有不同的功能,并存在不同的权衡。CPU擅长执行通过应用程序或程序定义的任意指令流,而像矩阵乘法(在深度学习中常见)这样的高度可并行化工作负载在GPU或AI加速器上执行可能更为高效,因为GPU和加速器能够并行执行线性代数运算。同样,我不会将GPU或AI加速器用作通用数据传输工具,而是会选择CPU或IPU/DPU来进行数据传输。
问:有关向量引擎,目前是否有配备向量引擎的DPU、交换机(如IB或以太网交换机)?
答:目前市场上已有商用向量引擎加速器,但尚未有提供此功能的IPU/DPU或交换机。
问:现代化AI面临的一个主要瓶颈是GPU之间的连接问题。举例来说,NVIDIA在其DGX-2上使用了专有的GPU-GPU互连技术,强调了在单个机箱内使用16个GPU与NVSwitch,但随后在A100上,NVIDIA减少了GPU数量至8个。然而,他们后来通过SuperPOD和第二级交换技术,将GPU数量扩展到了256个。那么,NVlink或其它专有的GPU到GPU互连技术是如何解决这一瓶颈的呢?另外,考虑到LLM不会在成千上万的GPU上进行训练,为什么业界更偏向于8个GPU的部署而不是16个GPU的部署呢?
答:GPU-GPU互连技术与其它高速网络在解决瓶颈方面有着相似的方式。GPU-GPU之间的直接连接具有大带宽、优化的互连(点对点或并行路径)以及轻量级的协议。但至今,这些互连技术主要是专有的,不同GPU供应商之间的产品无法互操作。在服务器机箱中,GPU的数量取决于多种实际因素。例如,每个服务器使用标准RoCE端口的8个GPU配置,能够在训练和推理之间提供良好的平衡。
问:您如何看待内存和存储的融合对生成式AI工作负载的推动,以及加速器、GPU、DPU和CPU之间“统一”内存的发展趋势?
答:如果你所说的统一内存是指可以像资源池一样统一管理,并可以被GPU、CPU/DPU等不同设备按需使用的内存,那么,我们认为在可见的将来,我们不太可能看到这种统一内存的实现。这主要是因为延迟问题。要实现统一内存,就需要进行集中化管理。即使我们将设备间的距离限制在单个机架内,由于额外电路和传输介质的物理长度(每米约5纳秒)导致的延迟增加,也可能对性能产生不利影响。此外,资源共享的一大难题是资源争用。无论是网络拥塞还是在集中式资源访问点发生的争用,共享资源都需要特殊处理,这在一般情况下是具有挑战性的。例如,如果有10个“计算”节点试图访问CXL Type 3设备上的内存池,那么许多节点可能需要等待较长时间才能收到响应。
如果你所说的统一内存是指创建一个新的“容量”内存层,其性能优于SSD但低于DRAM,那么CXL Type 3设备似乎是行业将解决这种应用场景的方式,但可能还需要一段时间才能看到大规模应用。
问:您认为硬件设计是否会越来越专门化,针对AI/ML的不同阶段(如训练、推理等)?但在当前的企业部署中,同一硬件往往能够并行执行多个任务。
答:是的,硬件设计确实在朝着更加专门化的方向发展。我们已经看到了专门的硬件产品推出,例如消费型笔记本电脑中将CPU与推理引擎结合在一起的设计。未来,还将有更多针对特定应用场景(如推理)优化的专门配置推出。这主要是因为不同应用场景对硬件的需求各异。更多详细信息,可以参考OCP全球峰会23上的演示“Meta的网络AI演进”。演示中描述了不同应用场景如何以不同方式对基础设施造成压力。同时,我们也要看到,尽管硬件在专门化,但加速器和硬件本身仍然能够处理AI的各种工作类型。这意味着一个特定的集群可以在任何时候运行所需的任何混合工作。
问:谷歌的领导者,如Amin Vahdat(Engineering Fellow & VP),对远离CPU实现显著加速的可能性表示怀疑。您能进一步阐述在面对这一挑战时,如何定位以数据为中心的计算吗?
答:这是一个价值数十亿美元的大问题啊!目前来说,并没有一个明确的答案。可以设想一下,构建一个数据处理管道,其中数据转换加速器与进行训练和推理的CPU/加速器的位置相隔甚远。如果你认为GPU是一种加速器而非CPU,那么你也可以构建一个完全基于加速器的训练管道。其实,在构建ML基础设施时,并没有固定的答案。在构建有效的AI基础设施解决方案时,CPU与加速器之间并没有一个明确的界限。关键的区别在于这些设备在整体基础设施中所扮演的角色。随着新兴的“chiplet”和类似技术的出现,我们将会看到这些界限和区别变得更加模糊。Vahdat和其他人讨论的一个重要问题是:未来几年内,连接数据到计算元素(CPU、GPU、AI加速器、混合体)的网络/内存架构和协议将会得到显著的发展和演进。
Source:Erik Smith; Q&A for Accelerating Gen AI Dataflow Bottlenecks; March 25, 2024
--【本文完】---
近期受欢迎的文章:
更多交流,可添加本人微信
(请附姓名/关注领域)