Processing math: 17%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

DAQ:基于分治策略的自适应Vision Transformer低位宽量化方法

吕倩茹, 许金伟, 姜晶菲, 李东升

吕倩茹, 许金伟, 姜晶菲, 李东升. DAQ:基于分治策略的自适应Vision Transformer低位宽量化方法[J]. 计算机研究与发展. DOI: 10.7544/issn1000-1239.202550145
引用本文: 吕倩茹, 许金伟, 姜晶菲, 李东升. DAQ:基于分治策略的自适应Vision Transformer低位宽量化方法[J]. 计算机研究与发展. DOI: 10.7544/issn1000-1239.202550145
Lü Qianru, Xu Jinwei, Jiang Jingfei, Li Dongsheng. DAQ: Divide-and-Conquer Strategy Based Adaptive Low-Bit Quantization Method for Vision Transformer[J]. Journal of Computer Research and Development. DOI: 10.7544/issn1000-1239.202550145
Citation: Lü Qianru, Xu Jinwei, Jiang Jingfei, Li Dongsheng. DAQ: Divide-and-Conquer Strategy Based Adaptive Low-Bit Quantization Method for Vision Transformer[J]. Journal of Computer Research and Development. DOI: 10.7544/issn1000-1239.202550145
吕倩茹, 许金伟, 姜晶菲, 李东升. DAQ:基于分治策略的自适应Vision Transformer低位宽量化方法[J]. 计算机研究与发展. CSTR: 32373.14.issn1000-1239.202550145
引用本文: 吕倩茹, 许金伟, 姜晶菲, 李东升. DAQ:基于分治策略的自适应Vision Transformer低位宽量化方法[J]. 计算机研究与发展. CSTR: 32373.14.issn1000-1239.202550145
Lü Qianru, Xu Jinwei, Jiang Jingfei, Li Dongsheng. DAQ: Divide-and-Conquer Strategy Based Adaptive Low-Bit Quantization Method for Vision Transformer[J]. Journal of Computer Research and Development. CSTR: 32373.14.issn1000-1239.202550145
Citation: Lü Qianru, Xu Jinwei, Jiang Jingfei, Li Dongsheng. DAQ: Divide-and-Conquer Strategy Based Adaptive Low-Bit Quantization Method for Vision Transformer[J]. Journal of Computer Research and Development. CSTR: 32373.14.issn1000-1239.202550145

DAQ:基于分治策略的自适应Vision Transformer低位宽量化方法

基金项目: 

undefined

国家自然科学基金项目(62025208,62421002)

详细信息
    作者简介:

    吕倩茹: 1993年生. 博士研究生. 主要研究方向为计算机体系结构、人工智能

    许金伟: 1990年生. 博士,助理研究员. CCF会员. 主要研究方向为人工智能、可重构计算

    姜晶菲: 1974年生. 博士,研究员. CCF会员. 主要研究方向为可重构计算、人工智能、计算机体系结构

    李东升: 1978年生. 博士,研究员. CCF会员. 主要研究方向为并行计算、人工智能、计算机体系结构

    通讯作者:

    许金伟(xujinwei13@nudt.edu.cn

  • 中图分类号: TP311.13;TP309

DAQ: Divide-and-Conquer Strategy Based Adaptive Low-Bit Quantization Method for Vision Transformer

Funds: 

This work was supported by the National Natural Science Foundation of China (62025208, 62421002).

undefined

More Information
    Author Bio:

    Lü Qianru: born in 1993. PhD candidate. Her main research interests include computer architecture and artificial intelligence

    Xu Jinwei: born in 1990. PhD, assistant research fellow. Member of CCF. His main research interests include artificial intelligence and reconfigurable computing

    Jiang Jingfei: born in 1974. PhD, professor. Member of CCF. Her main research interests include reconfigurable computing, artificial intelligence, and computer architecture. (jingfeijiang@nudt.edu.cn

    Li Dongsheng: born in 1978. PhD, professor. Member of CCF. His main research interests include parallel computing, artificial intelligence, computer architecture.(dsli@nudt.edu.cn

  • 摘要:

    视觉Transformer(Vision Transformer,ViT)模型在计算机视觉领域的多项任务中取得显著效果. 但ViT的复杂结构和计算开销限制了其在边缘计算设备中的部署. 训练后量化(post-training quantization,PTQ)技术被广泛应用于ViT模型轻量化中以解决实际部署难题,但现有PTQ方法在低位宽量化中的性能损失较大. 针对4-bit超低位宽量化场景,系统性地探讨当前PTQ方法存在的核心问题及其量化方法. 针对低比特激活量化瓶颈,发现ViT的量化敏感层(如Softmax)与计算密集层(如线性变换)存在显著空间错位,且非高斯分布的激活值中隐含97%的类高斯聚集特性. 由此,基于标准分数z-score方法提出分治自适应量化(divide-and-conquer and adaptive quantization,DAQ)方法,通过量化敏感度-计算-存储开销联合分析与硬件协同设计,实现精度与效率的联合优化. DAQ构建动态分治量化机制,通过动态感知的z-score方法实现正常值/离群值双域分割,均匀关联量化2个值域. DAQ在算法精度上4-bit量化下达到ImageNet Top-1,精度最大提升4.37个百分点,目标检测任务最大精度提升达8.2个百分点,与基线模型相比误差平均低于0.4个百分点,超过最佳全精度模型0.1个百分点,接近实现无损的低位宽量化. 另一方面,DAQ在硬件兼容设上适配Tensor Core的INT4/INT8内核,以量化定点数据来减轻线性计算压力. 实验表明,DAQ硬件适配后对线性计算部分有43%~86%的加速效果,为资源受限场景提供了算法-硬件协同优化的量化部署范式.

    Abstract:

    Vision Transformers (ViTs) have demonstrated remarkable success in computer vision tasks, but their complex architecture and computational demands hinder deployment on edge devices. While post-training quantization (PTQ) is widely adopted for model compression, existing PTQ methods exhibit severe performance degradation in 4-bit ultra-low-bitwidth scenarios. This work systematically addresses two fundamental limitations: 1) spatial mismatch between quantization-sensitive layers (e.g., Softmax) and compute-intensive layers (e.g., linear projections), where quantizing Softmax causes 80% accuracy loss despite contributing merely 8% computational load; 2) non-Gaussian activation distributions with hidden Gaussian-like clustering properties (97% values less than three times z-score). We propose DAQ (divide-and-conquer and adaptive quantization), a hardware-friendly PTQ method. DAQ adpots z-score-driven dynamic partitioning algorithm to separate data normal-range and abnormal-range groups and quantizes the two groups with connected parameter. DAQ further explores hardware accelerated kernel such as tensor core to speed up quantization ViT models. Experimental results demonstrate that DAQ achieves a maximum improvement of 4.37% in ImageNet Top-1 accuracy under 4-bit quantization. In object detection tasks, its average error margin remains below 0.4% compared with the baseline and achieves a maximum improvement of 8.2%, even surpassing the full-precision model by 0.1% in specific cases, thereby realizing near-lossless low-bit-width quantization. Through hardware implementation optimization, DAQ achieves 43%~86% computational acceleration without significantly increasing computational overhead. This approach establishes a synergistic algorithm-hardware co-optimized quantization deployment paradigm for resource-constrained scenarios, effectively balancing model efficiency and precision retention.

  • 随着人工智能(AI)技术的快速发展,大语言模型(large language model,LLM)[1]、多模态大模型[2]等先进AI模型不断涌现,工业界和学术界对AI计算的算力需求也在持续攀升. 具体而言,一方面,当前AI的训练与推理不仅对算力设备的数量提出了更高要求[3],同时对算力性能的特性也有不同需求[4]. 因此,基于异构计算的计算系统已成为当今业界构建智算集群的主要方式. 另一方面,内存限制成为了制约AI计算的重要问题[5]. 对于训练过程,现有计算架构已无法支撑该过程中产生的激活、优化器状态等内存数据,因此才产生了如Zero[6]、重计算[7]、数据并行训练[8]等折中的内存瓶颈缓解技术. 对于推理过程,KVcache[9]、MoE[10]等技术也对现有内存容量带来了巨大挑战. 缓存一致性技术被认为有望解决计算卡内存受限的问题[11],诸如英伟达等厂商均提出了高效的缓存一致性互连技术[12-13],形成紧耦合的融合计算系统[14],以提升算力资源在并行AI计算中的协同执行效率. CXL协议[15]的提出也论证了一致性互连技术对内存池化、管理、调度等方面的优势. 因此,在未来,结合异构计算与缓存一致性互连技术的异构一致性融合计算系统,将成为AI算力基础设施的重要发展方向.

    异构一致性融合计算系统结合类型多样的异构算力,如CPU、GPU、FPGA等,不仅能够充分发挥不同计算架构的优势,还能够通过高效的内存管理和缓存一致性协议协调不同异构算力之间的数据访问与处理. 然而,由于异构计算和一致性互连等关键技术尚未完全成熟,异构一致性融合计算系统的性能预测与评估仍然是当前亟待解决的问题. 例如,如何在建设异构一致性融合计算系统之前以低成本快速地估算其性能,如何评测LLM训练任务在该系统中的执行效率,以及如何发现并优化计算系统中的性能瓶颈,都是异构一致性融合计算系统研究中待解决的核心挑战.

    但是,在实际应用中,该计算系统的性能涉及算力的分布、算力与内存的互连架构、任务负载的部署方式、互连拓扑的时延带宽参数等多个复杂变量和指标,因此在实际硬件系统中进行测评的难度和成本往往较高,难以实现. 为此,使用建模与仿真方法对异构一致性融合计算系统进行性能评估,成为一种较为理想的解决方案.

    然而,现有的建模与仿真研究大多集中于同构计算系统和非一致性计算系统,难以有效地对异构计算、一致性互连等关键技术进行建模. 目前,建模异构一致性融合计算系统时,主要面临2个挑战:

    1)异构一致性融合计算系统的拓扑架构建模具有较大难度. 模型中不仅需要构建异构算力、内存设备等各类器部件之间的互连拓扑,还需考虑异构算力之间的计算性能差异. 以往的建模与仿真工作往往难以同时满足这些需求.

    2)引入缓存一致性协议后,计算负载的执行方式会与传统的非一致性系统有所不同. 尽管一致性系统解决了算力主存空间的限制,但算力对远程内存的直接访问开销成为需要特别考虑的因素[16],这也使得以往的工作难以进行合理建模.

    为了解决以上问题,本文研究提出了一种面向异构一致性融合计算系统的性能建模工具HCSim (heterogeneous coherent simulator). HCSim集成了成熟的分布式系统仿真器SimGrid[17-18],充分利用其互连拓扑描述能力以及SimGrid-S4U[19]的高效网络仿真能力,从而有效解决了异构一致性融合计算系统的拓扑架构建模难题. 此外,HCSim针对一致性系统的工作特性,设计了结合内存访问特性的负载建模与负载运行模拟方法,使用户能够模拟一致性系统下的工作负载执行方式,并生成可观测的执行轨迹. 进一步地,基于所设计的HCSim,本文研究对异构一致性融合计算系统与LLM训练任务进行了建模,探究了多种变量参数对该系统性能的影响,并提出优化方案以缓解该系统中的通信瓶颈,提高计算系统的整体性能. 本文的贡献有3点:

    1)提出了面向异构一致性融合计算系统的性能建模工具HCSim,解决了拓扑架构建模困难以及一致性计算系统负载执行方式存在差异的问题,为异构一致性融合计算系统的性能建模、评估和优化提供了高效的仿真分析工具.

    2)基于HCSim构建了在异构一致性融合计算系统下执行LLM训练负载的仿真,并探究了异构算力分布、并行计算规模、时延、带宽等参数对计算系统性能的影响.

    3)面向异构一致性融合计算系统中的通信性能优化问题,提出了一致性下的ring-allreduce参数同步方法,并使用HCSim验证了该优化方式对计算系统性能的提升.

    本文研究旨在面向新型异构一致性融合计算系统,提出高效、可用的建模仿真分析工具,为工业界和学术界提供低成本的新型计算系统性能与优化方案的评估手段,从而助力新一代AI基础设施与AI应用的创新与发展.

    计算系统通常涉及处理器计算、内存访存和网络通信等过程[20],以往已有许多成熟的研究能够对上述3种过程进行高精度的建模与仿真. 对于计算过程的建模与仿真,经典的体系结构仿真器包括高度可配置的开源微架构仿真器Gem5[21],兼具指令级和全系统仿真的操作系统开发与嵌入式系统仿真器QEMU[22],以及专门用于GPGPU计算和并行程序性能分析与优化的GPGPU-Sim[23]等;对于内存访存过程的建模与仿真,较为成熟的仿真器包括专注于DRAM访问时序和性能分析的DRAMSim3[24],以及支持较新内存标准(如DDR4、HBM)的仿真器Ramulator[25]等;在网络仿真器方面,较为广泛使用的是离散事件网络仿真器NS-3[26],还有支持无线网络、物联网、车联网和数据中心网络的模块化仿真器OMNeT++[27]等.

    然而,以上仿真器通常面临计算复杂度高和仿真耗时较大的问题. 例如,使用GPGPU-Sim仿真单个GPU计算任务可能需要长达几天的时间[28],而NS-3仿真64个节点执行1MB的all-reduce操作可能需要20 min以上[29]. 因此,直接使用这些成熟的高精度仿真器,往往难以在有效时间内对规模较大的计算系统进行仿真与分析,无法满足建模异构一致性融合计算系统的需求.

    随着分布式AI计算技术的飞速发展,业界和学界涌现了一系列面向分布式AI计算系统与AI计算任务的性能建模仿真研究,表1中展示了近几年提出的相关工作.

    表  1  面向分布式AI计算系统的性能建模工作
    Table  1.  Performance Modeling Work for Distributed AI Computing Systems
    工作名称 工作简介
    AMPeD[30] 针对Transformer神经网络架构的分布式训练任务进行数学建模的研究.
    Calculon[31] 针对LLM的分布式训练过程进行数学建模的工作.
    Paleo[32] 早期使用数学模型与有向无环图(DAG)模型建模数据并行、模型并行等AI分布式训练任务的研究.
    FlexFlow[33] 一个开源的深度学习编译器和运行时系统,其中提供了一个基于图模型的模块,用于建模与优化分布式AI计算任务.
    Daydream[34] 使用细粒度的基于图的模型描述分布式训练,主要针对基于all-reduce的分布式并行任务进行建模与仿真.
    Dpro replayer[35] 基于图模型预测和优化数据并行分布式训练的性能.
    DistSim[36] 用于预测每个参与分布式训练的算力节点的详细工作时间线.
    DistIR[37] 一种基于MLIR[38]的中间表示,用于以伪代码的形式模拟分布式训练的执行过程.
    Proteus[39] 使用策略树描述并行策略,并依赖执行图来建模分布式训练. 该研究考虑了分布式训练的运行时特征.
    TAG[40] 使用图模型建模并预测分布式训练任务的耗时,同时基于图神经网络搜索并优化分布式训练的执行策略.
    SMSG[41] 一种无需进行实际性能采集分析(profiling)的分布式训练数学建模方法,仅需输入AI加速器的实际计算性能和系统通信能力,即可对分布式系统中的AI训练任务进行建模.
    Astra-sim[29,42] 一个帮助研究人员理解并探索分布式训练中多种软硬件协同设计空间的模拟器.
    下载: 导出CSV 
    | 显示表格

    然而,这些已有的研究对于异构计算与一致性互连技术的支持能力较为有限. 具体而言,现有工作面临的主要问题包括以下4点:

    1)通常假设所有算力的计算能力一致,难以模拟异构算力差异对计算系统性能的影响.

    2)依赖于在特定硬件上运行AI模型训练的前几个训练步骤,并通过性能分析工具获取执行轨迹,导致应用成本较高,无法适用于尚未实际部署的计算系统.

    3)对于计算系统中互连拓扑建模的灵活性较弱,无法描述异构一致性融合计算系统中复杂的互连架构.

    4)缺乏对一致性建模仿真的支持,无法建模一致性条件下AI计算任务的工作负载与执行方式.

    由此可见,现有的建模仿真研究难以解决上述拓扑架构建模困难和引入一致性后计算负载建模困难的两大挑战,难以实现对异构一致性融合计算系统的性能建模,也无法在缺乏实际软硬件的情况下评估系统优化方案的效果. 这些正是本文研究所提出的HCSim所要解决的问题.

    随着计算系统的变量、规模和复杂性逐渐增加,保证性能建模与仿真工作高精度的技术难度不断提升,搭建实际计算系统软硬件平台对仿真器进行校准的成本也在逐步增加,这使得建模与仿真工具的设计与实现变得愈加困难. 因此,近年来,许多建模与仿真工作不再专注于提升仿真的绝对精度,而是更多地关注模拟计算系统的功能与原理,并输出用于参考的相对指标.

    例如,SMSG[41]在其研究中指出,重要的不是估计分布式训练的实际执行时间,而是对比不同策略的相对执行耗时. 在Scale-sim[43]仿真器中,研究人员仿真了脉冲阵列微架构[44]的工作流程,但其仿真器仅输出了仿真中定义的周期(cycle),并没有将仿真输出结果与真实系统进行对比. 同样地,在近期提出的Astra-sim[29,42]中,研究者也仅使用仿真中定义的时间对比了不同计算系统软硬件协同设计方式的差异,未探究仿真器建模的具体精度.

    对于异构一致性融合计算系统的性能建模与仿真,由于异构软硬件之间通常存在兼容性问题,实际部署计算系统并对仿真进行校准需要付出巨大的工程量与成本,这与建模仿真的初衷相悖. 因此,与诸多近期的研究工作一致,本文研究提出的HCSim采用相对精度,旨在对比不同算力与内存的互连架构、任务负载的部署方式、互连拓扑时延带宽等多种变量对系统性能的相对影响,从而为异构一致性融合计算系统的设计与优化提供指导建议.

    HCSim的建设目标是对异构一致性融合计算系统的性能进行建模,解决以往建模仿真工作对该系统进行建模的挑战. 根据输入的计算系统互连架构和AI计算负载,HCSim用于模拟仿真AI计算负载的执行流程,最终输出AI计算负载在计算系统中的执行耗时和运行轨迹,为研究者在异构一致性融合计算系统的设计与优化过程中提供相对指标的参考.

    为了实现上述目标,本文研究提出HCSim的系统架构如图1所示,主要包括3个核心层的设计:

    图  1  HCSim的系统架构
    Figure  1.  System architecture of HCSim

    1)平台层. 用于接收和解析用户输入的异构一致性融合计算系统的互连拓扑配置,并支持用户对互连拓扑以及拓扑中的算力、内存节点进行自定义,进而对算力节点、内存节点、拓扑结构以及节点之间的互连进行建模与仿真.

    2)负载层. 接收用户定义的AI计算任务描述,并将计算任务转化为HCSim所定义的负载图,用于描述计算系统中的分布式AI计算任务. 随后,负载层根据转化后的负载图,驱动执行层对计算任务的执行过程进行仿真模拟,并在执行过程中不断输出细粒度的执行轨迹.

    3)执行层. 在负载层的驱动下,执行层用于仿真AI计算负载在平台层所定义的计算系统中的执行过程. 该层基于SimGrid[17]实现,包括通信建模和计算建模2个部分,能够模拟算子级别的执行流程,输出AI计算任务的细粒度执行耗时.

    HCSim依赖于这3层的相互协作,实现对异构一致性融合计算系统的性能建模.

    为了满足对异构一致性融合计算系统拓扑架构进行建模的需求,HCSim的平台层支持灵活自定义算力节点、内存节点和互连拓扑,并支持定义相关的核心参数. 平台层所定义的互连拓扑会被传递至执行层所集成的SimGrid仿真器[17],从而实现计算系统互连拓扑的模型构建.

    与绝大多数建模工作类似,HCSim仿真平台采用图的方式对互连拓扑进行建模. 表2展示了HCSim在平台层支持构建的图节点与边等元素,以及它们相应的属性参数. 在HCSim中,所构建的图上的节点分为交换节点、异构算力节点和内存节点. 其中,交换节点主要用于描述计算系统中的数据交换节点,如PCIE Switch,NVSwtich,L1 Switch,ToR Switch等,其节点上没有必要的属性. 异构算力节点用于描述计算系统中的异构算力,这些节点需要定义与计算能力相关的属性信息. 对于内存节点,HCSim支持定义内存的容量,也可以将内存设置为无穷大. 对于所构建图中用于连接节点的边,在HCSim中设计用边来表示节点之间的物理链路连接,因此需要定义带宽、时延等与数据传输相关的属性信息.

    表  2  拓扑图的元素定义
    Table  2.  Element Definitions of Topology Graph
    元素名称 属性名 属性含义
    交换节点 无需定义属性
    异构算力节点 fp16算力/ FLOPS fp16计算精度下的计算性能
    fp32算力/ FLOPS fp32计算精度下的计算性能
    内存节点 内存容量 包含可用的内存空间有多少
    时延 所连接节点之间的通信时延
    带宽 所连接节点之间的通信带宽
    下载: 导出CSV 
    | 显示表格

    基于平台层的设计,图2展示了HCSim可以构建的异构一致性融合计算系统拓扑的抽象表示. 在一致性互连技术的帮助下,对于任意异构算力(图2中的XPU),不仅可以直接以高带宽低时延访问本地主存,还可以通过一致性互连网络直接访问远端其他XPU的内存或扩展内存,实现缓存一致性. 在图2中,HCSim可以自由修改计算系统和一致性互连网络的互连拓扑,也可以自由定义每个异构算力节点的计算能力、每个内存节点的存储容量,从而实现对异构一致性融合计算系统拓扑架构的灵活建模. 另外,值得注意的是,HCSim对异构算力的定义要求较低,这使HCSim不仅可以建模常用的异构算力,而且可以对诸如FPGA,ASIC等定制化算力进行性能建模. 研究者只需通过测试的方式获得异构算力的计算能力、内存容量等信息,便可以利用HCSim对不同的异构算力开展建模仿真.

    图  2  工作负载图对比
    Figure  2.  Workload graph comparison

    在异构一致性融合计算系统中,由于XPU可以直接对非本地内存进行访存操作,因此AI计算负载的工作方式与传统非一致性计算系统存在差异,这也导致以往的建模仿真工作难以直接应用.

    以往绝大多数建模仿真工作并未考虑内存对计算负载的影响. 即便较新的Astra-sim 2.0[29]提出了面向分离式内存的负载模型,它仍然难以有效描述异构一致性融合计算系统下的负载计算流程. 图3(a)展示了基于Astra-sim 2.0的负载模型构建的计算任务负载图,其中描述了2个异构算力采用数据并行训练带有3个神经层的神经网络. 在图3(a)中,每个顶点代表一个执行过程,边代表执行过程之间的依赖关系,即对于图中的任一个顶点,只有所有指向该顶点的顶点完成后,该顶点才能启动执行. 图3(a)中灰色顶点代表访存的通信过程,黄色顶点代表计算过程,蓝色顶点代表集合通信过程,FP代表前向传播,BP代表反向传播,FP1代表第一个神经层的前向传播过程,以此类推. 可以看出,尽管Astra-sim 2.0考虑了访存过程对AI计算任务的影响,但其建模中仍然仅模拟了将远端内存搬运到本地显存,再进行计算的过程,这与一致性系统的实际情况不符.

    图  3  HCSim中异构一致性融合计算系统拓扑的抽象表示
    Figure  3.  Abstract representation of the heterogeneous consistency integrated computing systems topology in HCSim

    图3(b)和图3(c)分别展示了HCSim的负载层为上述相同AI计算任务在非一致性系统和一致性系统中构建的负载图,其中黄色顶点代表计算过程,蓝色顶点代表通信过程. 在一致性系统中,由于XPU可以直接访问远端内存,因此远端访存过程可以与计算过程形成流水线执行. 在这种情况下,神经层的计算耗时可能会受到异构算力计算能力的限制,也可能会受到访存速度的限制. 因此,如图3(c)所示,HCSim构建的负载图将计算过程与访存过程描述为并行执行,可以近似表达访存与计算的流水执行过程,进而挖掘每个神经层在一致性系统中的性能瓶颈,以实现更准确地表达AI计算负载在一致性系统中的执行流程. 相比之下,3(b)则展示了HCSim所建模的非一致性系统中异构算力先进行内存搬运,再进行主存访存与计算的过程.

    表3展示了HCSim的负载图中所有顶点以及可定义的属性. 可以看出,除了需要在负载图中绑定计算顶点和通信顶点的执行位置之外,HCSim的任务负载图与互连拓扑图几乎解耦,这使得HCSim的使用者能够更快捷地定义不同的计算任务负载. 此外,区别于以往建模工作中常用的有向无环图(DAG),HCSim采用有向有环图对AI计算负载进行建模,从而帮助HCSim更准确地模拟AI训练任务反复迭代循环的过程. 对于AI推理计算、分布式数据分析等其他计算负载,使用者也可以在HCSim中用同样的方式进行定义与仿真模拟.

    表  3  负载图的元素定义
    Table  3.  Element Definitions in the Workload Graph
    元素
    名称
    属性名 属性含义
    计算
    顶点
    计算量/ FLOPs 该计算顶点所代表的计算任务的计算量
    访存量 该计算顶点所执行的任务需要的访存数据量
    执行位置 该计算顶点所执行的异构算力位置
    是否为起始顶点 该计算顶点是不是计算任务的起始顶点
    通信
    顶点
    通信量 该通信顶点的总通信量
    通信方式 该通信顶点的通信方式(例如集合通信、点对点通信)
    通信范围 根据通信顶点的通信方式,定义源节点、目的节点,或通信节点范围等
    是否为起始顶点 该通信顶点是不是计算任务的起始顶点
    连接顶
    点的边
    是否需要在第1次执行考虑 在计算任务第1次执行迭代时,不需要考虑有些边到顶点执行的依赖关系中
    下载: 导出CSV 
    | 显示表格

    基于构建的互连拓扑和负载图,HCSim可以对分布式AI计算进行建模与仿真. 整体的工作流程如图4所示,图中展示的每个具体步骤以及实现方式将在本节中逐一进行介绍.

    图  4  HCSim的工作流程与实现方式
    Figure  4.  Workflow and implementation method of HCSim

    1)互连拓扑图与负载图生成

    图4中的①所示,为了构建2.2节和2.3节中描述的互连拓扑图和负载图,HCSim在负载层和平台层分别构建了负载图描述与生成模块、互连拓扑描述与生成模块,并集成了NetworkX[45]的接口. NetworkX是一个非常实用的Python库,专门用于创建、操作和研究图与网络. 该库提供了丰富的功能,使得用户能够方便地构建有向图或无向图,添加或删除节点和边,或为这些节点和边赋予属性. 此外,NetworkX还支持多种图的遍历算法,如深度优先搜索和广度优先搜索,这使得在复杂的网络结构中查找路径、修改路由等方面变得更加简便. 另一个优势是,NetworkX提供了与Matplotlib集成的绘图工具,使得使用者能够将构建的网络拓扑可视化,从而直观地验证所构建的拓扑是否符合需求. 借助NetworkX,HCSim的使用者只需按照表2表3的要求定义图与属性,即可将所生成的互连拓扑图、负载图作为HCSim建模与仿真的输入.

    2)NetworkX-SimGrid拓扑编译

    NetworkX本身只能进行图的构建与分析,并不具备仿真能力. 因此,如图4中的②所示,HCSim在平台层进一步构建了NetworkX-SimGrid编译器,使得NetworkX构建的图模型能够被SimGrid加载,并通过SimGrid-S4U[18]模型进行仿真执行.

    具体来说,NetworkX-SimGrid编译器的功能是遍历NetworkX所生成的图模型中的节点和边,并将它们逐一转换为SimGrid支持的XML文件格式. 同时,编译器还会使用NetworkX中的Dijkstra算法计算所有节点之间的最短路径,并将这些最短路径作为路由信息,与图模型一同存储为SimGrid可读的XML文件. 此外,路由信息也可以由用户自行定义,从而进一步提升仿真的灵活性.

    3)负载执行引擎

    图4中的③所示,在HCSim的负载层中,负载执行引擎的作用是结合所构建的负载图,驱动执行层进行仿真,从而完成对AI分布式计算任务的模拟执行.

    具体而言,负载执行引擎采用事件驱动的方式进行仿真. 如图5所示,负载执行引擎首先将负载图中的所有起始顶点(表3中定义为起始顶点的所有顶点)放入一个执行容器中,并启动这些顶点的执行,将其送入执行层进行仿真. 如果执行顶点是计算顶点,该顶点的计算任务信息将被发送到执行层的计算模型进行仿真;如果执行顶点是通信顶点,该顶点则会被发送至执行层的网络模型进行仿真. 随后,负载层还包含一个事件触发器. 一旦执行容器中的某个顶点完成计算或通信,事件触发器会被激活,从执行容器中移除该完成的顶点,并检查该完成顶点在负载图中所指向的所有顶点是否满足所有依赖. 如果有满足所有依赖条件的顶点,这些顶点将被加入到执行容器中. 这样,负载图便可以在执行容器中不断循环执行,并根据仿真平台使用者定义的执行迭代次数生成相应的执行轨迹,直到所有初始顶点被重新加入容器的次数达到定义的迭代次数. 最后,负载执行引擎将收集并汇总整个模拟执行过程,并将分布式AI计算的执行时间与执行轨迹返回给仿真平台的使用者.

    图  5  负载执行引擎的示意图
    Figure  5.  Schematic diagram of load execution engine

    4)执行层的计算与网络顶点仿真

    图4中的④所示,当接收到计算顶点或通信顶点的信息时,执行层需要结合平台层的信息对这些顶点进行模拟. 对于计算顶点,HCSim直接使用SimGrid中的计算模型进行耗时计算,即:

    tcomp=FLOPsFLOPS, (1)

    其中,FLOPs(floating point operations)是计算顶点的浮点运算次数,FLOPS(floating point operations per second)是计算顶点所分配的异构算力的计算能力. 对于通信节点,HCSim采用SimGrid的CM02模型[46],并设置TCP-gamma为0,从而获得经典的通信耗时模型:

    tcomm=tlatency+LdatasizeHbandwidth. (2)

    值得注意的是,以上所有SimGrid模型均采用线性最大-最小求解器进行模拟,即不断根据输入到仿真器中的执行任务的执行速度和剩余工作量计算最早完成的操作,并更新求解器与其他未完成的执行任务. 基于这种仿真方式,SimGrid可以更好地权衡仿真精度与仿真速度,从而高效地仿真分布式计算系统的执行流程.

    一旦有顶点执行完毕,执行层会转发SimGrid输出的完成信息,并将其反馈给负载执行引擎的事件触发器. 最终,负载执行引擎根据收到的反馈信息,输出AI计算任务的执行时间与执行轨迹,完成对异构一致性融合计算系统的性能建模.

    借助HCSim的仿真能力,本节从计算系统互连架构、异构算力分布、任务规模,以及计算系统互连拓扑的时延、带宽等参数出发,研究与分析了异构一致性融合计算系统的构建方式与性能瓶颈. 随后,针对异构一致性融合计算系统的通信瓶颈问题提出了优化方法,并使用HCSim仿真验证了该优化方法的效果.

    1)互连拓扑配置

    为了更好地对比与分析引入一致性数据访问之前计算系统的局限性,以及引入一致性数据访问后计算系统的优势,仿真首先构建了传统未引入一致性数据访问的互连拓扑. 如图6(a)所示,在构建的传统互连拓扑中,服务器内的互连架构借鉴了IEIT 5468服务器的架构[47]. 该架构采用Balance拓扑,每颗CPU下连接1个PCIe switch,每个PCIe switch连接4块异构算力(XPU). 此外,考虑到诸如英伟达等厂商提供了NVSwitch[48]等高效的异构算力互连能力,本文研究在该拓扑中引入了XPU switch,以表达算力间的高效互连能力. 基于XPU switch,服务器内的异构算力之间可以实现比PCIe switch更强大的互连互访能力. 对于服务器之间的互连架构,整体计算系统的拓扑采用leaf-spine架构. 具体来说,所有服务器对外的互连采用以太网互连,且同一个机架上的所有服务器会被连接到机顶交换机(ToR switch)上. 所有机顶交换机最终连接到一个核心交换机(Core switch)上,从而实现所有服务器和异构算力之间的互连互访. 由于缺乏一致性互连技术,扩展内存只能与服务器中的CPU互连. 本文研究构建了包含4096个XPU的计算系统,其中共有32个ToR,每个ToR包含16个服务器,每个服务器中挂载8个XPU,并设定每个ToR内的128个XPU类型相同.

    图  6  未引入一致性互连技术与引入了一致性互连技术CXL的互连拓扑架构图对比
    Figure  6.  Comparison of interconnect topology without and with the introduction of the consistent interconnect technology CXL

    图6(a)的拓扑基础之上,进一步构建了图6(b)所示的引入一致性数据访问技术CXL[49-51]后的互连拓扑. 该拓扑与图6(a)中拓扑的主要区别在于,该拓扑中额外引入了基于CXL 3.0[15]特性的CXL switch,构建了一致性互连网络(CXL Fabric),用于建模一致性数据访问. 在该系统架构中,一致性互连网络不仅为异构算力之间(CXL Type 2设备)的内存互访提供了快速通路,而且为异构算力提供了额外的内存扩展(CXL Type 3设备). 如图6所示,所有通过蓝色箭头连接的内存设备之间都可以使用高速的CXL链路进行一致性访问. 此外,由于CXL switch具备级联能力,因此每个机架中的CXL switch 还可以进行级联扩展. 本文研究基于CXL 3.0的能力,将4096个XPU通过CXL switch互连. 外置的扩展内存也可以直接连接到一致性互连网络中,供XPU使用.

    为了公平对比图6(a)与图6(b)的拓扑,仿真中设计为2个拓扑中的每个XPU都配置了可以无阻塞访问的扩展内存. 对于未引入一致性数据访问的互连拓扑,如图6(a)所示,仿真配置了CPU与PCIe之间的4条PCIe连接,保证每个XPU有充足的带宽访问CPU下的外置内存. 对于引入一致性数据访问的互连拓扑,如图6(b)所示,仿真为每个XPU都配置了唯一可访问且不冲突的CXL Type 3内存设备. 通过以上配置,在XPU主存不足时,仿真中每个XPU都可以无阻塞地访问扩展内存,并按照负载图的定义执行相应的数据读取等过程.

    2)AI计算负载配置

    本文研究通过建模与分析异构一致性融合计算系统在处理LLM训练任务时的性能表现评估该计算系统的性能,因此建立了如图7所示的LLAMA2-13B[52]的负载图. 由于训练LLAMA2-13B的主要耗时集中在计算其模型架构中的40个LLaMA decoder,因此该负载图描述了这些LLaMA decoder的并行训练过程. 其中,在XPU本地内存有剩余时,橙色顶点代表在本地内存的计算过程;在XPU本地内存不足时,对于非一致性系统,橙色顶点代表如图3(b)所示的先内存搬运再计算过程,而对于一致性系统,橙色顶点代表如图3(c)所示的直接访问远端内存进行计算过程. 为了构建HCSim的负载图,本文研究根据矩阵乘法、self-attention、layer normalization、concat、dropout、GeLU等神经层的计算特征,估计了如表4所示的每个神经层的计算量和访存量,并将其记录到负载图中相应的计算与通信顶点中,其中本文研究使用FP32训练精度. 然后,结合每个神经层在反向传播过程中所需同步的梯度数据量,将其记录到表示参数同步过程的相应通信顶点中,从而完成了LLAMA2-13B负载图的所有参数配置,使其能够被HCSim读取并用于模拟执行.

    图  7  LLAMA2-13B的分布式训练负载图
    Figure  7.  Workload graph for distributed training of LLAMA2-13B
    表  4  LLaMA Decoder中每个神经层的计算量与访存量
    Table  4.  Computational Load and Memory Access of Each Neural Layer in LLaMA Decoder
    神经层 前传计算量/
    GFLOPs
    前传访存量/
    GB
    反传计算量/
    GFLOPs
    反传访存量/
    GB
    layer norm 可忽略 0.00002+0.039×b 可忽略 0.00015 + 0.156b
    linear (K) b×195 0.0488+0.039×b b×390 0.39 + 0.156b
    linear (Q) b×195 0.0488+0.039×b b×390 0.39 + 0.156b
    linear (V) b×195 0.0488+0.039×b b×390 0.39 + 0.156b
    self-attention b×312.5 3.242×b b×625 0.234b
    concat 可忽略 可忽略 可忽略 可忽略
    linear b×195 0.0488+0.039×b b×390 0.39 + 0.156b
    dropout 可忽略 0.0195×b 可忽略 0.0195
    add 可忽略 0.078×b 可忽略 0.039
    layer norm 可忽略 0.00002+0.039×b 可忽略 0.00015 + 0.156b
    linear b×780 0.195 + 0.039×b 1560 1.562GB + 0.39b
    GeLU 可忽略 0.156×b 可忽略 0.078
    linear b×780 0.195 + 0.156×b 1560 1.562GB + 0.39b
    dropout 可忽略 0.0195×b 可忽略 0.0195
    add 可忽略 0.078×b 可忽略 0.156
    下载: 导出CSV 
    | 显示表格

    3)仿真参数

    由于现有仿真工作缺乏对异构一致性融合计算系统中互连拓扑、计算负载的合理建模,因此,本文研究的仿真聚焦于探究HCSim本身的仿真能力.

    对于拓扑架构和AI计算负载的其他参数,仿真中的设定如表5所示,其中参考了当前构建计算集群的主流性能参数. 对于表5里未标记为变量的参数,在仿真中配置为定值,不会发生变化. 对于标记为变量的参数,如CXL_link的时延、带宽等,仿真中将对其进行调整,用于对比不同参数对系统性能和任务执行效率的影响. 仿真使用的服务器配置了Intel Xeon Platinum 8168 @ 2.70 GHz处理器,内存为DDR4 2666 MHz.

    表  5  仿真参数设定
    Table  5.  Simulation Parameter Settings
    异构一致性融合计算系统 LLaMA2-13B任务配置
    算力节点 带宽 时延变量
    ToR_to_L1 12.5 GB/s 5 μs 训练时每个XPU
    输入的batch_size
    1
    NIC_to_ToR 12.5 GB/s 5 μs seq_len 4096
    UPI 62.4 GB/s 100 ns 隐藏层维度 5120
    PCIE_link 128 GB/s 250 ns 使用算力节点
    数量(scale)
    变量
    XPU_link 900 GB/s 100 ns
    CXL_link
    下载: 导出CSV 
    | 显示表格

    1)对比引入/不引入一致性的计算系统性能

    首先,给定CXL_link的带宽与时延分别为128 GB/s和200 ns,本文研究对比了在使用不同数量的算力节点时,引入或不引入一致性的计算系统性能. 本文研究通过整个计算系统每秒处理的batch数量来对比不同参数配置下的系统性能,并针典型的英伟达H100、A100、V100算力,仿真了H100同构计算系统和H100+A100,H100+V100两种异构计算系统. 对于FPGA,ASIC等异构算力的仿真,也可以通过在HCSim中自定义算力节点实现建模仿真. 图8展示了仿真结果. 仿真记录HCSim仅用756.6 s便完成了包含1024个算力节点的一个训练迭代的仿真,这也充分说明了HCSim在对异构一致性融合计算系统性能进行仿真时具有优秀的执行效率.

    图  8  对比引入/不引入一致性的计算系统性能的仿真结果
    Figure  8.  Simulation result on the computing system performance with and without introducing consistency

    图8看出,无论是在同构还是异构的情况下,引入一致性后的计算系统性能明显优于不引入一致性的计算系统性能. 为了分析性能差异的原因,本文研究提取了如图9所示的仿真输出执行轨迹,其中包含了HCSim中每个计算过程和通信过程在完成时的仿真时间. 经过对执行轨迹的分析,以上性能差异的原因主要包括2点:

    图  9  HCSim对同一个算子输出的执行轨迹
    Figure  9.  Execution trace of HCSim for the same operator output

    ①在不引入一致性的计算系统中,一旦XPU本地内存不足,就需要引入额外的内存搬运过程,导致训练耗时增加. 相比之下,从图9(b)的反向传播过程轨迹可以明显看出,由于一致性互连技术CXL的引入,反传过程可以省略如图3所示的额外本地内存搬运步骤,从而节约训练耗时.

    ②对比图9(a)中的参数同步过程轨迹可以发现,在不引入一致性的计算系统中,参数同步过程明显耗时更长,这是由于在该系统中异构算力节点之间的梯度同步仍需要通过以太网进行,效率较低. 相比之下,如图6所示,引入一致性后算力之间可以通过一致性互连网络进行通信,从而显著提升参数同步过程的执行效率.

    另外,值得注意的是,对于H100+A100、H100+V100两种异构计算系统,在节点数量从128增加至256时,计算系统的性能出现了明显跳变. 这应该是由于在每个ToR内的XPU类型相同的仿真条件下,在128个节点以下时,计算系统仍然保持着同构. 而当节点数量从128提升至256时,系统引入了低性能的异构计算卡,降低了系统的整体计算性能. 这个仿真结果充分说明了对于异构计算系统,一味地增加XPU的数量并不一定会带来计算系统性能的提升,还需考虑XPU之间是否存在计算性能的差异.

    2)探究带宽对计算系统性能的影响

    进一步地,本节探究带宽对异构一致性融合计算系统性能的影响. 仿真采用图6(b)中的互连架构,并固定CXL_link的时延为200 ns,通过修改CXL_link的带宽与算力节点规模,对LLAMA2-13B的并行训练进行仿真,并观察不同计算系统性能的变化. 图10展示了这部分的仿真结果,经过分析可以得到以下结论:

    图  10  带宽对异构一致性融合计算系统性能的影响
    Figure  10.  Impact of bandwidth on the performance of heterogeneous consistency-integrated computing systems

    ①在算力节点规模不变时,随着CXL_link一致性互连带宽的提升,计算系统的性能会逐渐提升,但提升的效果逐渐减缓. 这是因为带宽的提升缓解了带宽瓶颈,直接加速了内存访问与参数同步过程,从而提升了计算系统的整体性能. 而随着带宽的增加,系统的瓶颈逐渐从带宽转移到了算力,最终导致提升效果不再显著.

    ②在带宽不变的情况下,参与计算任务的XPU数量的增加显著提升了计算系统的性能. 这应该是由于一致性互连为XPU之间带来了高效的通信能力,提升了计算系统的可扩展性.

    ③引入异构算力同样会带来计算系统性能的波动,导致提升系统带宽的性能收益减弱.

    3)探究时延对计算系统性能的影响

    固定CXL_link带宽为128 GB/s,本文研究通过修改CXL_link时延与算力节点规模,从而观察不同计算系统性能的变化. 仿真结果如图11所示,经过分析,可以得到以下结论:

    图  11  时延对异构一致性融合计算系统性能的影响
    Figure  11.  Impact of latency on the performance of heterogeneous consistency-integrated computing systems

    ①在时延较小时,时延略微增加并不会影响计算系统的性能. 这应该是由于在时延较小时,时延对通信影响的比重较低,不会明显影响系统性能.

    ②随着一致性互连时延的增大,特别是在时延大于10 μs后,时延逐渐成为影响系统性能的关键因素. 这是因为参数同步过程中有大量的通信过程,这些过程受时延影响较大,而时延增加时该影响也会更加显著.

    ③在时延变化时,计算节点数量更多的计算任务会受到更大的影响. 这是由于计算节点较多时,参数同步过程中通信的次数也会随之增加,造成时延的影响更加显著.

    进一步地,针对异构一致性融合计算系统的通信优化问题,本文研究提出了基于一致性ring-allreduce的通信优化方法,并利用HCSim的仿真能力,验证了所提方法的有效性.

    具体而言,在参与分布式训练任务的节点规模较大或模型参数量较多时,由于节点之间需要通过通信同步模型参数,节点之间的通信将影响任务执行效率. 本文研究提出了一致性ring-allreduce,借助一致性系统的特性,降低了参数同步的通信次数,缓解了通信对AI计算任务的影响. 图12展示了传统ring-allreduce和本文研究所提出的一致性ring-allreduce之间参数同步运作流程的区别. 如图12(a)所示,在传统的ring-allreduce中,受制于异构算力节点内存之间访问的隔离(即图12(a)的虚线),每个异构算力节点都需要将同步后的梯度放置到本地内存,才能实现参数同步更新. 对于N个需要同步参数的异构算力节点,总共需要2×(N1)次通信. 相比之下,如图12(b)所示,一致性ring-allreduce只需要进行(N1)次通信便可完成梯度同步,减少了一半的梯度同步的通信步骤. 这是因为在一致性系统中,由于XPU之间的内存可以互相访问,因此只需要在一致性系统中保证平均后的梯度存在(即图12(b)的a0+a1+a2、b0+b1+b2、c0+c1+c2),而不再需要使用额外的all-gather集合通信将同步后的梯度发送到所有的XPU内存上.

    图  12  传统ring-allreduce和一致性ring-allreduce的对比
    Figure  12.  Comparison between traditional ring-allreduce and consistent ring-allreduce

    基于这一思路,本文研究在HCSim中调整了负载图中对ring-allreduce的执行定义,在给定CXL_link的带宽时延分别为128 GB/s和200 μs的情况下,获得的仿真结果如表6所示. 仿真结果表明,虽然一致性ring-allreduce可以提升系统性能,但提升并不显著. 对于整体算力性能较强,或系统规模较大的计算系统,应用一致性ring-allreduce可以带来相对更大的收益. 总结来看,虽然提升的幅度较小,一致性ring-allreduce可以在没有额外性能损失的情况下合理利用一致性互连的特性,实现在异构一致性融合计算系统中提升AI训练任务的执行效率.

    表  6  优化前后对比结果
    Table  6.  Comparison Results Before and After Optimization
    计算系统架构传统ring-allreduce一致性ring-allreduce
    64个H100 同构7.98 batch/s8.12 batch/s
    256个H100 同构31.97 batch/s32.53 batch/s
    128个H100+128个 A100异构10.65 batch/s10.71 batch/s
    128个H100+128个 V100异构12.86 batch/s12.93 batch/s
    下载: 导出CSV 
    | 显示表格

    针对异构一致性融合计算系统,本文研究利用HCSim的仿真能力,不仅建模分析了引入一致性技术的效果,而且建模探究了一致性互连网络中带宽、时延对系统性能的影响,最终进一步模拟仿真了所提出的一致性ring-allreduce对该系统性能的提升. 这充分说明了HCSim不仅可以用于异构一致性融合计算系统的性能建模,而且可以通过少量修改完成对异构一致性融合计算系统的优化方案验证.

    针对新型异构一致性融合计算系统的性能建模和优化困难等问题,本文研究提出了一种全新的建模仿真工具HCSim. 该工具解决了以往研究中异构一致性融合计算系统拓扑架构建模困难和计算负载建模偏差的问题,并集成了SimGrid仿真器,实现了可以对异构一致性融合计算系统进行灵活高效的性能建模与仿真. 本文研究利用HCSim模拟构建了一致性互连拓扑架构,并建模了LLAMA2-13B的训练负载. 基于HCSim,仿真分析了异构算力分布、带宽、时延和计算规模等变量对异构一致性融合计算系统性能和AI计算任务执行效率的影响. 此外,还针对该系统的通信问题,提出了基于一致性ring-allreduce的通信优化方法,并使用HCSim进行了仿真验证. 通过仿真可以看出,HCSim不仅可以低成本、高效地实现对异构一致性融合计算系统的性能建模,而且能够对异构一致性融合计算系统的优化方案进行仿真验证. 在未来,我们将继续扩展HCSim的仿真能力,包括加入对时间局部性、空间局部性等算子的建模以及加入对一致性维护开销的建模以及加入对更多典型互连拓扑建模的支持,并在仿真能力更加完整后进行开源. 希望本文研究提出的HCSim能为工业界和学术界提供低成本的异构一致性融合计算系统性能评估手段,并为未来新型计算系统的仿真建模提供一些新的思路.

    作者贡献声明:李仁刚提出了性能建模的核心思路,撰写仿真器核心代码和论文的主要章节;唐轶男修改与校对论文;郭振华提出了一致性ring-allreduce的思路;王丽实现了一致性ring-allreduce的仿真代码;宗瓒进行了实验部分数据的汇总与论文相关部分的撰写;杨广文负责论文的整体指导.

  • 图  1   ViT结构示意图

    Figure  1.   Illustration of ViT structure

    图  2   ViT-S不同量化位宽下的模型精度

    Figure  2.   Model accuracy under various quantization widths in ViT-S

    图  3   ViT-S, Block 8部分激活值数据分布

    Figure  3.   Data distribution of partial activations in ViT-S, Block 8

    图  4   ViTs推理时激活张量的极值分布

    Figure  4.   Extreme value distribution of activation tensor in ViTs reasoning

    图  5   ViT-S/DeiT-B/Swin-S激活值中高z-score占比

    Figure  5.   Percentages of high z-score in ViT-S/DeiT-B/Swin-S activations

    图  6   DAQ量化流程示意图

    Figure  6.   Illustration of DAQ quantization process

    图  7   均匀关联量化流程图

    Figure  7.   Flow chart of uniform correlation quantization

    图  8   补偿偏移和零点偏移

    Figure  8.   Compensation offset and zero-point offset

    图  9   DAQ基于GPU的加速结构

    Figure  9.   Accelerated architecture of DAQ based on GPU

    图  10   DAQ消融实验

    Figure  10.   Ablation study of DAQ

    表  1   ViT-S层精度下降/存储/计算占比分析

    Table  1   Percentage Analysis of Accuracy Reduction/Storage/Calculation proportion of ViT-S layer

    计算平均
    时延占比/%
    参数+激活
    存储占比/%
    量化精度
    下降/%
    LN 6 5 32
    QKV Gen 21 17 4
    Softmax 2 8 84
    Proj 9 8 9
    FC1 27 22 40
    GELU 4 10 65
    FC2 31 30 98
    注:最大值用黑体数值表示,最小值用下划线数值表示.
    下载: 导出CSV

    表  2   变量含义

    Table  2   Meanings of Variables

    变量名称 含义
    \boldsymbol{X} 目标特征张量
    {\boldsymbol{X}}_{1} 目标特征张量中的正常值集
    {\boldsymbol{X}}_{2} 目标特征张量中的离群值集
    \hat{\boldsymbol{X}} \boldsymbol X 的量化表示
    \tilde{\boldsymbol{X}} \boldsymbol X 的反量化结果
    下载: 导出CSV

    表  3   4比特对称均匀量化

    Table  3   4-bit Symmetric Uniform Quantization

    数值类型 值域 量化参数
    正常值 0,\pm 1,\pm 2,\pm 3,\pm 4,\pm 5,\pm 6,\pm 7, -8 s z
    离群值* 0,\pm 1,\pm 2,\pm 3,\pm 4,\pm 5,\pm 6,\pm 7, -8 s z'
    正离群值 0, \mathrm{1,2}, 3, 4, 5, 6, 7, 8 s1 z_1
    负离群值 -1,-2,-3,-4,-5,-6,-7,\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }-8 s2 z_2
    注:“*”表示当仅存单侧正/负离群值时,不加以符号区分.
    下载: 导出CSV

    表  4   Tensor Core计算分块和ViT线性计算维度

    Table  4   Computing Patch of Tensor Core and Linear Computational Dimensions of ViT

    数据格式 Tensor Core矩阵分块
    MNK
    ViT线性计算(部分)
    MNK
    INT8
    16,16,16 197,192,384
    32,8,16 197,1536,384
    8,32,16 197,3072,768
    INT4 8,8,32 197,2304,768
    下载: 导出CSV

    表  5   量化模型在图像分类任务的ImageNet数据集上的Top-1准确率

    Table  5   Top-1 Accuracy of the Quantization Models on ImageNet Dataset of the Image Classification Task

    方法 量化目标 位宽 准确率
    ViT-S/% ViT-B/% DeiT-T/% DeiT-S/% DeiT-B/% Swin-S/% Swin-B/%
    全精度模型 32/32 81.39 84.54 72.21 79.85 81.80 83.23 85.27
    FQ-ViT[10] S/N 4/4 0.10 0.10 0.10 0.10 0.10 0.10 0.10
    PTQ4ViT[11] S/G 4/4 42.75 30.96 36.96 34.08 64.39 76.09 74.02
    APQ-ViT[13] S 4/4 47.95 41.41 47.94 43.55 67.48 77.15 76.48
    RepQ-ViT[14] S/N 4/4 65.05 68.48 57.43 69.03 75.61 79.45 78.32
    RepQuant[15] S/N 4/4 73.28 77.84 64.44 75.21 78.46 81.52 82.80
    DAQ* G/N 4/4 75.06 80.36 67.15 75.46 78.52 80.43 81.45
    DAQ* S/N 4/4 73.29 82.00 68.81 75.45 80.08 79.95 82.30
    FQ-ViT[10] S/N 6/6 4.26 0.10 58.66 45.51 64.63 66.50 52.09
    PTQ4ViT[11] S/G 6/6 78.63 81.65 69.68 76.28 80.25 82.38 84.01
    APQ-ViT[13] S 6/6 79.10 82.21 70.49 77.76 80.42 82.67 84.18
    RepQ-ViT[14] S/N 6/6 80.43 83.62 70.76 78.90 81.27 82.79 84.57
    RepQuant[15] S/N 6/6 80.51 83.75 70.89 79.06 81.41 82.93 84.86
    DAQ(本文) G/N 6/6 80.81 84.09 71.69 79.56 81.63 82.31 83.98
    DAQ(本文) S/N 6/6 80.86 83.85 71.74 79.61 81.94 82.89 84.34
    注:列中的缩写S,G,N分别代表Softmax,GELU,LayerNorm层输出激活,黑体数值表示.
    下载: 导出CSV

    表  6   量化模型在目标检测任务的COCO数据集上的性能

    Table  6   Performance of the Quantization Models on COCO Dataset in the Object Detection Task

    方法 量化目标 位宽 Mask R-CNN
    Swin-T Swin-S
    {AP}^{\rm box} /% {AP}^{\rm mask} /% {AP}^{\rm box} /% {AP}^{\rm mask} /%
    全精度模型32/3246.041.648.543.3
    PTQ4ViT[11]S/G4/46.97.026.726.6
    APQ-ViT[13]S4/423.722.644.740.1
    RepQ-ViT[14]S/N4/436.136.044.240.2
    RepQuant[15]S/N4/437.236.844.540.5
    DAQ(本文)G/N4/445.441.347.943.0
    DAQ(本文)S/N4/445.741.448.143.2
    PTQ4ViT[11]S/G6/65.86.86.56.6
    APQ-ViT[13]S6/645.441.247.942.9
    RepQ-ViT[14]S/N6/645.141.247.843.0
    RepQuant[15]S/N6/645.341.348.143.2
    DAQ(本文)G/N6/646.041.648.243.2
    DAQ(本文)S/N6/646.041.748.243.1
    注:列中的缩写S,G,N分别代表Softmax,GELU,LayerNorm层输出激活,黑体数值表示.
    下载: 导出CSV

    表  7   线性计算平均时延归一化

    Table  7   Normalization of Average Latency in Linear Calculation

    矩阵大小(M/N/K 量化+FP32 DAQ
    197/192/192 1 0.57
    197/384/192 1 0.51
    197/1536/384 1 0.30
    197/2304/768 1 0.23
    197/3072/768 1 0.20
    197/3072/1024 1 0.19
    197/4096/1024 1 0.16
    下载: 导出CSV

    表  8   ImageNet-1K测试集时间开销比较

    Table  8   Time Overhead Comparison of ImageNet-1K Test Set s

    模型 DAQ PTQ4ViT[11] RepQ-ViT[14]
    ViT-S 70.49 88.21(+25.1%) 91.19(+29.4%)
    ViT-B 167.67 209.43(+24.9%) 219.83(+31.1%)
    DeiT-T 32.30 45.81(+41.8%) 44.03(+36.3%)
    DeiT-S 65.43 88.25(+34.8%) 88.93(35.9%)
    DeiT-B 167.02 209.48(+25.4%) 214.60(28.5%)
    Swin-T 104.57 130.26(+24.5%) 121.36(+16.1%)
    Swin-S 168.70 205.2(21.6%) 197.03(16.8%)
    注:括号中数值表示当前方法相较于DAQ方法的时间增幅百分比,数值越大,表明推理延迟相对于DAQ越高.
    下载: 导出CSV

    表  9   离线校正效率分析

    Table  9   Efficiency Analysis of off-line Calibration

    模型 方法 Top-1/% 校正样本数 GPU时间/min
    DeiT-S FP32 79.85
    PTQ4ViT[11] 34.08 32 3.2
    RepQ-ViT[14] 69.03 32 1.3
    DAQ(本文) 75.46 32 1.2
    DAQ(本文) 75.12 12 0.5
    DAQ(本文) 75.08 4 0.1
    Swin-S FP32 83.23
    PTQ4ViT[11] 76.09 32 7.7
    RepQ-ViT[14] 79.45 32 2.9
    DAQ(本文) 80.43 32 2.5
    DAQ(本文) 80.21 12 0.9
    DAQ(本文) 80.01 4 0.3
    注:黑体数值表示最优值.
    下载: 导出CSV

    表  10   DAQ应用于ViTs权重量化

    Table  10   Applied DAQ to ViTs Weight Quantization %

    方法 ViT-S ViT-B DeiT-S DeiT-B Swin-S Swin-B
    FP32 81.39 84.54 79.85 81.80 83.23 85.27
    RepQ-ViT[16] 65.05 68.48 69.03 75.61 79.45 78.32
    DAQ 73.29 82.00 75.45 80.08 79.95 82.30
    DAQ/W 70.32 73.00 75.14 79.80 79.90 79.64
    下载: 导出CSV
  • [1]

    Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in Neural Information Processing Systems, 2017, 30: 5998−6008

    [2]

    Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16×16 words: Transformers for image recognition at scale[J]. arXiv preprint, arXiv: 2010.11929, 2020

    [3]

    Touvron H, Cord M, Douze M, et al. Training data-efficient image transformers & distillation through attention[J]//arXiv: 2012.12877

    [4]

    Liu Ze, Lin Yutong, Cao Yue, et al. Swin Transformer: Hierarchical vision Transformer using shifted windows[C]//Proc of the IEEE/CVF Inte Conf on Computer Vision. Piscataway, NJ: IEEE, 2021: 10012−10022

    [5]

    He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition[C]//Proc of the IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 770−778

    [6]

    Carion N, Massa F, Synnaeve G, et al. End-to-end object detection with transformers[C]//Proc of European Conference on Computer Vision. Berlin: Springer 2020: 213−229

    [7]

    Cheng B, Schwing A, Kirillov A. Per-pixel classification is not all you need for semantic segmentation[J]. Advances in Neural Information Processing Systems, 2021, 34: 17864−1787

    [8]

    Gündüç Y. Vit-GAN: Image-to-image translation with vision Transformes and conditional GANS[J]. arXiv preprint, arXiv: 2110.09305, 2021

    [9]

    Hatamizadeh A, Song J, Liu G, et al. Diffit: Diffusion vision transformers for image generation[C]//Proc of European Conf on Computer Vision. Berlin: Springer, 2024: 37−55

    [10]

    Lin Yang, Zhang Tianyu, Sun Peiqin, et al. Fq-ViT: Fully quantized vision Transformer without retraining[J]. arXiv preprint, arXiv: 2111.13824, 2021

    [11]

    Yuan Zhihang, Xue Chenhao, Chen Yiqi, et al. PTQ4ViT: Post-training quantization for vision transformers with twin uniform quantization[C]//Proc of European Conf on Computer Vision. Berlin: Springer, 2022: 191−207

    [12]

    Li Yanjing, Xu Sheng, Zhang Baochang, et al. Q-ViT: Accurate and fully quantized low-bit vision Transformer[J]. Advances in Neural Information Processing Systems, 2022, 35: 34451−34463

    [13]

    Zhong Yunshan, Huang You, Hu Jiawei, et al. Towards accurate post-training quantization of vision transformers via error reduction[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2025, 47(4): 2676−2692

    [14]

    Li Zhikai, Xiao Junrui, Yang Lianwei, et al. RepQ-ViT: Scale reparameterization for post-training quantization of vision transformers[C]//Proc of the IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2023: 17227−17236

    [15]

    Li Zhikai, Liu Xuewen, Zhang Jing, et al. RepQuant: Towards accurate post-training quantization of large Transformer models via scale reparameterization[J]. arXiv preprint, arXiv: 2402.05628, 2024

    [16]

    Du Dayou, Gong Gu, Chu Xiaowen. Model quantization and hardware acceleration for vision transformers: A comprehensive survey[J]. arXiv preprint, arXiv: 2405. 00314, 2024

    [17]

    Tai Yushan, Lin Mingguang, Wu A. TSPTQ-ViT: Two-scaled post-training quantization for vision Transformer[C]//Proc of 2023 IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2023: 1−5

    [18]

    Chen C F R, Fan Q, Panda R. Crossvit: Cross-attention multi-scale vision transformer for image classification[C]//Proc of the IEEE/CVF Int Conf on computer vision. Piscataway, NJ: IEEE, 2021: 357−366

    [19]

    Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84−90

    [20]

    Zhu Xizhou, Su Weijie, Lu Lewei, et al. Deformable DETR: Deformable transformers for end-to-end object detection[J]. arXiv preprint, arXiv: 2010.04159, 2020

    [21]

    Strudel R, Garcia R, Laptev I, et al. Segmenter: Transformer for semantic segmentation[C]//Proc of the IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2021: 7262−7272

    [22]

    Zheng Sixiao, Lu Jiachen, Zhao Hengshuang, et al. Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers[C]//Proc of the IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 6881−6890

    [23]

    Liu Yixin, Zhang Kai, Li Yuan, et al. Sora: A review on background, technology, limitations, and opportunities of large vision models[J]. arXiv preprint, arXiv: 2402.17177, 2024

    [24]

    Dettmers T, Lewis M, Belkada Y, et al. GPT3. Int8 (): 8-bit matrix multiplication for transformers at scale[J]. Advances in Neural Information Processing Systems, 2022, 35: 30318−30332

    [25]

    Touvron H, Lavril T, Izacard G, et al. Llama: Open and efficient foundation language models[J]. arXiv preprint, arXiv: 2302.13971, 2023

    [26]

    Chan T F, Golub G H, LeVeque R J. Algorithms for computing the sample variance: Analysis and recommendations[J]. The American Statistician, 1983, 37(3): 242−247 doi: 10.1080/00031305.1983.10483115

    [27]

    Nvidia. NVIDIA GPU Ampere Architecture Whitepaper, https://www.nvidia.com/content/PDF/nvidia-ampere-ga-102-gpu-architecture-whitepaper-v2.pdf

    [28]

    Deng Jia, Dong Wei, Socher R, et al. ImageNet: A large-scale hierarchical image database[C]//Proc of 2009 IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2009: 248−255

    [29]

    Lin Tsung-Yi, Maire M, Belongie S, et al. Microsoft COCO: Common objects in context[C]//Proc of the 13th European Conf on Computer Vision (ECCV 2014). Berlin: Springer, 2014: 740−755

    [30]

    Chen Kai, Wang Jiaqi, Pang Jiangmiao, et al. MMDetection: Open mmlab detection toolbox and benchmark[J]. arXiv preprint, arXiv: 1906.07155, 2019

    [31]

    Frantar E, Ashkboos S, Hoefler T, et al. GPTQ: Accurate post-training quantization for generative pre-trained transformers[J]. arXiv preprint, arXiv: 2210.17323, 2022

    [32]

    Nagel M, Amjad R A, Van Baalen M, et al. Up or down? adaptive rounding for post-training quantization[C]//Proc of Int Conf on Machine Learning. New York: ACM, 2020: 7197−7206

    [33]

    Peebles W, Xie S. Scalable diffusion models with transformers[C]//Proc of the IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2023: 4195−4205

    [34]

    Ho J, Jain A, Abbeel P. Denoising diffusion probabilistic models[J]. Advances in Neural Information Processing Systems, 2020, 33: 6840−6851

图(10)  /  表(10)
计量
  • 文章访问数:  26
  • HTML全文浏览量:  24
  • PDF下载量:  10
  • 被引次数: 0
出版历程
  • 收稿日期:  2025-02-28
  • 修回日期:  2025-04-09
  • 网络出版日期:  2025-04-15

目录

/

返回文章
返回