硬件辅助的NPU多租户,提高资源利用率和公平性
硬件辅助的NPU多租户,提高资源利用率和公平性
摘要
现代云平台已经部署了像谷歌云TPU这样的神经处理单元(NPU),以加速在线机器学习(ML)推理服务。为了提高NPU的资源利用率,他们允许多个ML应用程序共享同一个NPU,并开发了时间复用和基于抢占的共享机制。然而,对真实世界的NPU的研究表明,由于缺乏对NPU中细粒度硬件资源共享的支持,这些方法的利用率低得惊人。具体而言,其单独的收缩阵列和矢量单元不能同时得到充分利用,这需要基本的硬件辅助来支持多租户。
本文提出了V10,这是一个硬件辅助的NPU多租户框架,用于提高资源利用率,同时确保不同ML服务的公平性。重新思考支持多租户的NPU架构。V10采用运算符调度器来实现对收缩数组和向量单元的并发运算符执行,并提供了实施不同基于优先级的资源共享机制的灵活性。V10还支持细粒度的算子抢占和NPU中的轻量级上下文切换。为了进一步提高NPU的利用率,V10还开发了一种基于集群的工作负载配置机制,用于识别共享NPU上最匹配的ML服务。使用NPU模拟器实现V10。对来自MLPerf AI Benchmarks的各种ML工作负载的实验表明,V10可以将整体NPU利用率提高1.64倍,将聚合吞吐量提高1.57倍,将ML服务的平均延迟降低1.56倍,将尾部延迟降低1.74倍。
图1:将NPU核心用于多租户ML推理应用程序的不同方法。
图2:典型NPU核心的系统架构。
图3:DNN推理工作负载的总体FLOPS利用率(颜色越深表示批量越大)。一些批量较大的工作负载由于内存不足而失败。
图4:MXU推理工作负载的时间利用率。
图5:VPU推理工作负载的时间利用率。
图6:具有算子级并行性的单个DNN推理工作负载的理论最大加速。
图7:DNN推断的HBM带宽利用率。
图8:DNN推理工作负载的屋顶线图。
图9:具有抢占式多任务的NPU利用率(左栏:MXU利用率;右栏:VPU利用率)。
图10:V10的张量算子调度器的体系结构。
图11:V10的算子调度器的工作负载上下文表。
FU ID位的宽度取决于FU的数量。对于4个FU,每行将只需要22字节的片上存储。
表1:DNN模型的平均运算符长度。除了ShapeMask(8)和Mask RCNN(16)之外,批次大小为32。
图12:有或没有抢占的算子调度。
图13:示例3×3 SA(左)的SA算子抢占和恢复过程以及示例128×128 SA(右)的相应时间线。周期号指示何时推送/弹出一列/一行数据。
标记为x'的输出元素只有在所有标记为x的输入元素都被推入SA之后才有效。
图14:基于集群的工作负载配置机制的训练和推理过程。
图15:具有不同批量大小的11个ML模型的聚类。每个点都是一个具有不同批量大小的模型。
表2:不同配置方案的预测精度和最坏情况性能。每种方法都预测两个给定的工作负载的搭配是否可以将整体吞吐量提高≥1.3×。真/假表示预测是否正确。正/负表示预测性能≥1.3×或不≥1.3×。
表3:张量运算符调度器的开销。面积和功率被标准化为单个Google TPU3核心。
表4:评估中使用的ML模型。除了ShapeMask(8)和Mask RCNN(16)之外,批次大小为32。
表5:NPU模拟器的配置。
图16:当配置两个DNN推理工作负载时,不同硬件组件的利用率。
图17:SA运算和VU运算的执行时间细分(从左到右:PMT、V10 Base、V10 Fair和V10 Full)。
图18:吞吐量提高(标准化为PMT)。
图19:V10提高了并置DNN推理工作负载的平均延迟(标准化为PMT)。
图20:V10提高了并置DNN推理工作负载95%的尾部延迟(标准化为PMT)。
图21:将上下文切换开销标准化为单个性能(左),将每个请求的抢占次数标准化为PMT(右)。
(a) 并置工作负载的性能(标准化为理想的单租户性能)。DNN 1具有更高的优先级。
(b) V10的吞吐量满,具有各种优先级设置(w.r.t.PMT)。
图22:V10中不同工作负载优先级的影响。
图23:具有各种调度器时间片的V10 Full的吞吐量(标准化为PMT)。
图24:具有各种矢量内存容量的V10 Full over PMT(左)和HBM BW利用率(右)的吞吐量。
图25:V10随着FU数量的增加和工作负载的配置而扩展(颜色越深,工作负载越多)。
参考文献链接
V10: Hardware-Assisted NPU Multi-tenancy for Improved Resource Utilization and Fairness
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-01-20 Google Jeff Dean 2022年终报告,大模型、AI 绘画神器
2022-01-20 RISC-V处理器研发
2021-01-20 用OpenCV进行摄像机标定
2021-01-20 摄像头标定GML Camera Calibration