-
摘要:
预训练模缓解了训练数据和算力受限的问题,也催生了模型开发和应用的新范式——深度学习模型供应链. 在这一供应链中,预训练模型由原始发布者上传,并经二次开发者进行必要的迁移、压缩与部署,以适应不同的应用需求. 然而,这一过程引入了新的环节和多元要素,随之产生了数据泄露和计算安全等风险. 尽管深度学习模型供应链已被广泛采纳,目前对于其安全性威胁的系统性研究仍然不足. 针对这一研究空白,概括了深度学习模型供应链的概念及其基本框架,调研了相关的研究工作. 依据模型生命周期的不同阶段,详细分析了设计、二次开发、部署和使用各环节的安全脆弱点,对可能遭遇的安全性攻击手段进行了系统的梳理、比较和总结,并探讨了相应的防护策略. 为了帮助读者更好地使用预训练模型,对现有预训练模型仓库进行了比较. 最后,基于目前深度学习模型供应链所面临的挑战,从安全性审查、实时检测和问题溯源等不同角度分析和讨论了未来可能的研究发展方向,为更安全可靠地开发和使用预训练模型提供了思路. 涉及论文方法和相关代码归纳整理在https://github.com/Dipsy0830/DNN-supply-chain-survey,方便研究人员下载使用.
Abstract:Pre-trained models have mitigated the challenges posed by extensive training data and computational resources, and also give birth to the new paradigm of model development and application, which we refer to as model supply chain. In this framework, a pre-trained model is uploaded by its publisher and subsequently transferred, compressed, and deployed by secondary developers to meet various application needs. This emerging model supply chain introduces additional stages and multiple elements, inevitably leading to security concerns and privacy risks. Despite the widespread adoption of model supply chains, there is currently a lack of systematic review of security threats in them. To address this research gap, in this paper, we provide a comprehensive overview of the deep learning model supply chain, introducing its concept and fundamental structure. We conduct an in-depth analysis of vulnerabilities at various stages of the model’s lifecycle, including design, development, deployment, and usage. Furthermore, we compare and summarize prevalent attack methods, alongside introducing corresponding security protection strategies. To assist readers in effectively utilizing pre-trained models, we review and compare publicly available model repositories. Finally, we discuss potential future research avenues in areas such as security checks, real-time detection, and problem tracing. It aims to offer insights for safer and more reliable development and use of pre-training models. For the benefit of ongoing research, related papers and open-source codes of the methods discussed are accessible at https://github.com/Dipsy0830/DNN-supply-chain-survey.
-
近年来,深度学习模型在自然语言处理、计算机视觉和推荐系统等领域取得了显著进展,以Transformer结构[1]为基础的模型参数量已达到数百亿甚至上千亿,训练这些模型需要数千个GPU并行工作数周甚至数月. 在这种大规模分布式训练环境中,硬件故障和系统中断的概率显著增加,而网络基础设施的带宽限制和容错能力不足进一步加剧了训练的不稳定性[2]. Meta 使用千卡A100训练175B OPT模型耗费了2个月,共发生了105次重启,最长健康持续训练时间为2.8天[3]. 使用万卡集群训练Llama3-70B过程中共发生419次任务中断,其中GPU故障占比58.7%[4].
在训练过程中一般周期性的保存模型训练的状态,简称检查点(checkpoint,CKPT),CKPT除了包含模型参数(权重和偏置),还涵括优化器状态(动量和学习率等)、训练的迭代次数和数据迭代标签等信息,在大规模分布式训练中,CKPT的写入和读取操作往往成为训练过程的瓶颈. 对于175B GPT-3大模型[5],CKPT容量达到了惊人的2.4 TB,此外,高频的CKPT操作会加剧训练任务的阻塞时间和带宽占用,低频CKPT会导致重训耗时较高. 当集群资源弹性变化时,即出现资源不足或者资源扩增时,如何维持现有的训练状态,容错训练系统需要具备动态调整资源分配、并行策略的能力.
软硬件故障的多样性、随机性以及硬件资源的弹性变化,对如何构建一套高效准确的自动化故障恢复系统带来了的巨大的挑战,主要包括3个方面:
1)准确的故障感知和有效的作业恢复成为巨大挑战. 故障涉及海量硬件器件和软件栈,故障暴露出来的日志和指标数据庞杂,如何从中检测到故障的发生,需要在开销与准确性取得良好的平衡. 作业恢复机制需要有效地规避故障源,避免无效的恢复行为加剧作业中断时长,同时尽可能缩短恢复阶段的耗时;
2)尽管CKPT技术对容错至关重要,但面临2大挑战:首先,I/O性能瓶颈导致大规模CKPT写入速度远低于硬件上限,延长了保存时间. 其次,固定频率的CKPT保存策略在故障发生时会导致大量训练进度丢失,尤其在大规模分布式训练中,这可能浪费数小时到数天的训练时间,显著降低资源利用率. 这些挑战凸显了优化CKPT机制的重要性;
3)现有的弹性训练系统通常仅支持固定资源配置,缺乏复杂场景下的自动恢复机制. 在采用多种并行策略的大型模型中,初始资源配置确定后,难以灵活调整资源数量与分布. 尤其在节点失效或需临时缩减资源时,现有弹性系统通常无法自动处理任务和资源重分配. 这导致动态环境中资源管理效率低下和故障恢复能力不足,影响系统的容错能力和资源利用效率.
现有的深度学习框架PyTorch[6]、TensorFlow[7]、DeepSpeed[8]和Megatron-LM[9]等提供了基本的CKPT功能,当训练任务发生故障后,找准根因并手动恢复训练一般耗时小时级甚至天级. 在使用传统存储设备(如HDD或未优化的SSD)时,I/O性能的不足会严重影响CKPT读写操作,进行降低训练效率.
已有的大模型容错训练系统,如TRANSOM[10]、DLRover[11-12]等方案提供了GPU、网络、内存等硬件故障检测与自动恢复机制,但在资源弹性伸缩时,并行策略无法调整或者只支持有限的数据并行(data parallel,DP)维度,此外,基于集群多级存储层次架构的异步保存与恢复机制[13-16],虽然能最小化CKPT操作的延迟,但仍面临诸多挑战,特别是在存储瓶颈、恢复速度以及动态资源分配的复杂性上,难以实现真正的高效和无缝弹性扩展.
本文设计了一种面向大规模训练作业的弹性容错系统,如图1所示,从功能上可以划分为容错框架(异常作业高效管理)、检查点高效存储和自适应并行策略调整3部分,能够将千亿参数模型端到端恢复时间从小时级缩短至10 min以内.
容错框架是整个容错系统的枢纽,负责感知故障的发生以及协调整个恢复流程. 恢复流程包括故障资源的检测及驱离、训练作业的重新部署、作业部署后的初始化环节. 在作业重新部署阶段,容错框架首先通过自动化并行策略模块生成匹配当前资源最优的并行策略,保证作业恢复之后拥有较好的训练性能,然后显式触发CKPT,持久化当前作业的训练状态. 在作业初始化阶段,进程通过调用优化后的CKPT库提升CKPT加载速度,并通过即时检查点机制(just-in-time checkpoint,JIT CKPT)[15],缩短作业恢复后的重新训练时间. 本文的主要贡献有3点:
1)提出一种准确高效的异常作业高效恢复管理机制,简称为容错框架. 该框架能够在典型故障发生的第一时间,准确定位故障原因,并且根据故障类型对作业进行层次化恢复,缩短故障导致的作业中断时长. 同时框架具有良好的可扩展性,能够兼容主流的大模型训练框架,如Megatron-LM、DeepSpeed等;
2)提出一种多层次异步CKPT优化方案,通过共享内存和本地磁盘缓存显著降低了故障恢复和加载开销. 此外,引入即时检查点机制,在故障发生时即时保存完整CKPT,减少了重训时间,并通过自适应超时设置优化了通信操作的故障识别与恢复,提升了大模型训练的效率与稳定性;
3)提出一种低开销的自动并行搜索系统,旨在为指定硬件资源下的大规模深度学习模型训练提供较优并行策略. 该系统能够在资源类型或数量发生变更时,迅速调整并搜索到最适合新资源配置的并行度,从而确保训练任务的高效性和稳定性.
1. 相关工作
1.1 大模型容错训练
针对大模型训练的容错框架是指一套独立于训练作业的一套软件,通常需要具备作业异常感知、软硬件故障定位以及训练作业自动化恢复等核心功能组件,当感知到作业出现异常后,迅速定位到造成该异常的软硬件故障原因,并针对性恢复作业. 在故障定位方面,通常的做法是采集多维度指标检测,这些指标既包括GPU、网络、内存等硬件设备的工作状态指标,还包含训练脚本、NCCL、CUDA库等软件运行状态指标[17-19],然后运用一些数据分析方法发现指标数据中所包含的故障模式,比如Wu等人[10]重点关注于故障分析的可解释性和效率,采用离群检测、聚类等传统算法分析指标数据,这种方法能检测到异常情况的发生,但是却无法准确的定位导致故障的根因. Hu等人[20]则引入专门的LLM,利用LLM的强大文本理解和分析能力,准确定位故障根因,但受限于LLM的输入长度限制,无法处理海量指标数据. 在作业恢复方面,通常的做法是重启整个作业,然后基于CKPT机制保存的作业快照数据恢复作业内各进程的状态,这种全局性的重启往往带来较长的作业中断时间,因此业界有一些优化工作,蚂蚁集团提出的DLRover框架,支持GPU掉卡、NCCL超时等有限的故障类型. Wu等人[21]针对训练变慢类故障,提出了一种自适应多级缓解机制,通过调整微批次分布和并行化拓扑结构实现对训练作业的部分结构进行调整,避免作业整体重启,但这种方法在应对超大规模以及复杂通信拓扑时,方法的恢复效率以及有效性将大打折扣. Lao等人[22]在发生异常后,通过冻结机器、初始化备用机器、恢复状态、替换通信组成员,实现快速局部恢复,无需重启训练任务,显著减少恢复时间和开销,但方法更适合处理运维场景下的作业迁移,对于突发的软硬件故障,往往无法完整的保留作业的状态,在一些极端情况下,这种局部重启的方法会退化成全局重启.
在大模型训练过程中,CKPT机制被广泛用于保存和快速恢复训练状态. 然而,超大容量CKPT的读写操作往往带来显著开销,甚至可能严重阻塞整个训练进程,导致GPU资源利用率低下. 为解决这一问题,现有研究提出了多种优化方案. Mohan等人[13]通过调整CKPT的频率来平衡开销与恢复效率,但这种方式本质上是一种折中解决方案,无法同时兼顾保存频率和运行时开销;Wang等人[14]利用NVMe和数据并行写入技术提升CKPT性能,尽管有效,但这种方法对高性能NVMe存储设备的高度依赖增加了系统成本和复杂性;Jiang等人[23]通过在数据并行组之间共享GPU工作者的数据缓解了存储瓶颈,减少了恢复期间的检索时间,虽然有助于减轻分布式文件系统的负载,但在实践中仍存在较大的训练暂停时间. 此外,Eisenman等人[24]通过量化推荐模型中的嵌入表减少CKPT大小,然而量化过程本身可能引入误差,影响模型的最终表现,尤其在需要高度精确的应用场景下,这种权衡显得尤为关键. Wang等人[16]引入内存CKPT机制,即利用高带宽CPU内存进行CKPT创建,并将CKPT分片分布到对等节点上以最大化故障恢复的可能性,从而避免训练过程中的停滞,尽管提高了容错能力,但该方法也面临着网络通信潜在瓶颈的问题,并且需要复杂的调度算法确保节点间负载均衡和高效协作. Gupta等人[15]则利用大规模工作负载数据并行副本中的状态冗余实现高效的运行时CKPT,但该方法未充分考虑CKPT一致性及保存过程中出现的故障处理问题. DLRover框架提供了检查点优化组件Flash Checkpoint,通过异步持久化内存热加载大幅提升了CKPT的保存和加载速度,然而在节点故障的情况下,由于内存缓存容易出现不命中现象,该方法的有效性会受到影响.
综上所述,尽管上述研究各自提供了一定程度上的解决方案,但它们在实际应用中也面临着从软硬件依赖、故障种类,到算法的复杂性与效率等方面的挑战. 因此需要全面考虑这些限制因素,以开发出更加高效和可靠的大模型容错训练系统.
1.2 大模型弹性训练
大模型弹性训练指的是在深度学习中,特别是针对Transformer架构的大模型,通过动态调整计算资源来优化训练过程的技术. DLRover通过预扩展、扩展和后扩展三阶段实现弹性训练. 三阶段的功能分别为:根据历史任务获取初始资源分配,在线拟合生成多个候选计划,并采用加权贪心算法确定最终执行计划,同时结合实时负载实现动态负载分片. DLRover支持采用数据并行策略的训练作业的弹性伸缩,当作业中某些数据并行实例出现故障后作业仍能在小规模下继续运行,当有新的健康资源可用后,能重新扩展至原有规模运行,但不支持复杂并行训练策略下的弹性恢复. 字节的MegaScale针对云场景进行了优化,默认集群节点资源充足. 如果某个节点因故障被移除,它能够迅速将受影响的任务 pod(Kubernetes资源编排系统中能够创建和部署的最小单元)重新部署到健康的节点上,保证训练任务的持续进行,该方案无法对单个任务的资源配置进行弹性伸缩. Li等人[25]提出的EasyScale主要为了解决在资源弹性下保持模型一致性准确度的问题. 它引入了EasyScaleThread (EST)抽象,将分布式模型训练过程与硬件资源分配解耦. 多个EST可以动态的在GPU之间进行上下文切换,从而在资源弹性下保持训练行为的一致性. 但是EasyScale目前主要聚焦在数据并行,对大模型训练场景下其他并行策略暂不支持. Subramanya等人[26]提出的Sia旨在为异构深度学习集群资源分配高效的调度方案. 该系统采用一种新的在线学习方法为每个作业在每种GPU类型上建立吞吐模型. 引入了一个新的整数线性规划算法来处理作业规模和异构性. 该系统在每个调度轮次都会考虑所有的GPU分配(数量和类型),估计其吞吐量并选择最佳的资源分配方案. Wagenländer等人[27]提出了一种用于深度学习框架的状态管理库tenplex,能够在训练过程中动态改变GPU分配和作业并行性. 通过将作业表示为可并行化的张量集合,可以快速生成的新配置. 但tenplex主要聚焦在数据并行,而目前典型的大模型训练采用多种并行策略. 总之,为了应对大模型训练任务中更复杂的集群配置和工作负载,亟需一种能弹性适应集群资源变化、动态选择最优模型训练配置的优化技术.
2. 大模型训练容错系统
本文提出的大模型弹性训练容错系统Resilio如图2所示,涵盖容错框架、多层次高效检查点以及自动并行3个部分,相关内容在后续的章节中逐一展开.
2.1 容错框架
容错框架主要提供自动化故障恢复系统,它是一套独立于训练作业的运行时系统,主要负责感知系统内故障的发生,并且根据不同故障类型触发相应的自动化运维操作. 该框架主要包含故障感知模块、生命周期管理模块、CKPT控制模块、日志及指标上报模块,各模块的功能如下:
1)故障感知模块. 主要负责分析指标采集模块获取的设备及任务指标数据,判断故障是否发生. 该模块包含一个控制节点和若干分散在不同计算节点内的守护进程组成,每个守护进程与训练进程绑定,通过拦截进程执行的核心代码,来判断训练进程的健康状态. 遵循CUDA和NCCL库中核心计算和通信函数接口,本文设计了一套轻量级拦截库,通过LD_PRELOAD机制预先加载. 拦截到函数调用之后,在函数的执行前后设置CUDA Event用于统计核心计算和通信函数的耗时. 拦截库将函数耗时指标持续写入共享内存中,故障检测守护进程持续读取共享内存中的指标数据. 由于健康的训练作业呈现周期性特征,当故障检测守护进程发现指标频率和指标数值出现大幅度的变化时,判定当前训练进程存在异常. 健康状态的判定主要分为两个层次:Error和Slowdown.
当守护进程发现训练进程抛出致命异常时,会将该进程的状态设置为Error状态,并上报给控制节点,控制节点会通过生命周期管理器停止所有训练进程,并触发故障排查流程,该流程会检测各个pod内软件栈的适配性、硬件设备可用性、数据存储路径的访问权限等内容,然后结合捕获的异常日志,据此判断故障的根因. 由于分布式应用发生的异常存在传播性,即单个节点的异常会导致依赖它的节点出现异常. 因此工作节点在捕获到异常日志后,会上报到控制节点,控制节点首先比对异常日志的时间戳来判断最先出现异常的节点,然后向该节点发送诊断指令,节点响应指令开始检测GPU、网卡、存储设备的状态,最终将检测结果连同异常日志时间戳前后分钟内的系统日志、kubelet日志、pod日志返回给控制节点.
守护进程通过拦截训练进程触发的计算和通信函数调用,统计这些调用的频次和耗时数据,通过分析这些时序指标的变化,挖掘训练变慢时的模式,当守护进程感知到训练进程变慢后,会将该进程的状态置为Slowdown状态,并上报给控制节点,控制节点会通过生命周期管理器暂停所有训练进程,同样触发故障排查流程,与Error状态下检测流程不同的是,Slowdown类型故障的检测流程可以并行地在不同节点上运行小规模分布式矩阵相乘作业,通过比对不同节点集内作业的完成时间、集合通信带宽等信息,确定导致作业Slowdown的节点集.
2)生命周期管理器. 主要负责响应作业提交命令,完成作业所需资源的调度、环境可用性校验、分布式进程创建、故障发生后的层次化恢复等.
3)CKPT控制器. 主要负责显式触发JIT CKPT操作以及预加载CKPT数据. 故障感知模块在获知集群内故障的信息之后,会根据故障的严重程度进行不同级别的运维处理,而对于一些仅影响作业运行性能或者判断存活任务可以完成一次完成的CKPT时,会暂停作业的执行并显式触发CKPT,这种方式保证了通过CKPT机制持久化的作业快照版本与故障发生时的作业版本具有较小的差异. 同时在作业重启恢复过程中,各个训练进程在加载CKPT快照数据之前会执行一些其他的初始化,比如集合通信组构建,本模块会根据各训练进程信息,提前从持久化存储中将必要的CKPT数据加载到本地磁盘之中,隐藏部分数据传输的耗时.
4)指标上报模块. 主要负责采集训练进程执行过程中的指标和日志数据. 这些数据既包括集群内计算节点上CPU、内存、磁盘、GPU、NPU等硬件设备的工作状态数据,也包括训练任务执行CUDA Kernel、NCCL通信等操作的运行状态数据. 通过定义一套统一的指标采集规范,确保对于不同厂商设备按照规范采集相应类型的指标后,能够准确判断具体设备的健康状态.
2.2 检查点高效存储
2.2.1 多层次异步访存优化
如图3所示,训练过程中的一次迭代分为前向(forward,F)、反向(backward,B)、权重更新(optimizer.step,O)3个部分,AI训练框架中默认的CKPT保存操作发生在模型权重更新之后,一次CKPT保存(checkpoint.save,C)包括从GPU显存拷贝数据到CPU内存,然后从CPU内存拷贝数据到本地磁盘以及远程共享存储,最后进行全局同步保证分布式CKPT版本一致. 这种CKPT保存过程主要面临3个挑战:1)CKPT由数据庞大的张量组成,传统的序列化方法开销大;2)GPU显存到CPU内存的数据传输过程未充分利用带宽;3)CKPT保存过程及最后的同步过程均会阻塞训练,造成大量的GPU计算资源闲置.
本文提出的多层次异步CKPT方案针对性的做了如下优化:
1)解析CKPT元信息(张量形状、大小以及所在网络层等数据),只对元信息进行序列化,大幅减少全量序列化带来的开销;
2)使用锁页内存及CUDA多流机制充分利用GPU显存到CPU内存的传输带宽;
3)由于前向和反向计算不会修改CKPT内容,所以可以重叠上一轮迭代CKPT保持操作与本轮迭代的前反向计算,同时将CKPT数据切分成多个小块异步传输到本地NVME和远程持久化存储,全局同步过程在传输线程中完成,避免阻塞训练进程.
在分层存储架构中,分块大小与存储介质的物理特性及访问模式强相关,在异步传输至本地NVME的过程中,以4 KB作为块大小精准匹配NVME页大小,最大化写入效率. 远程持久化存储时,数据的切片大小设置为4 MB,因为节点间网络传输通常基于RDMA或TCP/IP协议,较大的分块可以减少网络协议头占比. 远程持久化存储作为多级存储的最后一级,包含本地存储所有的CKPT历史数据,由于本地存储空间有限,通过文件覆盖方式,可配置仅在本地保存最近一段时间的CKPT数据.
CKPT恢复是发生在训练开始前,原生的PyTorch会在初始化结束后,从远程持久化存储中读取最新的CKPT版本,AI框架自带的CKPT加载过程主要面临的挑战是CKPT全部从远程存储拉取,对存储服务的负载压力非常大,很容易达到存储带宽瓶颈,造成加载时间过长以及大量GPU资源闲置. 本文提出的多层次异步CKPT 在这方面做了3点优化:
1)使用共享内存作为一级缓存,针对无需重启节点的故障,可以直接从CPU内存读取CKPT,从而大幅缩短CKPT加载时间;
2)使用本地磁盘作为二级缓存,针对需要替换节点的故障时,除了新节点需要从远程持久化存储拉取CKPT,其他进程能够直接从本地磁盘读取CKPT,大幅减少对远程存储的带宽依赖和竞争;
3)此外,使用预加载的方式重叠从本地NVMe或者远程持久化存储的加载开销.
2.2.2 即时检查点
典型的大模型训练通常采用3D并行策略,包括数据并行(data parallel,DP)、张量并行(tensor parallel,TP)和流水线并行(pipeline parallel,PP). 数据并行通过将训练数据集分割成多个小批次(batch size,BS),每个批次分配到不同的计算设备,每个设备都持有一份完整的模型副本,独立进行前向和反向传播计算,然后通过AllReduce集合通信操作同步梯度并更新模型参数;张量并行则将模型的张量(如权重和梯度)分散到多个设备上进行计算,通信量要求高并且频繁,一般适用于节点内单机多卡;流水线并行将模型的不同层分配到不同的设备上,每个设备负责一部分计算任务,数据在设备之间按顺序传递通过点对点通信,通信带宽要求相对较低. 大模型训练整个过程存在3个特征:1)大模型训练3D并行策略中数据并行维度进程的模型副本一致,模型参数更新前需要全局同步;2)训练故障基本为单点故障,很少有大规模的节点故障;3)某个进程发生故障后会导致其他健康进程在某一次集合通信操作中超时.
结合大模型训练并行策略的特点以及故障发生的规模,我们设计了JIT CKPT,能够在故障发生时立即保存最近完整的CKPT,从而大幅度降低了常规周期性保存CKPT带来重训时间,提升模型有效训练时间. 图4展示了JIT CKPT的工作流程,具体如下:
1)容错工作节点(fault-tolerance worker,FT Worker)内部通过拦截NCCL集合通信函数库,获取训练进程所需要的通信算子,并统计通信算子所消耗的时间,实时发送给Redis数据库进行保存.
2)容错主节点(fault-tolerance master,FT Master)周期性地从Redis处取出通信算子的耗时信息,自适应修改超时配置并及时同步更新到FT Worker.
3)当某个进程或节点故障导致当前进程触发超时后,该FT Worker发送超时事件给FT Master.
4)FT Master收集到所有超时事件后,推演故障进程并判断当前健康进程是否具备保存完整CKPT的条件. 具体而言,FT Master能够判断出发送超时事件的进程为健康进程,未发送超时事件的进程为卡死故障进程,根据故障进程所在数据并行组(组中CKPT互为副本)中是否有可用的健康进程进而判断是否具备保存完整CKPT的条件. 若是则通知FT Worker进行CKPT保存,否则结束所有FT Worker.
2.3 自适应并行策略调整
在容错系统中,自动并行技术对提升系统的可靠性和训练效率不可或缺,当节点出现故障时,集群可能出现无法提供空闲健康节点作为替代的情况,从而导致任务所需资源数量或类型的变更. 为了应对这种风险,在容错系统中引入自动并行机制能快速地将任务重新部署到可用的集群资源上,确保计算任务的连续性不受影响. 这种灵活性不仅增强了系统的容错能力,还能有效地提升资源利用率. 其次,自动并行技术能通过优化负载均衡策略,进一步提高训练效率并缩短模型的训练周期,这对于大规模深度学习任务尤为重要. 此外,在大规模分布式深度学习场景中系统的自动并行化还能大大降低手动配置复杂分布式环境的需求,从而简化运维流程、减少人为错误的引入.
因此,本节设计了低开销高精度的层级式自动并行子系统(hierarchical parallel partitioning sub system,HPPS). 如图5所示,该子系统由以下2个关键组件组成.
1)自动并行主体系统. 由模拟器管理组件、模拟器、离线通信组件和评估器组成. 模拟器管理组件负责对并行搜索空间剪枝,模拟器是HPPS最核心的组件,可在指定硬件资源和并行度下得到训练任务的单次迭代时间. 模拟器通过编译模型计算图,得到模型的计算成本、模型流水线并行相邻层之间需要传输的字节数,并利用端到端建模算法(综合考虑计算和通信),全面评估单次迭代的时间开销和资源占用. 离线通信组件利用NCCL-tests[28]采集集群不同数据量下的通信开销,量化数据传输的时间和资源消耗. 评估器根据集群空闲资源和模拟器输出的结果自动进行性能优先级排序、资源匹配过滤、多目标优化等流程,评估得到当前最优的硬件配置和并行策略.
2)基础架构层. 由容错调度器和弹性扩缩容组件组成. 容错调度器提供具有容错调度功能的调度策略,具体而言,调度器需要对容错系统标记的故障节点进行反亲和性调度. 除具有容错调度功能外,容错调度器还具有多租户隔离、资源超发、任务抢占等特性;弹性扩缩容组件负责在深度学习数据并行训练过程中根据集群负载自动调整数据并行度. 通过与自动并行的模拟器管理组件紧密协作,该模块可在保证训练过程连续性的同时,高效地利用可用资源,从而降低空闲浪费并提升整体吞吐率. 相较于传统手动配置方式,弹性扩缩容管理器不仅简化了集群管理流程,也显著提升了大规模分布式训练的可伸缩性与灵活性.
HPPS的工作流程和各组件间的数据传输关系如图5所示. 模拟器管理组件接受用户提交的训练作业,为每种组合方式启动一个模拟器实例. 模拟器管理组件首先根据用户申请的资源量N生成device_mesh={(n,m)}. 其中, n为节点数,m为每节点的GPU卡数,且N==n×m. 随后,对device_mesh进行优先级排序并根据集群资源进行资源过滤. 然后,按照“节点内优先数据并行和张量并行,节点间优先流水线并行”的策略,枚举模型训练的并行度.
模拟器实例接收由模拟器管理组件传入的GPU资源类型、资源个数和流水线并行度,自动搜寻当前配置下的最优自动并行策略并评估模型的端到端时延. 具体而言,可以划分为以下3个步骤:
1)模型计算图编译和流水线阶段聚合. 基于CPU编译模型生成静态计算图,对计算中间表示(intermediate representation,IR)进行分析,得到算子的浮点运算次数(floating point operations per second,FLOPs)和算子间通信字节数. 其中,使用动态规划算法对计算图按照指定流水线并行度进行切分. 流水线切分原则为:尽量保证每流水线阶段FLOPs相同的情况下最小化流水线阶段之间的通信量.
定义1. 流水线切分算法.
\min \mathop {\max }\limits_{s = 1, … ,S} {c_s}(1 - \partial )v \leqslant {f_s} \leqslant (1 + \partial )v \text{,} (1) 其中 S 代表流水线并行度; {c_s} 代表第 s 个流水线阶段的通信量,即它从前面的流水线阶段获取的总字节数; \partial 为超参,表示流水线阶段FLOPs的上下界; {f_s} 代表第 s 个流水线阶段的FLOPs,即属于当前阶段的算子的FLOPs之和.
定义2. 各流水线阶段的平均FLOPs.
v=\frac{m}{S} \text{,} (2) 其中, v 代表每个流水线阶段的平均FLOPs, m 是通过jax.make_jaxpr函数获得. 若多个切分的最大通信量相同,则算法更倾向于返回各个流水线阶段FLOPs极差更小的解.
2)计算资源评估和并行策略搜索. 完成对模型的指定并行切分后,模拟器会生成每个流水线阶段的计算图. 对切分后的每个流水线阶段进行独立编译,得到流水线阶段的计算时间、算子间通信字节数以及峰值显存. 当出现计算时间为无限大或者峰值显存大于GPU物理显存的情况时,表示该种并行方式无法在当前的资源配置下正确执行,此时模拟器会对不满足情况的并行方式进行剪枝. 对于满足资源的自动并行策略则通过调用离线通信组件接口,获得通信时间. 本文采用算法1完成并行策略的搜索.
算法1. 并行策略搜索算法.
输入:用户提交任务申请的GPU卡数 M ,集群GPU信息 T ,模型参数大小 S ;
输出:候选的并行度矩阵 \boldsymbol{L} .
① 初始化 L \leftarrow \varnothing ,i=0 , j=0 ;
② 获取作业的资源维度:\boldsymbol R\leftarrow (M,T) ,其中\boldsymbol R= \{r_1,r_2,…,r_n\} ,R为有序矩阵,r_i=(m,n) ,m \times n= =M ,m为节点数,n为节点内GPU卡数,n越大越优先;
③ 根据集群资源进行过滤,去除资源维度无法满足的情况,\boldsymbol R'\leftarrow {\rm{filter\_one}}(\boldsymbol R,T);
④ if {\rm{\rm len}}(\boldsymbol R')> 1 then
⑤ \boldsymbol R''={\rm filter\_two}(\boldsymbol R') ;
⑥ else
⑦ \boldsymbol R''=\boldsymbol R' ;
⑧ end if
⑨ for r_i in \boldsymbol R''
⑩ pp_j=m_i ;
⑪ (dp_j,tp_j)={\rm fun}(pp_j,S) ;
⑫ \boldsymbol L.append(pp_j,dp_j,tp_j) ;
⑬ end
⑭ return L
算法1中,L为算法返回的并行度矩阵,R为表示硬件维度的有序矩阵,其中第一维度表示节点个数,第二维度表示节点内GPU个数,按照第二维度的大小进行排序;\boldsymbol R'' 为经过两次剪枝后的矩阵;函数fun根据模型大小和流水线并行度,选择合适的数据并行度和流水线并行度.
3)综合计算和通信开销,计算端到端时延. 在调用离线通信组件接口获得通信时间后,按照如式(3)所示的公式计算得到当前训练任务单次迭代的时间.
定义3. 训练任务单次迭代时间.
t = \sum {{p_i} + \sum {{c_{(i,i + 1)}}} } + (B - 1) \times \max ({p_i}) \text{,} (3) 其中 {P_i} 为第i个流水线阶段的计算时间, {C_{(i,i + 1)}} 为第i和第i+1个流水线阶段之间的通信时间,B为微批次大小.
随后,模拟器将评估得到的端到端时延和自动并行策略输入至评估器组件. 评估器组件会在接收到指定训练的所有模拟器输出结果后,根据训练迭代时间进行排序. 评估器将选择性能较优的几个候选项进行调度,并按照最优配置进行调度. 如果集群空闲资源不足,则顺延尝试调度次优选项,直到调度成功或者所有候选项都调度失败为止. 此时,调度工作由容错调度器实现. 在容错系统中检测到故障节点后,容错调度器将故障节点标记为坏节点并进行计数. 坏节点累积达到一定次数后,在系统调度中会降低坏节点的打分或者设置为不可调度,以维持系统稳定.
此外,HPPS子系统还能为分布式作业提供支持. 当评估结果为分布式数据并行的训练任务时将开启自动扩缩容功能,设置扩缩容触发器(GPU利用率和租户资源配额). 它首先通过资源监控模块捕获实时算力使用状况,并根据触发器设置触发相应的扩缩容操作. 弹性扩缩容管理器据此触发相应的扩缩容操作,包括启动或销毁训练实例,并完成网络拓扑与通信组网的动态调整.
3. 实验与结果
本节对弹性训练系统在大模型训练过程应用的效果进行实验和分析.
3.1 实验设置
本文实验环境包含由12节点NVIDIA A100 GPU组成的集群Cluster-A、6节点NVIDIA L20 GPU组成的集群Cluster-B以及单节点NVIDIA A800GPU组成的Cluster-C. 测试的模型结构主要为GPT-2和OPT,模型大小1.3~109 B. 各个服务器的具体配置分别如下表1所示.
表 1 Cluster-A服务器配置参数Table 1. Configuration Parameters of Server Cluster-A名称 配置环境 CPU Intel Xeon Platinum 8378A@3.0 GHz CPU核数 128 操作系统 Ubuntu 22.04 LTS GPU 8 × NVIDIA A100 内存/TB 1 网络带宽/Gbps 25 3.2 故障类型与恢复时间
本节测试了大模型训练过程中遇到的6种典型故障后容错系统端到端自动恢复耗时,故障的释义参见表4.
表 4 故障类型释义Table 4. Explanation of Fault Types故障类型 释义 致命异常 训练进程抛出的不可自修复异常,比如GPU OOM、NCCL异常等 pod崩溃 Kubernetes控制层不合理的迁移操作、节点故障、OOM等情况导致pod直接中断退出 pod误杀 研发或运维人员误操作导致pod被删除 网络断开 计算节点网络断开 节点宕机 计算节点由于断电、故障导致的宕机 组件故障 容错机制核心组件自身遭遇的故障 本文首先验证了采用Megatron-LM在Cluster-A集群预训练GPT-109B模型时容错框架的工作效果. 从实验结果看,当作业遭遇典型软硬件故障时,容错框架能够稳定地快速恢复训练作业,各类故障发生时的端到端恢复耗时见图6,端到端恢复过程涵盖故障感知及定位、故障节点驱逐、失败任务重调度、进程组初始化、基于CKPT数据恢复训练状态.
在测试所选择的6类故障下,当发生网络断开和节点宕机时,故障节点上的pod会持续处于终止状态而不退出,DLRover框架无法处理这种情况,因此整个训练作业会长时间悬挂. Resilio框架在管理训练作业时,每个训练进程会周期性向控制节点上报心跳信息,对于上述情况发生时,控制节点能够准确感知故障节点,然后强制删除掉故障节点之上的训练进程以及pod,同时将该故障节点从资源列表驱逐,并重新拉起pod. 在本文的测试中,对于一些GPU故障,DLRover虽然能够拉起作业,但是由于对应的GPU资源未被驱逐,因此下次重启,作业可能仍然被调度到这些故障GPU,导致作业无法重启恢复,而Resilio提供了一种轻量级的GPU Device Plugin实现,当发生此类异常后,Resilio会将故障GPU设备从节点上维护的可用GPU设备清单中剔除,并通过Kubelet上报给Kubernetes,不仅避免了pod重调度失败的问题,并且提供了卡粒度的故障资源驱逐. 此外由于故障具有随机性的特征,当故障导致DLRover控制组件异常退出时,异常作业无法稳定恢复,而Resilio的控制组件提供高可用机制,能够很大程度保证作业的稳定恢复.
为了进一步验证Resilio框架效果,本文又在Cluster-B集群上进行了对比实验. 图7和图8分别对比了GPT-13B和GPT-70B模型训练作业出现异常时端到端恢复耗时.
相比于DLRover, Resilio能够更快的恢复作业,70B和13B模型耗时分别缩短86%和67%. 性能收益主要来源于如下2部分:
2)Resilio在作业重启后的训练进程协调(rendezvous)阶段更加高效. Resilio在每次重启作业后重新进行通信组初始化过程,而DLRover则采用的是将故障pod重新调度后,在下次协调窗口重新加入到通信组,实测发现等待协调窗口的时间和协调本身的总耗时会比重新构建通信组的耗时更长.
2)Resilio的CKPT加载耗时相对更低,在框架层面,Resilio在重新调度待恢复的pod时,会有亲和性机制,以pod崩溃这类故障为例,当判断造成pod崩溃的原因并非节点故障时,在下次调度pod时会优先将pod调度至原节点,而由于该节点保存有作业的CKPT数据,因此提升了CKPT加载阶段的缓存命中率,大大缩短此阶段耗时.
此外,DLRover采用了一种扩展PyTorch核心接口的方法,相当于自实现了一套torchrun,这种方式一定程度限制了用户创建训练作业的方式,技术演进路径也将和主流的PyTorch逐渐分离. 而Resilio框架并不侵入训练框架层,仅关注分布式进程的生命周期管理,能够支持各类训练作业的容错恢复,对上层训练作业透明. 在稳定性方面,Resilio表现更佳,在软硬件故障测试过程中,DLRover并不能稳定恢复作业,即使对于一些能够最终恢复的情况,也需要多次尝试才可完成恢复的情况,其中造成这个原因主要包括network-check误报、内存不足(out of memory,OOM)、异常传播等.
3.3 检查点读写性能
CKPT的测试环境如表1所示,表5展示了不同大小的GPT模型在不同存储和加载方式下的时间消耗情况.
表 5 CKPT加载时间对比Table 5. Comparison of CKPT Loading Time加载时间/s 模型 CKPT 大
小/GB原生NFS DLRover
MemoryResilio
NVMEResilio
MemorGPT-109B 1536 546.6 3.8 44.3 1.5 GPT-70B 904 322.0 2.3 25.1 1.1 GPT-13B 176 60.5 2.2 17.8 0.9 具体来看,表中列出了3个不同大小的GPT模型:GPT-109B、GPT-70B和GPT-13B,它们对应的CKPT大小分别为1.5 TB、904 GB和176 GB. 原生NFS列表示使用网络文件系统(network file system,NFS)进行模型加载的时间. 可以看出,随着模型大小的增加,加载时间显著增长,例如GPT-109B模型需要546.62 s,这种基于NFS的加载方式在处理大容量数据时表现较差. 在考虑网络带宽和延迟的限制下,研究中的内存缓存方案与DLRover均采用内存作为缓存介质. 相较于传统的加载方式,从内存中加载数据能够实现67~364倍的速度提升,且随着模型规模的增大,这一加速效果更加显著,当模型规模达到109 B时,最大可实现364倍的速度提升. 此外,通过应用多流传输、锁页内存及异步加载等技术手段,本研究提出的内存缓存加载方法相比DLRover实现了2到2.5倍的性能提升. 本研究进一步引入了NVMe作为二级缓存机制,在内存缓存未命中的情况下,利用本地NVME缓存加速数据加载,同时在模型初始化阶段进行CKPT预加载,从而重叠部分CKPT加载时间,缩短CKPT恢复耗时. 实验结果表明,相对于传统完全依赖NFS进行加载的方式,该优化措施能够直接从重启后的节点NVME中恢复CKPT,可以显著降低访问NFS带来的延迟,将CKPT加载速度提高12倍. 这一系列改进为高效加载更大规模模型提供了新的解决方案.
表6展示了不同规模的GPT模型在各种存储介质下的保存时间消耗情况.
表 6 CKPT保存时间对比Table 6. Comparison of CKPT Saving Times 模型 原生NFS DLRover
MemoryResilio
NVMEResilio
MemoryResilio
BlockGPT-109B 579.0 2.2 69.4 1.63 0.2 GPT-70B 335.0 1.3 53.8 1.18 0.2 GPT-13B 66.2 1.2 27.1 0.90 0.2 类似于表5所呈现的数据,采用原生NFS进行模型保存时,由于NFS的带宽限制,导致保存过程耗时巨大. DLRover首先采用同步方式将数据保存到内存中,然后异步完成持久化存储,显著缩短了训练暂停的时间,该时间大致等同于数据保存至内存所需的时间,相较于传统的保存方法实现了约275倍的效率提升. 在此基础上,本文新增了一项优化策略,即对保存到内存的操作也实施异步处理,使得保存耗时能够与下一轮迭代的耗时部分重叠. 这一改进主要依据是以单次训练迭代的前反向计算不会修改模型参数,通过重叠CKPT数据传输过程与计算过程实现对传输开销的隐藏,因此整个CKPT保存过程只会产生0.2 s固定的阻塞训练时间(对应表6中Resilio Block列). 随着模型规模的增大,加速效果更加明显,在109 B规模的模型中,相比DLRover,本文方案实现了高达10.5倍的速度提升. 这表明,对于大规模模型的保存操作,所提出的优化方法具有显著的性能优势.
JIT CKPT的测试环境如表2所示,表7展示了启用JIT CKPT功能后引入的性能开销.
表 2 Cluster-B服务器配置参数Table 2. Configuration Parameters of Server Cluster-B名称 配置环境 CPU Intel Xeon Gold 6526Y@3.9 GHz CPU核数 32 操作系统 Ubuntu 22.04 LTS GPU 8 × NVIDIA L20 内存/GB 540 网络带宽/Gbps 200 表 7 JIT CKPT性能开销Table 7. Performance Overhead of JIT CKPT模型 CKPT大小/GB 迭代耗时/s 迭代耗时/s(开启JIT) 开销/% GPT-70B 904 2.91 2.96 1.65 GPT-13B 176 2.71 2.75 1.30 由于JIT CKPT的应用涉及使用NCCL拦截库,本文通过一系列实验测试了不同模型下的性能影响,结果表明整体性能开销低于2%,这为实际生产环境中的应用提供了可行性. 表8进一步阐述了在发生单点故障时,JIT CKPT机制所带来的恢复优势. 具体而言,当故障发生时,诊断过程耗时大约为5~6 s,约为一轮迭代时间的2倍. 这是因为在NCCL拦截库检测到超时事件后,经过一轮迭代时间,FT Master能够收集所有相关的超时事件,并据此反推出故障源. 与传统的脚本检测方法相比,这种主动发现故障的方法显著缩短了故障检测时间. 此外,结合本文提出的容错系统和多层级CKPT,在所有健康进程将CKPT保存到内存之后即可立即重启任务,使得被重启的健康进程可以直接从内存中读取CKPT. 对于需要重启的故障进程,由于缺乏本地CKPT,其将从相同数据并行组的其他成员的内存中读取CKPT,该过程借助RDMA技术实现,并且利用巨页注册机制来减少RDMA内存锁定带来的开销. 同时,将RDMA读取操作异步化,使其与模型初始化过程重叠,从而隐藏这部分开销. 最终结果显示,JIT CKPT的恢复耗时与直接从内存加载CKPT相当,例如GPT-70B模型的恢复仅需1.22 s. 这些优化措施共同提升了大规模模型训练系统的容错能力和效率.
表 8 JIT CKPT故障恢复耗时Table 8. Failure Recovery Time-Consuming of JIT CKPT模型 CKPT
大小/GB故障诊断
耗时/sCKPT内存
恢复耗时/sCKPT RDMA
恢复耗时/sGPT-70B 904 6.0 1.22 7.5 GPT-13B 176 5.4 1.02 4.4 上述分析讨论了JIT CKPT在常规场景下的性能影响,然而在极端情况下(如高频故障发生时),该系统可能面临显著的额外同步开销.
为全面评估JIT CKPT的鲁棒性,本文将进一步针对极端场景展开深入分析. 具体而言,JIT CKPT的开销主要由2部分组成:
1)训练过程中固定开销. 主要由拦截库引入,如表7所示,该部分开销控制在训练总时间的2%以内.
2)故障恢复时的动态开销. 包括故障检测和即时检查点保存耗时,GPT-70B模型在表2的测试环境下这部分开销为7.22 s. 如表9数据所示,即使在极端故障场景(日均100次故障)下,该开销占比仍能保持在1%以下.
表 9 故障频率对检查点开销的影响Table 9. Effect of Fault Frequency on Checkpoint Overhead故障频率(次/天) 故障检测耗时/s JITCKPT保存耗时/s 开销占比/% 10 6.0 1.22 0.08 100 6.0 1.22 0.84 3.4 自动并行模块性能对比分析
自动并行组件的测试环境如表3所示,模型配置信息如表10所示.
表 3 Cluster-C服务器配置参数Table 3. Configuration Parameters of Server Cluster-C名称 配置环境 CPU Intel Xeon Gold 5317 CPU@3.00 GHz CPU核数 48 操作系统 Ubuntu 22.04 LTS GPU 4 × NVIDIA A100 内存/TB 2 表 10 HPPS模型测试列表Table 10. Testing List of HPPS Model模型 模型参数(B) 批次大小 流水线并行度 OPT [1.3, 2.7, 6.7] 256 {4,2} GPT-2 1.5 针对HPPS子系统测试了指定流水线并行度下模拟器的总耗时和精度. HPPS采用两级并行切分方式,首先完成流水线切分,在指定流水线切分的情况下再进行DP和TP的搜索. 从图9可以看出,和Alpa[29]相比,HPPS通过解耦算子内并行(intra-operator parallelism)和算子间并行(inter-operator parallelism)能显著降低搜索空间和时间开销. 实验结果表明,在表10所示的模型配置下,HPPS模拟器耗时为61.99~135.48 s之间,相比Alpa的310.67~591.23 s耗时,HPPS的模拟效率为Alpa的2.72~5.63倍,平均提升为4.36倍,显著提升了自动并行的执行效率.
在指定流水线并行度下,HPPS完成了TP和DP策略的搜索,对比Alpa的仅指定流水线切分方法,在完成流水线切分后,可通过XLA[30]编译出流水线阶段的可执行文件,解析流水线阶段的计算时间和通信量字节数总和. 根据不同的GPU数量和并行方式,调用离线通信接口获取通信时间. 最后根据式(3)计算得到单次迭代的训练时间. 表11所示为本系统的模拟器精度数据,整体精度误差在5.18% ~12.81%之间,平均误差为7.77 %. 可见,在精度损失较小的情况下,HPPS自动并行系统可以极大的提升自动并行最优切分策略的搜寻速度.
表 11 HPPS模拟器精度对比Table 11. Comparison of HPPS Simulator Accuracy模型 参数(B) HPPS/s Alpa/s 误差/% OPT 1.3 5.23 4.95 5.59 OPT 2.7 8.17 8.62 5.18 OPT 6.7 16.61 19.05 12.81 GPT-2 1.5 8.26 7.68 7.51 HPPS子系统依赖容错框架的资源监测,动态分配GPU资源使得资源利用率得到提升. 为了阐述Resilio框架在资源利用率方面的优势,本节采用模型算力利用率(model FLOPS utilization,MFU)[31]来评估不同参数大小模型的算力利用表现.
基于表3集群和表9模型,本节对比了在HPPS和Alpa分别搜寻最优并行配置下模型训练输出的MFU大小,如表12所示. 结果表明,采用HPPS搜索得到的并行配置进行训练时,MFU值可提升2.05%~16.2%,平均提升8.37%.
表 12 基于HPPS测试模型的MFU提升Table 12. Improvement of MFU Based on HPPS Test Model% 模型 HPPS Alpa MFU提升 OPT-1.3B 35.93 33.88 2.05 OPT-2.7B 50.72 38.60 12.12 OPT-6.7B 64.64 48.48 16.16 GPT-2-1.5B 31.40 28.27 3.13 4. 总 结
大模型训练因其对计算资源的长期高强度占用,常引发软硬件的频繁且多样故障,进而导致训练过程中断或效率大幅降低,这种故障不仅会影响训练任务的顺利完成,还可能造成长时间的资源浪费,因此,如何探寻故障源头、快速恢复训练进程并缩减训练停滞时间成为大规模分布式训练中的一项重要挑战. 为了应对这一问题,本文提出了一种大模型弹性容错系统,旨在提高大模型训练过程中遇到的各类故障恢复能力,并提高整体训练的可靠性与效率. 该系统能够针对训练中出现的网络与节点故障、训练进程崩溃等典型问题,提供自动化的恢复方案,确保千亿参数的大模型训练中,端到端的故障恢复时间不超过10分钟,同时将模型中断后的重训时间缩短至单次训练迭代时间. 此外,该系统还结合了模型分布式训练的特性与硬件存储的层次结构,通过多层次的CKPT读写优化,以及设计CKPT即时保存机制,大幅度的减少了模型训练中断后的训练恢复耗时. 同时,为了在集群资源动态变化时提高训练效率和GPU资源的使用率,本文还研发了一种模型训练自动配置子系统,该系统借助性能模拟器对模型训练的并行策略进行精准评估,自动确定最佳的资源分配方案,并通过与容错调度组件协同工作,确保大模型训练在资源有限的场景下能够高效运行,实现大模型的弹性训练.
综上所述,本文提出的弹性容错系统在解决大规模模型训练中的软硬件故障问题、提升容错恢复速度、优化CKPT机制以及自动化配置并行策略等方面,展示了显著的优势. 其在百卡规模、百亿参数大模型训练任务中的应用,不仅能够确保训练任务的高效与稳定完成,还能够显著提升系统对故障的容错能力和对集群资源的利用率,为大规模分布式深度学习训练提供了一种有效的解决方案.
作者贡献声明:李焱负责论文选题以及框架、实验设计并撰写论文;杨偲乐负责检查点功能设计与相关章节撰写;刘成春负责撰写容错框架设计、故障检测等内容;王林梅和田瑶琳负责自动并行设计以及相关章节撰写;张信航参与检查点优化工作和协助论文修改;朱昱参与容错框架的整体设计工作;李莼蒲和孙磊参与模型测试工作;颜深根、肖利民和张伟丰提出指导意见并修改论文;
-
表 1 模型设计阶段的攻击总结
Table 1 Summary of Attacks in the Stage of Designing Models
攻击
类型方法 攻击手段 是否中毒
数据攻击者知识 领域 目标模型 攻击结果 上游数据集 下游任务 下游数据集 下游任务
相关RIPPLe[34] 修改已有权重 是 ○ ○ ● NLP BERT SST-2上ASR=0.18 LWP[35] 修改已有权重 是 ◐ ○ ◐ NLP BERT SST-2上ASR=0.57 TrojanLM[36] 修改已有权重 是 ○ ○ ◐ NLP BERT, GPT-2, XLNet SQuAD 1.1上ASR=0.83 BadPrompt[37] 修改已有权重 是 ○ ○ ◐ NLP 上游RoBERTa-large
下游P-tuning, DARTSST-2上ASR=1 BadEncoder[39] 从头训练模型/
修改已有权重是 ○ ● ◐ CV 上游 ResNet18 on SimCLR
下游全连接网络上游CIFAR-10
下游STL-10 ASR=0.8PoisonedEncoder[40] 中毒预训练
数据是 ○ ● ◐ CV 上游ResNet18 on SimCLR
下游单层全连接上游CIFAR-10
下游STL-10 ASR=0.8CorruptEncoder[42] 从头训练模型 是 ◐ ● ◐ CV 上游ResNet18 on MoCo-v2
下游线性分类器下游ImageNet100 ASR=0.96 下游任务
无关Ji等人[43] 从头训练模型 是 ◐ ○ ○ CV,语音 Inception.v3, Pannous,
VGG16上游ImageNet
下游ISIC ASR=0.98BadPre[44] 从头训练模型 是 ◐ ○ ○ NLP BERT SST-2上ASR=0.51 NeuBA[45] 从头训练模型 是 ◐ ○ ○ NLP,CV BERT, RoBERTa, ViT SST-2上ASR=1 Shen等人[46] 从头训练模型 是 ◐ ○ ○ NLP BERT, XLNet, BART,
RoBERTa,
DeBERTa, ALBERTSST-2上ASR=1 Lv等人[47] 修改已有权重 是 ○ ○ ○ CV ViT, CNN, GPT-2,
TabNet, AutoEncoderImageNet上ASR=1 NOTABLE[48] 修改已有权重 否 ○ ○ ○ NLP BERT, Distil-BERT SST-2上ASR=1 UOR[49] 从头训练模型 是 ○ ○ ○ NLP BERT, RoBERTa, DeBERTa SST-2上ASR=0.91 TransTroj[50] 从头训练模型 是 ◐ ○ ○ CV ResNet, VGG, ViT, CLIP 上游ImageNet
下游CIFAR-10 ASR=0.99TFLexAttack[51] 修改模型组件 否 ○ ○ ○ NLP BERT, RoBERTa, XLNet,
GPT2, ALBERTSST-2上ASR=0.875 Li等人[53] 从头训练模型 是 ◐ ○ ○ 代码 PLBART, CodeT5 CodeXGLUE上ASR=0.97 攻击者知识中,○表示未知,◐表示已知或部分已知,●表示全知.ASR表示攻击成功率. 表 2 模型二次开发阶段的攻击总结
Table 2 Summary of Attacks in the Stage of Secondary Development
针对
操作方法 攻击类型 威胁CIA 目标操作 攻击者知识 领域 攻击结果 上游
数据集下游
模型迁移 Wang等人[54] 对抗攻击 推理数据完整性 特征提取、全模型微调 ○ ○ CV 上游ImageNet
下游GTSRB ASR=0.96Latent Backdoor[55] 后门攻击 训练数据完整性 模型部分微调 ● ○ CV 上游GTSRB
下游LISA ASR=1Wang等人[56] 后门攻击 训练过程完整性 模型部分微调 ○ ○/● CV、信号 上游VGG-FACE
下游LFW ASR=0.97Incremental
Backdoor[58]后门攻击 训练数据完整性 类别增量学习 ● / CV CIFAR-10 ASR=1 L4A[59] 对抗攻击 推理数据完整性 自监督学习的下游迁移 ◐ / CV 上游ILSVRC2012
下游SVHN ASR=0.95PPT[61] 后门攻击 训练数据完整性 提示微调 ● / NLP SST-2上ASR=0.91 Xu等人[63] 后门攻击 训练过程完整性 指令微调 ◐ / NLP SST-2上ASR=0.99 Chen等人[64] 模型逆向攻击 模型机密性 特征提取 ○ ○ CV MNIST上ASR=1 Tian等人[65] 属性推理攻击 数据机密性 模型部分微调 ● ○/● CV 上游VGGFace
下游MAADFace AUC=1Song等人[66] 嵌入逆向攻击、属性
推理攻击、成员推理攻击数据机密性、
模型机密性/ ○ / NLP Wikipedia上F1=0.6 Carlini等人[67] 训练数据逆向攻击 数据机密性 / ○ / NLP TPR=33.5% EncoderMI[68] 成员推理攻击 数据机密性 / ○ / CV CIFAR-10 Recall=0.73 StolenEncoder[69] 模型窃取攻击 模型机密性 / ○ ○/● CV 上游CIFAR-10
下游SVHN acc=0.77Cont-Steal[70] 模型窃取攻击 模型机密性 / ○ ● CV 上游CIFAR-10
下游SVHN acc=0.52压缩 Hong等人[71] 后门攻击 训练过程完整性 训练中量化 ○ ● CV CIFAR-10 8bits ASR=0.81 PQ Backdoor[72] 后门攻击 训练数据完整性 训练后量化 ● ○ CV MNIST VGG16 ASR=0.99 Tian等人[73] 后门攻击 训练数据完整性、
训练数据完整性量化感知训练、
自动压缩● / CV CIFAR-10 VGG-16 ASR=0.89 RIBAC[74] 后门攻击 训练数据完整性 权重剪枝 ● / CV CIFAR-10 ResNet-18 32X ASR=1 ADBA[75] 后门攻击 训练数据完整性 基于置信度的知识蒸馏 ● ○ CV GTSRB ASR=0.94 攻击者知识中,○表示未知,◐表示已知或部分已知,●表示全知.ASR表示攻击成功率. 表 3 供应链中的安全防护方法总结
Table 3 Summary of Defense Methods in the Model Supply Chain
针对
阶段方法 防护类型 具体环节 攻击不
可知需要重
训练防御者知识 领域 防御结果 上游
数据集下游
模型下游
数据集模型设
计阶段DECREE[86] 后门检测 自监督学习 是 否 ○/● ○ ○ CV 上游CIFAR-10 下游SVHN ASR=0.1 Moderate-
fitting[87]后门防御 监督学习 是 是 ● ○ ○ NLP SST-2 ASR=0.15 Purifier[88] 后门防御 监督学习 是 是 ○ ○ ◐ NLP CIFAR-10 ResNet-18 ASR=0 Shan等人[89] 后门溯源 监督学习 是 否 ● / / CV CIFAR-10 BadNet trace recall=0.98 BEAGLE[90] 后门溯源 监督学习 否 否 ◐ / / CV TrojAI trace acc=0.874 二次开
发阶段RIFT[95] 对抗防御 微调 是 否 ○ ● ● NLP IMDB BERT ASR=0.23 ROSE[96] 对抗防御 微调 是 否 ○ ● ● NLP SST-2 GLUE=65.02 Mudjacking[97] 后门防御 微调 是 是 ◐ ○ ○ CV、NLP SST-2 ASR=0.14 Fine-
mixing[98]后门防御 微调 是 否 ○ ● ◐ NLP BERT BadWord ASR=0.25 Fine-
purifying[99]后门检测、
防御微调 是 否 ○ ● ◐ NLP 上游CIFAR-10 下游STL10 ASR=0.02 AdaptGuard[100] 后门防御 迁移学习 是 是 ● ● ● CV Office ResNet-50 ASR=0.15 MixAdapt[101] 后门防御 迁移学习 是 是 ○ ● ◐ CV Office ResNet-50 ASR=0.17 SSDA[102] 后门防御 迁移学习 是 是 ○ ● ● CV Office-Home ResNet-50 ASR=0.0.02 ReMoS[103] 对抗防御、
后门防御迁移学习 是 是 ○ ● ● CV、NLP ResNet18 DIR=0.15 Jajal等人[104] 故障分析 模型转换 是 / / / / / / SafeCompress[105] 隐私窃取防御 压缩 否 否 ○ ● ● CV、NLP CIFAR-100 task acc=0.70 DFLARE[106] 模型测试 压缩 是 / ● ○ ○ CV MNIST LeNet-1 8bit acc=1 部署
阶段MT-DComp[107] 编译器测试 模型编译 / / / / / / TVM #Logic Errors =435 NNSmith[108] 编译器测试 模型编译 / / / / / / TVM branch coverage=18.6% HirGen[109] 编译器测试 模型编译 / / / / / / TVM #Bug=21 使用
阶段TextFusion[110] 隐私窃取防御 云端推理 是 是 ● / / NLP SST-2 ASR=0 TextObfuscator[111] 隐私窃取防御 云端推理 是 是 ● / / NLP CoNLL2003 ASR=0.01 攻击者知识中,○表示未知,◐表示已知或部分已知,●表示全知.ASR表示攻击成功率. 表 4 预训练模型仓库总结
Table 4 Summary of Contents and Artifacts of Popular PTM Hubs
模型仓库名称 模型
数目数据集
数目模型具体分类 支持任
务数贡献者
属性支持
功能支持计算框架库 Hugging Face[1] 252 014 46 170 多模态、计算机视觉、
语音、表格、强化学习36 开放式 API TensorFlow,PyTorch,Keras,
Caffe,JAX,ONNX,
PaddlePaddle,Core ML,FLAIRModelScope[112] 955 492 计算机视觉、自然语言处理、语音、
多模态、科学计算、语种、其他70 开放式 API,GitHub TensorFlow,PyTorch,ONNX PaddleHub[113] 135 10 000 计算机视觉、视频、自然语言处理、
文心大模型、智能语音、科学计算、
跨模态、强化学习、量子计算、表格、
图神经网络、时序技术、生物计算、智能推荐14 开放式 API,GitHub PaddlePaddle TensorFlow Hub[15] 1 364 87 图像、文本、语音、视频 47 封闭式 API,GitHub TensorFlow Model Zoo[2] 1 211 0 计算机视觉、自然语言处理、生成式模型、
强音频、图、自监督学习、健康和生物医学9 封闭式 GitHub TensorFlow,PyTorch,Keras,
Caffe,JAX,MXNet,ChainerPyTorch Hub[114] 52 0 音频、生成式模型、自然语言处理、
可脚本化模型、计算机视觉未知 封闭式 GitHub PyTorch ONNX Model Zoo[115] 55 0 计算机视觉、自然语言处理、语音 10 封闭式 GitHub ONNX NVIDIA NGC[16] 560 34 计算机视觉、自然语言处理、语音、其他 14 商业化 API PyTorch,TensorFlow -
[1] Hugging Face. Hugging Face―The AI community building the future[EB/OL]. (2016-03-01)[2022-03-21]. https: //huggingface.co/
[2] Yu Koh J. Model Zoo―Deep learning code and pretrained models[EB/OL]. (2018-06-14)[2023-03-15]. https://modelzoo.co/
[3] Qiu Xipeng, Sun Tianxiang, Xu Yige, et al. Pre-trained models for natural language processing: A survey[J]. Science China Technological Sciences, 2020, 63(10): 1872−1897 doi: 10.1007/s11431-020-1647-3
[4] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint, arXiv: 1409.1556, 2014
[5] Baracaldo N, Oprea A. Machine learning security and privacy[J]. IEEE Security & Privacy, 2022, 20(5): 11−13
[6] Liu Ximeng, Xie Lehui, Wang Yaopeng, et al. Privacy and security issues in deep learning: A survey[J]. IEEE Access, 2020, 9: 4566−4593
[7] Xue Mingfu, Yuan Chengxiang, Wu Heyi, et al. Machine learning security: Threats, countermeasures, and evaluations[J]. IEEE Access, 2020, 8: 74720−74742 doi: 10.1109/ACCESS.2020.2987435
[8] Kenton J D M W C, Toutanova L K. BERT: Pre-training of deep bidirectional transformers for language understanding[C]//Proc of the 17th NAACL-HLT. Stroudsburg, PA: ACL, 2019: 4171−4186
[9] Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[J]. arXiv preprint, arXiv: 2010.11929, 2020
[10] Radford A, Kim J W, Hallacy C, et al. Learning transferable visual models from natural language supervision[C]//Proc of the 18th Int Conf on Machine Learning. New York: PMLR, 2021: 8748−8763
[11] Liu Haotian, Li Chunyuan, Wu Qingyang, et al. Visual instruction tuning[J]. arXiv preprint, arXiv: 2304.08485, 2023
[12] Rombach R, Blattmann A, Lorenz D, et al. High-resolution image synthesis with latent diffusion models[C]//Proc of the 39th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2022: 10684−10695
[13] Cruz Jr G V, Du Yunshu, Taylor M E. Pre-training neural networks with human demonstrations for deep reinforcement learning[J]. arXiv preprint, arXiv: 1709.04083, 2017
[14] Jiang Wenxin, Synovic N, Sethi R, et al. An empirical study of artifacts and security risks in the pre-trained model supply chain[C]//Proc of the 1st ACM Workshop on Software Supply Chain Offensive Research and Ecosystem Defenses. New York: ACM, 2022: 105−114
[15] TensorFlow. TensorFlow Hub[EB/OL]. (2018-03-01)[2023-03-18]. https://www.tensorflow.org/hub
[16] NVIDIA. NVIDIA NGC: AI development catalog[EB/OL]. (2017-10-01) [2023-03-21]. https://catalog.ngc
[17] Russakovsky O, Deng Jia, Su Hao, et al. Imagenet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115: 211−252 doi: 10.1007/s11263-015-0816-y
[18] He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition[C]//Proc of the 29th IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2016: 770−778
[19] He Kaiming, Girshick R, Dollár P. Rethinking imagenet pre-training[C]//Proc of the 32nd IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 4918−4927
[20] Jajal P, Jiang Wenxin, Tewari A, et al. Analysis of failures and risks in deep learning model converters: A case study in the ONNX ecosystem[J]. arXiv preprint, arXiv: 2303.17708, 2023
[21] Choudhary T, Mishra V, Goswami A, et al. A comprehensive survey on model compression and acceleration[J]. Artificial Intelligence Review, 2020, 53: 5113−5155 doi: 10.1007/s10462-020-09816-7
[22] Krishnamoorthi R. Quantizing deep convolutional networks for efficient inference: A whitepaper[J]. arXiv preprint, arXiv: 1806.08342, 2018
[23] Dong Xin, Chen Shangyu, Pan S. Learning to prune deep neural networks via layer-wise optimal brain surgeon[J]. Advances in Neural Information Processing Systems, 2017, 30(1): 4857−4867
[24] 高晗,田育龙,许封元,等. 深度学习模型压缩与加速综述[J]. 软件学报,2021,32(1):68−92 Gao Han, Tian Yulong, Xu Fengyuan, et al. Survey of deep learning model compression and acceleration[J]. Journal of Software, 2021, 32(1): 68−92 (in Chinese)
[25] Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[J]. arXiv preprint, arXiv: 1503.02531, 2015
[26] Dube P, Bhattacharjee B, Huo Siyu, et al. Automatic labeling of data for transfer learning suggestion[C/OL]//Proc of the 32nd IEEE/CVF Conf on Computer Vision and Pattern Recognition. 2019[2023-05-06]. https://openreview.net/forum?id=rkxJgoRN_V
[27] Hugging Face [EB/OL]. (2016-03-01)[2022-03-21]. https://huggingface.co/datasets/beans
[28] Schelter S, Biessmann F, Januschowski T, et al. On challenges in machine learning model management[J/OL]. IEEE Data Engineering Bulletin. 2015[2023-05-02]. https://www.amazon.science/publications/on-challenges-in-machine-learning-model-management
[29] Shen Lujia, Ji Shouling, Zhang Xuhong, et al. Backdoor pre-trained models can transfer to all[C]//Proc of the 28th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2021: 3141−3158
[30] 纪守领,杜天宇,李进锋,等. 机器学习模型安全与隐私研究综述[J]. 软件学报,2021,32(1):41−67 Ji Shouling, Du Tianyu, Li Jinfeng, et al. Security and privacy of machine learning models: A survey[J]. Journal of Software, 2021, 32(1): 41−67 (in Chinese)
[31] Jiang Wenxin, Synovic N, Hyatt M, et al. An empirical study of pre-trained model reuse in the hugging face deep learning model registry[J]. arXiv preprint, arXiv: 2303.02552, 2023
[32] Jiang Wenxin, Banna V, Vivek N, et al. Challenges and practices of deep learning model reengineering: A case study on computer vision[J]. arXiv preprint, arXiv: 2303.07476, 2023
[33] Liu Zeyan, Li Fengjun, Li Zhu, et al. LoneNeuron: A highly-effective feature-domain neural trojan using invisible and polymorphic watermarks[C]//Proc of the 29th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2022: 2129−2143
[34] Kurita K, Michel P, Neubig G. Weight poisoning attacks on pretrained models[C]//Proc of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2020: 2793−2806
[35] Li Linyang, Song Demin, Li Xiaonan, et al. Backdoor attacks on pre-trained models by layerwise weight poisoning[C]//Proc of the 58th Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2021: 3023−3032
[36] Zhang Xinyang, Zhang Zheng, Ji Shouling, et al. Trojaning language models for fun and profit[C]// Proc of the 6th IEEE European Symp on Security and Privacy (EuroS&P). Piscataway, NJ: IEEE, 2021: 179−197
[37] Cai Xiangrui, Xu Haidong, Xu Sihan, et al. Badprompt: Backdoor attacks on continuous prompts[J]. Advances in Neural Information Processing Systems, 2022, 35(1): 37068−37080
[38] Grill J B, Strub F, Altché F, et al. Bootstrap your own latent—A new approach to self-supervised learning[J]. Advances in Neural Information Processing Systems, 2020, 33(1): 21271−21284
[39] Jia Jinyuan, Liu Yupei, Gong Zhengqiang. Badencoder: Backdoor attacks to pre-trained encoders in self-supervised learning[C]//Proc of the 43rd IEEE Symp on Security and Privacy (SP). Piscataway, NJ: IEEE, 2022: 2043−2059
[40] Liu Hongbin, Jia Jinyuan, Gong Zhengqiang. PoisonedEncoder: Poisoning the unlabeled pre-training data in contrastive learning[C]//Proc of the 31st USENIX Security Symp (USENIX Security 22). Berkeley, CA: USENIX Association, 2022: 3629−3645
[41] Chen Ting, Kornblith S, Norouzi M, et al. A simple framework for contrastive learning of visual representations[C]//Proc of the 37th Int Conf on Machine Learning. New York: PMLR, 2020: 1597−1607
[42] Zhang Jinghuai, Liu Hongbin, Jia Jinyuan, et al. CorruptEncoder: Data poisoning based backdoor attacks to contrastive learning[J]. arXiv preprint, arXiv: 2211.08229, 2022
[43] Ji Yujie, Zhang Xinyang, Ji Shouling, et al. Model-reuse attacks on deep learning systems[C]//Proc of the 25th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2018: 349−363
[44] Chen Kangjie, Meng Yuxian, Sun Xiaofei, et al. Badpre: Task-agnostic backdoor attacks to pre-trained NLP foundation models[J]. arXiv preprint, arXiv: 2110.02467, 2021
[45] Zhang Zhengyan, Xiao Guangxuan, Li Yongwei, et al. Red alarm for pre-trained models: Universal vulnerability to neuron-level backdoor attacks[J]. Machine Intelligence Research, 2023, 20(2): 180−193 doi: 10.1007/s11633-022-1377-5
[46] Shen Lujia, Ji Shouling, Zhang Xuhong, et al. Backdoor pre-trained models can transfer to all[C]//Proc of the 28th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2021: 3141−3158
[47] Lv Peizhuo, Yue Chang, Liang Ruigang, et al. A data-free backdoor injection approach in neural networks[C]//Proc of the 32nd USENIX Security Symp (USENIX Security 23). Berkeley, CA: USENIX Association, 2023: 2671−2688
[48] Mei Kai, Li Zheng, Wang Zhenting, et al. NOTABLE: Transferable backdoor attacks against prompt-based NLP models[C]//Proc of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Stroudsburg, PA: ACL, 2023: 15551−15565
[49] Du Wei, Li Peixuan, Li Boqun, et al. UOR: Universal backdoor attacks on pre-trained language models[J]. arXiv preprint, arXiv: 2305.09574, 2023
[50] Wang Hao, Guo Shangwei, He Jialiang, et al. Model supply chain poisoning: backdooring pre-trained models via embedding indistinguishability[J]. arXiv preprint, arXiv: 2401.15883, 2024
[51] Huang Yujun, Zhuo Terry Yue, Xu Qiongkai, et al. Training-free lexical backdoor attacks on language models[C]//Proc of the 32nd ACM Web Conf 2023. New York: ACM, 2023: 2198−2208
[52] Wang Yue, Wang Weishi, Joty S, et al. CodeT5: Identifier-aware unified pre-trained encoder-decoder models for code understanding and generation[C]//Proc of the 36th Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2021: 8696−8708
[53] Li Yanzhou, Liu Shangqing, Chen Kangjie, et al. Multi-target backdoor attacks for code pre-trained models[J]. arXiv preprint, arXiv: 2306.08350, 2023
[54] Wang Bolun, Yao Yuanshun , Viswanath B, et al. With great training comes great vulnerability: Practical attacks against transfer learning[C]//Proc of the 27th USENIX Security Symp (USENIX Security 18). Berkeley, CA: USENIX Association, 2018: 1281−1297
[55] Yao Yuanshun, Li Huiying, Zheng Haitao, et al. Latent backdoor attacks on deep neural networks[C]//Proc of the 26th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2019: 2041−2055
[56] Wang Shuo, Nepal S, Rudolph C, et al. Backdoor attacks against transfer learning with pre-trained deep learning models[J]. IEEE Transactions on Services Computing, 2020, 15(3): 1526−1539
[57] Li Zhizhong, Hoiem D. Learning without forgetting[J]. IEEE Transactions on Pattern Analysis And Machine Intelligence, 2017, 40(12): 2935−2947
[58] Jiang Wenbo, Zhang Tianwei, Qiu H, et al. Incremental learning, incremental backdoor threats[J]. IEEE Transactions on Dependable and Secure Computing, 2022, 21(2): 559−572
[59] Ban Yuanhao, Dong Yinpeng. Pre-trained adversarial perturbations[J]. Advances in Neural Information Processing Systems, 2022, 35(1): 1196−1209
[60] Lester B, Al-Rfou R, Constant N. The power of scale for parameter-efficient prompt tuning[C]//Proc of the 26th Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2021: 3045−3059
[61] Du Wei, Zhao Yichun, Li Boqun, et al. Ppt: Backdoor attacks on pre-trained models via poisoned prompt tuning[C]//Proc of the 31st Int Joint Conf on Artificial Intelligence (IJCAI−22). San Francisco, CA: Morgan Kaufmann: 2022: 680−686
[62] Chung H W, Hou Le, Longpre S, et al. Scaling instruction-finetuned language models[J]. Journal of Machine Learning Research, 2024, 25(70): 1−53
[63] Xu Jiashu, Ma Mingyu, Wang Fei, et al. Instructions as backdoors: Backdoor vulnerabilities of instruction tuning for large language models[C]//Proc of the 20th Conf of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 1: Long Papers). Stroudsburg, PA: ACL, 2024: 3111−3126
[64] Chen Yufei, Shen Chao, Wang Cong, et al. Teacher model fingerprinting attacks against transfer learning[C]//Proc of the 31st USENIX Security Symp (USENIX Security 22). Berkeley, CA: USENIX Association, 2022: 3593−3610
[65] Tian Yulong, Suya F, Suri A, et al. Manipulating transfer learning for property inference[C]//Proc of the 36th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2023: 15975−15984
[66] Song Congzheng, Raghunathan A. Information leakage in embedding models[C]//Proc of the 27th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2020: 377−390
[67] Carlini N, Tramer F, Wallace E, et al. Extracting training data from large language models[C]//Proc of the 30th USENIX Security Symp (USENIX Security 21). Berkeley, CA: USENIX Association, 2021: 2633−2650
[68] Liu Hongbin, Jia Jinyuan, Qu Wenjie, et al. EncoderMI: Membership inference against pre-trained encoders in contrastive learning[C]//Proc of the 28th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2021: 2081−2095
[69] Liu Yupei, Jia Jinyuan, Liu Hongbin, et al. StolenEncoder: Stealing pre-trained encoders in self-supervised learning[C]//Proc of the 29th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2022: 2115−2128
[70] Sha Zeyang, He Xinlei, Yu Ning, et al. Can't steal? Cont-steal! Contrastive stealing attacks against image encoders[C]//Proc of the 40th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2023: 16373−16383
[71] Hong S, Panaitescu-Liess M A, Kaya Y, et al. Qu-anti-zation: Exploiting quantization artifacts for achieving adversarial outcomes[J]. Advances in Neural Information Processing Systems, 2021, 34(1): 9303−9316
[72] Ma Hua, Qiu Huming, Gao Yansong, et al. Quantization backdoors to deep learning commercial frameworks[J]. IEEE Transactions on Dependable and Secure Computing, 2023, 21(3): 1155−1172
[73] Tian Yulong, Suya F, Xu Fengyan, et al. Stealthy backdoors as compression artifacts[J]. IEEE Transactions on Information Forensics and Security, 2022, 17: 1372−1387 doi: 10.1109/TIFS.2022.3160359
[74] Phan H, Shi Cong, Xie Yi, et al. RIBAC: Towards robust and imperceptible backdoor attack against compact DNN[C]//Proc of the 17th European Conf on Computer Vision 2022. Berlin: Springer, 2022: 708−724
[75] Ge Yunjie, Wang Qian, Zheng Baolin, et al. Anti-distillation backdoor attacks: Backdoors can really survive in knowledge distillation[C]//Proc of the 29th ACM Int Conf on Multimedia. New York: ACM, 2021: 826−834
[76] Qi Xiangyu, Xie Tinghao, Pan Ruizhe, et al. Towards practical deployment-stage backdoor attack on deep neural networks[C]//Proc of the 39th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2022: 13347−13357
[77] Zou A, Wang Zifan, Kolter J Z, et al. Universal and transferable adversarial attacks on aligned language models[J]. arXiv preprint, arXiv: 2307.15043, 2023
[78] Wei A,Haghtalab N,Steinhardt J. Jailbroken:How does llm safety training fail?[J]. Advances in Neural Information Processing Systems,2024,36(1):80079-80110(英文名 [79] Shen Xinyue, Chen Zeyuan, Backes M, et al. " do anything now": Characterizing and evaluating in-the-wild jailbreak prompts on large language models[C]// Proc of the 31st on ACM SIGSAC Conf on Computer and Communications Security. 2024: 1671−1685
[80] Zanella-Béguelin S, Wutschitz L, Tople S, et al. Analyzing information leakage of updates to natural language models[C]//Proc of the 27th ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2020: 363−375
[81] Panchendrarajan R, Bhoi S. Dataset reconstruction attack against language models[C/OL]//Proc of the 30th Int Joint Conf on Artificial Intelligence. 2021[2021-07-01]. http://cdap.sliit.lk/bitstream/123456789/2045/1/DatasetReconstructionAttackagainstLanguageModels.pdf
[82] Lukas N, Salem A, Sim R, et al. Analyzing leakage of personally identifiable information in language models[C]//Proc of the 44th IEEE Symp on Security and Privacy (SP). Piscataway, NJ: IEEE, 2023: 346−363
[83] Keskar N S, McCann B, Xiong Caiming, et al. The thieves on sesame street are polyglots-extracting multilingual models from monolingual APIs[C]//Proc of the 25th Conf on Empirical Methods in Natural Language Processing (EMNLP). Stroudsburg, PA: ACL, 2020: 6203−6207
[84] Xu Qiongkai, He Xuanli, Lyu Lingjuan, et al. Student surpasses teacher: imitation attack for black-box NLP APIs[C]//Proc of the 29th Int Conf on Computational Linguistics. Stroudsburg, PA: ACL, 2022: 2849−2860
[85] Li Zongjie, Wang Chaozheng, Ma Pingchuan, et al. On extracting specialized code abilities from large language models: A feasibility study[C]//Proc of the 46th IEEE/ACM Int Conf on Software Engineering. 2024: 1−13
[86] Feng Shiwei, Tao Guanhong, Cheng Siyuan, et al. Detecting backdoors in pre-trained encoders[C]//Proc of the 40th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2023: 16352−16362
[87] Zhu Biru, Qin Yujia, Cui Ganqu, et al. Moderate-fitting as a natural backdoor defender for pre-trained language models[J]. Advances in Neural Information Processing Systems, 2022, 35(1): 1086−1099
[88] Zhang Xiaoyu, Jin Yulin, Wang Tao, et al. Purifier: Plug-and-play backdoor mitigation for pre-trained models via anomaly activation suppression[C]//Proc of the 30th ACM Int Conf on Multimedia. New York: ACM, 2022: 4291−4299
[89] Shan S, Bhagoji A N, Zheng Haitao, et al. Poison forensics: Traceback of data poisoning attacks in neural networks[C]//Proc of the 31st USENIX Security Symp (USENIX Security 22). Berkeley, CA: USENIX Association, 2022: 3575−3592
[90] Cheng Siyuan, Tao Guanhong, Liu Yingqi, et al. BEAGLE: Forensics of deep learning backdoor attack for better defense[J]. arXiv preprint, arXiv: 2301.06241, 2023
[91] Liu Kang, Dolan-Gavitt B, Garg S. Fine-pruning: Defending against backdooring attacks on deep neural networks[C]//Proc of the 21st Int Symp on Research in Attacks, Intrusions, and Defenses. Berlin: Springer, 2018: 273−294
[92] Li Yige, Lyu Xixiang, Koren N, et al. Neural attention distillation: Erasing backdoor triggers from deep neural networks[J]. arXiv preprint, arXiv: 2101.05930, 2021
[93] Papernot N, McDaniel P, Wu Xi, et al. Distillation as a defense to adversarial perturbations against deep neural networks[C]// Proc of the 37th IEEE Symp on Security and Privacy (SP). Piscataway, NJ: IEEE, 2016: 582−597
[94] Khalid F, Ali H, Tariq H, et al. Qusecnets: Quantization-based defense mechanism for securing deep neural network against adversarial attacks[C]//Proc of the 25th IEEE Int Symp on On-Line Testing and Robust System Design (IOLTS). Piscataway, NJ: IEEE, 2019: 182−187
[95] Dong Xinshuai, Luu A T, Lin Min, et al. How should pre-trained language models be fine-tuned towards adversarial robustness?[J]. Advances in Neural Information Processing Systems, 2021, 34(1): 4356−4369
[96] Jiang Lan, Zhou Hao, Lin Yankai, et al. ROSE: Robust selective fine-tuning for pre-trained language models[C]//Proc of the 27th Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA, ACL: 2022: 2886−2897
[97] Liu Hongbin, Reiter M K, Gong Neil Zhengqiang. Mudjacking: Patching backdoor vulnerabilities in foundation models[J]. arXiv preprint, arXiv: 2402.14977, 2024
[98] Zhang Zhiyuan, Lyu Lingjuan, Ma Xingjun, et al. Fine-mixing: Mitigating backdoors in fine-tuned language models[C]/Proc of the 27th Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA, ACL: 2022: 355−372
[99] Zhang Zhiyuan, Chen Deli, Zhou Hao, et al. Diffusion theory as a scalpel: Detecting and purifying poisonous dimensions in pre-trained language models caused by backdoor or bias[C]//Proc of the 61st Association for Computational Linguistics. Stroudsburg, PA: ACL, 2023: 2495−2517
[100] Sheng Lijun, Liang Jian, He Ran, et al. Adaptguard: Defending against universal attacks for model adaptation[C]//Proc of the 39th IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2023: 19093−19103
[101] Sheng Lijun, Liang Jian, He Ran, et al. Can we trust the unlabeled target data? Towards backdoor attack and defense on model adaptation[J]. arXiv preprint, arXiv: 2401.06030, 2024
[102] Ahmed S, Al Arafat A, Rizve M N, et al. SSDA: Secure source-free domain adaptation[C]//Proc of the 39th IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2023: 19180−19190
[103] Zhang Ziqi, Li Yuanchun, Wang Jindong, et al. ReMoS: Reducing defect inheritance in transfer learning via relevant model slicing[C]//Proc of the 44th Int Conf on Software Engineering. Piscataway, NJ: IEEE, 2022: 1856−1868
[104] Jajal P, Jiang Wenxin, Tewari A, et al. Analysis of failures and risks in deep learning model converters: A case study in the ONNX Ecosystem[J]. arXiv preprint, arXiv: 2303.17708, 2023
[105] Zhu Jie, Wang Leye, Han Xiao. Safety and Performance, Why Not Both? Bi-Objective Optimized Model Compression against Heterogeneous Attacks Toward AI Software Deployment[J]. IEEE Transactions on Software Engineering, 2024, 50(3): 376−390 doi: 10.1109/TSE.2023.3348515
[106] Tian Yongqiang, Zhang Wuqi, Wen Ming, et al. Finding deviated behaviors of the compressed dnn models for image classifications[J]. ACM Transactions on Software Engineering and Methodology, 2023, 32(5): 1−32
[107] Xiao Dongwei, Liu Zhibo, Yuan Yuanyuan, et al. Metamorphic testing of deep learning compilers[J]. ACM on Measurement and Analysis of Computing Systems, 2022, 6(1): 1−28
[108] Liu Jiawei, Lin Jinkun, Ruffy F, et al. Nnsmith: Generating diverse and valid test cases for deep learning compilers[C]//Proc of the 28th ACM Int Conf on Architectural Support for Programming Languages and Operating Systems, Volume 2. New York: ACM, 2023: 530−543
[109] Ma Haoyang, Shen Qingchao, Tian Yongqiang, et al. Fuzzing deep learning compilers with HirGen[C]//Proc of the 32nd ACM SIGSOFT Int Symp on Software Testing and Analysis. New York: ACM, 2023: 248−260
[110] Zhou Xin, Lu Jinzhu, Gui Tao, et al. TextFusion: Privacy-preserving pre-trained model inference via token fusion[C]//Proc of the 27th Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA, ACL: 2022: 8360−8371
[111] Zhou Xin, Lu Yi, Ma Ruotian, et al. TextObfuscator: Making pre-trained language model a privacy protector via obfuscating word representations[C]//Proc of the 61st Association for Computational Linguistics. Stroudsburg, PA: ACL, 2023: 5459−5473
[112] Modelscope. ModelScope: bring the notion of Model-as-a-Service to life[EB/OL]. (2022-11-03)[2024-05-01]https://github.com/modelscope/modelscope
[113] PaddlePaddle. PaddleHub―An open-source deep learning platform originated from industrial practice[EB/OL]. (2019-07-08)[2023-03-15]https://www.paddlepaddle.org.cn/hub
[114] Pytorch. PyTorch hub. [EB/OL]. (2019-06-01)[2023-05-01]https://pytorch.org/hub/
[115] ONNX. ONNX model zoo[EB/OL]. (2017-04-20)[2023-06-01]https://github.com/onnx/models
[116] Debenedetti E, Severi G, Carlini N, et al. Privacy side channels in machine learning systems[C]//Proc of the 33rd USENIX Security Symp (USENIX Security 24). Berkeley, CA: USENIX Association, 2024: 6861−6848
[117] Tan Qi, Li Qi, Zhao Yi, et al. Defending against data reconstruction attacks in federated learning: an information theory approach[J]. arXiv preprint, arXiv: 2403.01268, 2024