体系结构论文(四十八):Garrison: A High-Performance GPU-Accelerated Inference System for Adversarial 【DAC‘24】

Garrison: A High-Performance GPU-Accelerated Inference System for Adversarial Ensemble Defense
Yan Wang1,2, Xingbin Wang∗1, Zechao Lin1,2, Yulan Su1,2, Sisi Zhang1, Rui Hou1 and Dan Meng1 1Key Laboratory of Cyberspace Security Defense, Institute of Information Engineering, CAS 2School of Cyber Security, University of Chinese Academy of Sciences
 

这篇文章讲的是一个名为Garrison的系统,它用于提高DNN在面对对抗性攻击时的推理性能。简单来说,它讨论了如何通过多模型集成防御来增强系统的鲁棒性,并通过GPU加速来确保系统能快速处理大量的任务。

一、INTRO

1. 背景

DNN容易受到对抗性攻击,这种攻击是通过输入一些经过精心设计的对抗样本来欺骗模型,导致它做出错误的预测。为了解决这一问题,研究者提出了对抗性集成防御(AED)方法,它通过在运行时构建多个DNN模型的组合来提高模型的鲁棒性。具体做法是,通过多个模型一起做决策(例如加权投票),使得单个对抗样本难以同时欺骗多个模型,从而提高系统的安全性。

对抗性攻击是指攻击者通过对输入数据进行精细的、几乎无法察觉的扰动,制造出对抗样本,这些样本看起来与正常输入几乎一样,但却能够误导神经网络,使其产生错误的预测。

2. 现有系统的不足

然而,现有的基于GPU的推理系统在部署AED方法时存在一些问题,主要包括:

  • 资源占用大:由于每次查询都需要使用多个模型,计算资源消耗大,导致推理延迟和资源分配问题。
  • 随机性挑战:每次查询使用的模型是随机选择的,这增加了调度的复杂性。现有的调度机制无法适应这种随机性。
  • 动态模型更新的需求:AED需要频繁地更新模型,但现有的GPU推理系统在进行模型切换时,任务之间容易发生干扰,导致性能下降。

随机性挑战是因为对抗性攻击往往是针对特定模型设计的,通过随机选择多个模型参与推理,攻击者无法预知具体哪些模型会被使用,增加了攻击成功的难度。

动态模型更新是因为在推理系统中,如果某些模型长时间不变,攻击者可以通过不断查询和分析系统的预测结果来逐渐推断出这些模型的内部结构,从而创建一个与目标系统相似的替代模型(简单点说就是模型长时间不更新系统就会被破解)

3. Multi-Instance GPU (MIG) 的引入

MIG(多实例GPU)的出现提供了一个新的机会。MIG技术可以将一个GPU划分成多个小实例,使多个模型能够共享同一个GPU,提升了推理吞吐量,并且由于硬件资源隔离,可以减少不同任务之间的干扰。基于MIG的推理系统可以动态更新模型池,不会影响其他运行的模型,解决了之前系统中的动态更新问题。

具体来说:MIG是一种NVIDIA推出的技术,旨在通过将一个物理GPU划分为多个虚拟实例,使得多个任务或模型可以同时在同一个GPU上运行,而彼此之间互不干扰。每个实例具有独立的计算资源(如流多处理器、缓存和内存等)。每个实例可以被看作一个独立的小型GPU,运行不同的任务或模型。每个实例在硬件上是完全隔离的。

4. Garrison系统

为了解决现有系统的不足,作者提出了Garrison系统,它主要通过以下两种方法来应对挑战:

  • 硬件资源优化:Garrison根据MIG的异质性(不同实例具有不同的计算能力)对硬件资源进行优化分配,确保不同模型可以高效利用资源。
  • 强化学习调度:Garrison采用了基于强化学习的调度机制,能够在保证推理延迟的同时,增强对抗鲁棒性。它可以动态地根据查询的需求和系统状态来选择模型。

5. 贡献

作者通过实验表明,Garrison系统相比于当前最先进的推理框架,能够提高24.5%的对抗鲁棒性,并且推理速度加快了6.6倍。

本文的核心贡献如下:

  • 提出了一种基于MIG的多粒度硬件资源分配方法,能够提高GPU的整体利用率。
  • 设计了一种基于强化学习的调度机制,能够在随机性模型决策中实现对抗鲁棒性和推理延迟的平衡。
  • 实验结果证明了Garrison系统在鲁棒性和推理速度上的显著提升。

 二、前置知识、动机与挑战

1. 对抗性集成防御的三个关键特征

  • 多样化模型集成:通过使用多个不同架构的模型进行推理,AED降低了对抗性攻击样本在目标模型和替代模型之间的转移性。这意味着攻击者很难找到一种对抗性样本能够欺骗多个模型,因为不同架构的模型对输入扰动的反应不尽相同。
  • 随机性:在每次推理时,系统会随机选择多个模型进行集成推理。这样做能够有效提高鲁棒性,因为随机模型集成能够在理论上提供比确定性防御更高的对抗性鲁棒性。攻击者难以预测系统使用哪些模型,从而难以设计出对抗性样本欺骗所有模型。
  • 动态更新模型池:为了防止攻击者通过多次查询盗取模型信息,系统需要定期更新模型池,防止攻击者有足够的时间去分析模型的行为并构造有效的攻击。

2. 多实例GPU(MIG)的介绍

MIG是Nvidia GPU的一项新功能,它允许用户将一个GPU分割成多个GPU实例(GIs),每个实例拥有独立的计算和存储资源,如流多处理器(SMs)、L1/L2缓存和DRAM内存。这使得不同的DNN模型可以同时运行而互不干扰,如图1所示,GPU可以被划分为不同大小的实例,最大可以划分为1/7、2/7、3/7、4/7、7/7等不同大小的资源块。

3. 在MIG中部署AED的挑战

图2:推理延迟分析图

(a) 不同DNN模型的延迟与GPU实例大小的关系

  • 纵轴表示延迟(ms),横轴表示不同的GPU实例大小(从1片到7片)。

  • 随着实例大小的增加,推理延迟逐渐减少,但在达到一定实例大小后,延迟的减少趋于平缓。这说明随着硬件资源的增加,模型推理性能的提升会有一个饱和点,超过这个点再增加资源,性能提升不再明显。

(b) 不同查询批次大小与GPU实例大小的关系

  • 纵轴表示延迟(ms),横轴表示GPU实例大小(从1片到7片)。

  • 批次大小较大的查询(如32)在较大的GPU实例上表现出显著的延迟降低,而批次较小的查询(如1)在GPU实例大小增加后延迟降低不明显。这表明大批次查询能够更好地利用GPU的并行性,而小批次查询则受益较少。

  • MIG吞吐量最大化:由于不同的DNN模型有不同的并行性和资源需求,将同样大小的GPU实例分配给所有模型是不现实的。图2(a)显示,增加GPU实例的大小虽然可以减少推理延迟,但当模型达到其最佳点后,延迟的减少趋于饱和。大批量的查询能够更好地利用GPU的并行性和本地性,而小批量查询则不能,如图2(b)所示。因此,查询大小和GPU实例的粒度必须结合起来考虑,以做出更好的资源分配决策。

(a) 模型层次的调度复杂性

  • 这张图展示了在模型层次上的调度问题。

  • 三个模型(Ma、Mb、Mc)分别执行不同的查询任务。模型A的计算复杂性更高,导致它的任务执行速度比模型B和C慢。

  • 红色箭头和警告符号表明,模型A由于处理的任务Q1规模较大,因此在时间t2'时刻产生了调度冲突,不能按时完成任务。

(b) 实例层次的调度复杂性

  • 这张图展示了在GPU实例层次的调度问题。三个实例(GI 1, GI 2, GI 4)处理不同任务。

  • 时间线展示了不同查询在各实例上的处理进程,红色箭头和警告符号表明在时间t5处出现了一个任务延迟,导致服务级别目标(SLO)被违反。

  • 高效的查询调度:在模型级别和实例级别上都需要实现高效的调度策略。如图3(a)所示,在模型级别,直接将查询分配给所有可用模型可能会因为“拖慢者效应”导致推理延迟。特别是一些复杂度较高的模型会比其他模型执行时间长,导致多个后续查询无法在规定的时间内完成推理。在实例级别,如图3(b)所示,采用“先来先服务”的调度策略可能会导致次优决策。如果没有考虑到不同查询大小和实例异质性的匹配,可能会违反服务级别目标(SLO)。因此,调度器必须意识到MIG的异质性,才能有效分配查询。

 三、Garrison系统

1. Garrison系统概述

  • 随机集成模型选择:采用基于强化学习的调度策略。

  • 异构感知的路由优化:选择适合的GPU实例来处理这些模型推理任务。不同的模型可能需要不同的GPU资源来完成推理。

  • 加权投票

  • 批次大小分布监控:持续监控查询的批次大小,并生成相应的概率分布,以优化未来的资源分配。

  • 模型池更新:定期更新系统中使用的模型。

  • 多粒度资源分配:根据查询的大小和模型特性动态分配GPU资源。

  • 局部重配置:允许在不影响其他任务的情况下,动态调整GPU实例分区以适应新的模型推理需求。

Garrison系统:

  • 随机集成选择:系统首先通过强化学习调度策略随机选择若干模型进行集成推理。每个模型被选中的概率基于其采样概率(即模型的防御性能,性能更强的模型有更高的选择概率),从而增强系统的对抗鲁棒性。该过程确保尽可能多的模型参与推理,以应对恶意用户的查询。

  • 异构感知路由优化:所选的模型集成后,路由优化器会根据GPU实例的异质性将查询分配到合适的GPU实例上。GPU实例之间的异质性指的是不同实例具有不同的计算能力,合理的任务分配可以提高资源利用率。

  • 推理结果聚合:模型完成推理后,系统将根据各个模型的权重,通过加权投票的方式将多个模型的推理结果组合在一起,生成一个鲁棒的最终预测输出。这一过程有助于防止对抗样本欺骗整个系统。

  • 动态资源分配:系统会根据查询批次大小的变化,不断调整资源分配,并动态更新防御模型池。MIG(多实例GPU)的局部重配置特性允许GPU实例在任务运行过程中动态分区和重新分配,从而适应新的任务需求。这一特性提高了系统在面对不同任务时的灵活性,防止对抗性攻击通过反复查询构建替代模型。

2. 多粒度资源分配与最佳区间识别

多粒度资源分配是Garrison系统的核心,通过确定每个模型在不同查询范围内的最优GPU实例大小(GI),实现高效的资源利用。

  • 利用率分析:图5展示了在VGG11模型上,针对不同查询批次大小(如8、16、32等),GPU实例的利用率随批次大小增加的变化。随着批次大小增加,利用率提升,但在某一临界点之后,GPU的利用率增长趋于平缓,同时延迟却呈线性上升(图2b)。

  • 最佳区间(Sweet Interval):最佳区间(如16至32的范围)标志着GPU资源利用效率最高的区间。在该区间内,GPU的并行计算能力能够得到充分利用,而超出该区间,增加批次大小会导致GPU资源利用效率下降。因此,调度器应尽量在最佳区间内分配查询任务,以优化资源利用与推理延迟的平衡。

3. 多粒度资源分配算法(Algorithm 1)

Garrison的多粒度资源分配算法基于离线分析,结合推理延迟、查询大小分布和模型采样概率来为每个模型分配GPU实例。

输入参数
  • GS[m, b]:模型m在查询范围b内的最优GPU实例大小。
  • L[m, b]:模型m在查询范围b内的推理延迟。
  • D[b]:查询范围b的累积概率密度。
  • SP[m]:模型m的采样概率。
  • M:GPU切片总数(GPU资源的可用数量)。

说人话版算法解析:

  • 计算每个模型的资源需求

    • 通过考虑每个模型的GPU实例大小、推理延迟和采样概率,计算出每个模型在特定查询批次大小下需要多少资源(中间比率 IR)。
  • 计算资源分配比例

    • 对所有模型进行标准化,计算每个模型在不同查询批次下应分配多少资源(相对比率 RR),并结合查询大小的分布计算出最终的资源需求(绝对比率 AR)。
  • 分配GPU实例

    • 根据每个模型的绝对资源需求,分配相应数量的GPU实例给模型,确保每个模型能够高效利用硬件资源。
算法核心步骤
  1. 计算中间比率(IR[m, b]):首先计算每个模型在各个查询范围内的中间比率(IR),这是通过最优实例大小、推理延迟和模型采样概率来衡量每个模型在特定查询范围内对资源的需求。

  2. 计算相对比率(RR[m, b]):对不同模型的资源需求进行标准化处理,得到相对比率(RR)。这一比率表示在相同查询范围下,模型之间资源分配的相对公平性。

  3. 计算绝对比率(AR[m, b]):绝对比率是在相对比率的基础上,再结合查询大小的概率密度来优化资源分配。通过累积查询大小的概率密度D[b],系统可以优先为那些出现概率更高的查询分配更多资源

  4. 计算最终GPU实例分配数量(N[m, b]):最后,系统根据计算得出的绝对比率,结合总可用GPU实例数量,分配给每个模型在每个查询范围内的实例数量。每个模型分配的GPU实例数N[m, b]根据最优GPU实例大小GS[m, b]进行划分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D了一天bug忘了编译

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值