找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2754

积分

0

好友

358

主题
发表于 13 小时前 | 查看: 0| 回复: 0

智猩猩公开课大模型AI芯片系列第1期结束幻灯片

从智猩猩公开课大模型AI芯片系列第1期的37个提问中,我们优选了15个Q&A分享给各位开发者。

这期公开课由鲁汶大学博士后研究员方超以视频形式主讲,主题为《从N:M稀疏网络到大模型的算法硬件高效协同设计》。方超从算法硬件协同设计背景、N:M 稀疏推理优化、N:M 稀疏训练优化、大模型推理的激活数值格式优化、大模型推理的KV缓存优化五个方面进行了深入分享,并回答了用户的提问。

Q1 梁跃:端侧大模型在软硬件协同优化方向有哪些比较重要和有前景的研究问题?

方超: 基于我的研究经验,我认为以下几个方向具有重要研究价值:

第一,新型数值格式的探索与应用。近年来,众多企业和研究机构都在推动数据格式往更低比特精度(≤4比特)发展。该领域此前的研究相对较少,但目前已成为研究热点。比如MX数据格式,在端侧硬件上相较于传统的定点量化具有更好的适配性。除了MX,还有NVFP4,该格式在英伟达的Blackwell系列硬件上已得到支持,并且在精度保持方面优于MX,同时实现了更显著的性能提升。探索如何利用这些新的数据格式来实现高效的推理,甚至开展一些片上的微调,都是非常有意义的课题,该方向目前仍有较大的研究空间。

第二,面向新型大语言模型任务的计算优化。比如近期备受关注的Reasoning推理,其计算模式已从传统解码转向更复杂的推理过程。Reasoning相比于传统的decoding,呈现出新的计算模式特征:从传统的memory-bound特征转变为compute-bound特征,原因在于Reasoning过程可以并行推理多个候选项,从而转化为具有一定batch size的矩阵乘法运算。除了Reasoning,更前沿的研究方向可能是Agentic AI,即从单纯的推理扩展到工具调用。Agentic AI中不同的Agent具有各异的计算特征,这些均为值得深入研究的方向。

第三,Memory hierarchy的创新设计。大模型的一个显著特点在于不同计算阶段具有差异化的访存需求,传统AI硬件设计主要关注于算力的提升,而在大模型时代,尤其是在解码的过程中,我们发现算力的提升受制于访存瓶颈,由于带宽需求巨大,导致算力无法充分利用,形成了严重的性能瓶颈。早期研究主要关注基于SRAM的存内计算,但大语言模型的参数规模已超出片上存储容量。因此,研究重心转向DRAM存内计算,通过在内存模块中集成计算单元,使得数据在内存内部即可完成计算,从而显著降低数据搬运开销。以上是我认为具有重要研究价值的方向。

Q2 邹丁阳:现阶段模型的迭代很快,从落地的角度看,用算法硬件协同的方法来为某一类模型设计高效专用的加速器是否只停留在发文章层面,实际价值不及设计高通用性的AI处理器,或者基于现有固定硬件架构高效部署不同AI模型?

方超: 这个问题非常好,您提到的问题涉及一个核心矛盾:专用加速器在特定的workload上确实具有性能优势,但模型的快速演进构成了显著的风险。

目前大语言模型和视觉模型的主流架构相对稳定,主要以Transformer为主,针对Transformer架构设计专用加速器,特别是在资源受限的边缘计算场景中,仍具有应用前景。可行的策略是设计Domain-Specific Architecture,即对Transformer这一类架构进行优化,而非针对单一模型,比如BERT,GPT,或者LLaMA等,同时引入可编程机制以适应架构变体,并通过灵活的compiler,比如MLIR等方案,在软件层面适配不同的模型变种。

然而,纯粹的ASIC开发投入大,风险也高,关键在于应用场景的选择。以传统的通信行业为例,由于该领域的信号处理算法在较长时间内保持稳定,ASIC具有较高的投资回报率,因此通信芯片多采用ASIC方案。AI领域若能找到同样具有长期稳定算法需求的垂直应用场景,专用ASIC芯片同样具有商业价值。

在专用性和通用性之间,可重构架构提供了一种折中方案,但其工程复杂度和成本同样不容忽视。从产业角度来看,不同企业可以根据自身场景选择不同的技术路径:一类是追求高通用性,例如基于 RISC-V 架构的处理器或多核架构方案;另一类是专用性较强的方案,如SambaNova、Groq等创业公司的产品,但这类方案目前主要受限于软件生态的完善程度。值得注意的是,在众多科技企业中,能够大规模部署自研专用芯片的企业屈指可数,Google的TPU是成功案例,其成功基于庞大的内部业务需求支撑。根据Google在相关技术报告中披露的信息,采用TPU替代部分NVIDIA GPU,在性能功耗比和总体拥有成本方面都取得了改善。

相比之下,在现有固定硬件架构上高效部署不同AI模型,特别是在GPU上做系统性的优化方面,该方向发展迅速,也是当前商业部署中应用最广泛的技术路径。

Q3 宋晓有:稀疏结构在当前大模型中是否能够得到广泛应用以及硬件的稀疏特性的支持?是否在算法上有足够的一些性能提升?

方超: 2:4的稀疏模式,在NVIDIA Ampere、Hopper和Blackwell架构 GPU 上都有硬件支持。从理论算力角度,2:4稀疏可提供2倍的计算吞吐量提升,但在端到端部署中,加速比通常在1.3-1.6倍之间,这主要是由于数据重排、内存访问等调度开销,导致实际加速比低于理论峰值。除此之外,激活值中也存在稀疏性,但由于激活稀疏依赖于输入数据,难以在编译时确定,使得硬件对非结构化稀疏的支持相对有限,但这类稀疏仍具有较大的优化潜力。

比如说苹果去年发布的文章《ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models》。论文的核心思想是在大模型中,将部分激活函数替换为ReLU,或者在特定模块间插入ReLU函数,以引入稀疏性。采用这种方法后,某些网络层的稀疏度可以达到90%,这种稀疏性可通过专门的推理优化加以利用。近期阿里在NeurIPS上的最佳论文《Gated Attention for Large Language Models: Non-linearity, Sparsity, and Attention-Sink-Free》中的门控机制,同样会产生稀疏性。

在算法的性能方面,在参数量相同的条件下,引入稀疏性后,相较于稠密模型通常会有一定的精度损失。从另一个角度看,近年来广泛应用的MoE(Mixture of Experts)混合专家模型,可以视为一种粗粒度的稀疏机制:模型包含多个专家模块,但每次推理仅激活其中部分专家。MoE通过增加总参数量同时保持激活参数量相对稳定,使得每次前向传播的运算量与传统的稠密模型相近,在这种设计下,相比同等计算量的稠密模型,MoE往往能够获得更好的精度表现。然而,若采用剪枝等方法降低稠密模型的参数量,与原始稠密模型相比,通常会出现一定程度的精度下降。

Q4 小象飞:大模型的PD分离推理架构定型了吗?还有哪些提升空间?鉴于Transformer架构本身在算力上的挑战,训练架构未来两年有望跳出Transformer吗?

方超: 关于PD分离架构的成熟度,目前学术界和工业界已提出了一系列方案(如《DistServe: Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving》),此外还有阶跃星辰提出的AF分离方案《Step-3 is Large yet Affordable: Model-system Co-design for Cost-effective Decoding》等。这些工作表明,不同计算阶段的分离策略仍在不断演进。在优化空间方面,当前的PD分离方案在负载均衡、通信开销、资源调度等方面仍有改进余地,因此该领域尚未定型,仍具有较大的研究和工程优化空间。

至于训练架构是否能在未来两年内跳出Transformer,我认为这取决于如何定义“跳出”。如果是指完全抛弃自注意力机制,目前来看可能性相对较小。但如果是指对Transformer进行重大改进,近两年确实出现了一系列创新工作,例如线性注意力机制通过降低计算复杂度来缓解注意力的运算开销问题;各类稀疏注意力机制通过稀疏化来减少注意力的计算量,包括DeepSeek团队持续演进的MLA(《DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model》),以及他们在ICLR 2025上获得最佳论文奖的NSA(《Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention》)。然而,这些工作本质上仍是对Transformer架构的优化和变体,而非完全替代。从硬件角度来看,这些改进型架构为算法-硬件协同设计提供了新的优化方向。

Q5 Damon:稀疏的研究前景是什么?是不是主要在算法上进行创新,从传统的单维度稀疏向多维度稀疏发展,在硬件上主要都是用一个选择器根据位置索引来选择非零数据,硬件上的创新相对较少?

方超: 您提出了一个很有深度的问题。首先,稀疏计算的研究目标是通过减少冗余计算来提升运算效率,核心问题在于怎么判断哪些运算是冗余运算。

关于硬件创新方面,您所描述的选择器机制本质上确实是稀疏硬件的基本实现方式。然而,要做好这个事情,实际上涉及非常多的硬件优化问题。例如,在50%、90%、99%,甚至更高等不同稀疏度下,稀疏的存储方式有很大的区别,不同稀疏度下最优的存储方案是不一样的。硬件设计需要回答一系列问题:怎么判断非零元素?怎么进行索引?这些稀疏的数据怎么进行高效的存储?在不同稀疏度变化的场景下,怎么兼容不同稀疏度的运算?这些都有非常大的创新空间。

近期我与吴俊毅在ASP-DAC上发表了一篇文章《SnipSnap: A Joint Compression Format and Dataflow Co-Optimization Framework for Efficient Sparse LLM Accelerator Design》,该工作主要探讨了如何快速地探索针对用于大模型推理的稀疏加速器硬件设计,如何定义其设计空间,以及如何结合压缩格式进行快速的空间探索,并且基于一些指标来判断硬件架构具体应该如何设计。

Q6 Damon:基于FPGA的LLM推理加速有实际的应用场景吗?FPGA只能用来做原型验证最终都得做成ASIC,还是说基于FPGA的设计也有实际应用场景?

方超: 从目前的研究和应用情况来看,我对FPGA在大语言模型推理中的主要角色和应用场景,主要有以下几个方面理解:

首先,FPGA在原型验证和小规模部署中具有明显优势。其可重构特性允许不断迭代优化设计。在性能方面,FPGA在低批次推理,例如batch=1的场景下,能够达到可接受的性能水平。学术界也涌现了一些有价值的研究工作,比如戴国浩团队的FlightLLM(《FlightLLM: Efficient Large Language Model Inference with a Complete Mapping Flow on FPGAs》)工作;以及余浩教授团队在FPGA上做的大模型推理研究(《EdgeLLM: A Highly Efficient CPU-FPGA Heterogeneous Edge Accelerator for Large Language Models》)。这些工作展示了FPGA在该领域的技术可行性。然而,在实际部署中,需要综合考虑性价比和开发成本问题。FPGA的开发门槛相对较高,优势主要体现在其可编程性上。从开发效率角度,相比FPGA,GPU的编程生态更加成熟,更容易获得高性能结果。因此,在大规模部署场景下,GPU或者专用ASIC 通常是更优的选择。从产业角度来看,FPGA的主要价值还是在于作为ASIC流片之前的验证平台,用于降低芯片设计风险。

Q7 何浩:国产AI芯片相对于国外AI芯片除了生态以外,还存在哪些方面的短板?

方超: 我认为主要有几个方面:

第一个是制程工艺,制程非常重要。现在很多高端制程国内都无法获取,这使得我们必须从算法优化、架构创新等其他地方来寻求突破。

第二个是软件生态的完善度。这里包括软件栈的成熟度,以及相应的开发工具。芯片造出来了,怎么debug、怎么profile来发现性能瓶颈?这些工具的成熟度直接影响芯片的实用性。此外,开发者社区、技术文档、技术支持等方面都需要长期积累。以NVIDIA的CUDA为例,经过多年迭代才达到目前的易用性。即使是国外的公司,目前也只有CUDA的生态相对成熟。AMD的硬件性能与NVIDIA的差距并不大,但在开发生态和实际使用体验上,差距仍然非常明显,这充分说明了生态建设的重要性。国内的摩尔线程、寒武纪等公司其实都投入了大量精力在生态构建上,目前已经取得了一定进展。

第三个是关键IP模块的自主性。比如高速的Serdes、HBM Controller等核心IP模块,目前很多需要依赖外部授权,这在一定程度上制约了芯片的自主可控性。

第四个是大规模商业部署验证的经验,国内企业在这方面相对欠缺。很多corner case(边界情况)可能在实际应用中才会暴露出来,需要在大规模部署中不断发现和解决问题。

总体来看,国产AI芯片的发展需要时间和耐心,我相信在未来的3-5年内,应该会有比较显著的发展。

Q8 唐捷:TPU的sparse core对稀疏训练和推理有哪些设计理念?

方超: 这个问题非常好。根据Google公布的TPU v7 架构信息,TPU的SparseCore主要是针对embedding操作设计的,对Dense Transformer模型的加速效果相对有限。

SparseCore的核心设计理念是用专门的数据流处理器来处理不规则的访存pattern,特别是embedding lookup等稀疏操作。该专用处理单元对于推荐系统(DLRM)等有大量embedding操作的模型具有显著加速效果,相比使用主TensorCore实现相同操作可以达到5-7倍的性能提升,同时仅占用约5%的芯片面积和功耗。这应该是Google基于自身的搜索和广告等业务需求,在多代TPU架构迭代中持续演进SparseCore的原因。

从公开信息来看,SparseCore对Transformer中attention计算的稀疏性支持相对有限。这是因为Transformer的主要计算负载集中在dense矩阵乘法(attention和FFN)中,虽然Transformer模型也包含embedding层,但这只是模型的一小部分。SparseCore针对的embedding lookup场景与Transformer的主要计算模式存在差异。因此,TPU的SparseCore更像是针对特定的embedding密集型应用场景(如推荐系统)进行的专门优化,而非面向Transformer架构的通用稀疏加速器。

Q9 SS:想请教一下softmax的硬件实现方式。以及这种非线性的计算虽然计算量较小但是是否会造成整体延迟的瓶颈?

方超: 关于softmax的硬件实现,主要涉及指数运算、求和以及除法运算的高效实现。常见的优化方法包括CORDIC算法、查找表(LUT)、分段线性插值等技术。

至于以softmax为代表的一类非线性计算是否构成性能瓶颈,虽然其算术计算量较少,但通过性能分析会发现延迟开销不容忽视。有研究表明,包括softmax在内的非线性运算在某些场景下可占总执行时间的30%-40%(如《PICACHU: Plug-In CGRA Handling Upcoming Nonlinear Operations in LLMs》等工作)。这主要是因为,当矩阵运算通过专用硬件得到充分优化后,未优化的非线性计算部分会逐渐暴露为新的瓶颈。

我们南京大学的研究团队在非线性计算优化方面也开展了相关工作。若您对具体硬件实现细节或优化方法感兴趣,欢迎通过邮件(chao.fang@kuleuven.be)联系我进行深入讨论。

Q10 yolo:针对稀疏这一点,方老师主要采用了位串行运算,这里的位指的是单个数据还是1bit。如果是1bit,是否考虑过计算负载均衡的问题,又是怎么解决的呢?

方超: 这个问题涉及两种不同的应用场景,“串行”在我系列工作不同场景下的含义有所区别:在稀疏训练场景中,我们按元素粒度进行串行处理,即将分组中的单个数据(而非单个比特)依次送入计算单元。关于计算负载均衡问题,我们通过在不同网络层保持相同的权重稀疏度来实现。在固定稀疏度模式下(如N:M稀疏),每个计算单元处理的有效数据量相对一致,从而保证了负载均衡。在大语言模型推理场景中,我们所采用的位串行设计是指逐比特(bit-serial)计算。为了保证计算均衡,采用的策略是在激活张量层面保持统一的量化位宽,即使用较粗的量化粒度(如tensor-wise或channel-wise量化),以避免因位宽差异导致的负载不均衡。

若采用更细粒度的混合位宽策略(如不同分块使用不同位宽),确实会引入负载不均衡问题。供你参考,常见的解决方案包括:(1)数据重排,将计算负载相近的数据分组调度到同一计算单元;(2)动态调度机制,根据实际位宽分配计算资源。但需要注意,重排会引入额外的调度开销,且完全消除不均衡较为困难,通常需要结合启发式算法在重排开销与负载均衡之间进行权衡。

Q11 SS:激活值量化是否也降低了KV Cache的存储和搬运需求?KV缓存的优化方法可以看作是基于稀疏的方法吗?

方超: 您提出了一个很好的问题。激活值量化确实会降低KV cache的存储和搬运需求。目前已有一系列针对KV cache进行量化的工作,比如KVQuant、KIVI等。关于KV缓存的优化方法是否属于基于稀疏的方法,需要根据具体优化策略来分析。KV cache的量化方法本质上不属于稀疏技术,因为量化保留了所有元素,只是通过降低数据位宽来实现压缩。然而,基于驱逐(eviction)或合并(merge)的KV cache优化方法则具有稀疏的特征。驱逐方法通过选择性地丢弃部分KV对,从本质上减少了需要存储和计算的数据量,这与稀疏化的核心思想相符——即去除冗余或低重要性的计算。我在分享中提到的设计方案也可以归类为稀疏优化,关键在于如何识别和去除不必要的计算或存储。

总结来说,量化和稀疏代表了两种不同的优化范式:量化通过降低数据精度来减少存储和带宽需求,而稀疏通过减少数据数量来降低计算和存储开销。

Q12 XDS:N:M是通过掩码实现而非原地将权重置0?然后FPGA会识别稀疏模式并调用相应的USPE? USPE是类似于NV上的sparse tensor core吗?

方超: 关于N:M稀疏的实现方式,N:M确实是通过掩码实现的,掩码主要用于记录稀疏权重的位置。需要说明的是,零值权重并不会被存储,在实际运算中也不会被加载,掩码的作用是根据稀疏模式选择对应的激活值进行计算。

关于FPGA对USPE的配置,FPGA会识别稀疏模式并动态配置USPE的计算模式,而非调用不同的硬件单元。具体来说,USPE是一个可重构的处理单元,可以通过运行时配置支持不同的N:M稀疏模式(如1:4、2:4、3:4等)。系统并非为每种稀疏模式都设计独立的硬件单元,而是通过将稀疏模式参数配置到USPE中,使单一硬件架构能够适配多种稀疏模式。

关于USPE与NVIDIA sparse tensor core的对比。在推理阶段,USPE的功能类似于NVIDIA的sparse tensor core,但我们进行了改进。NVIDIA的sparse tensor core采用CSC存储格式,而我们的研究表明,采用Bitmap位图掩码格式在某些场景下具有更高的效率。在训练阶段,USPE与sparse tensor core存在显著差异,主要体现在USPE支持动态稀疏度调整,可以在训练过程中根据需要灵活改变稀疏模式(如从2:4调整到1:4),这为渐进式稀疏训练提供了硬件支持。

Q13 徐冠宇:针对端侧设备微调在稀疏化方面有什么可以关注的点?

方超: 端侧设备微调面临的主要挑战是激活值的存储开销。在微调(训练)过程中,标准的反向传播需要保存前向传播中的所有激活值以计算梯度。梯度检查点(Gradient Checkpointing)技术可以缓解这一问题,通过只保存部分检查点并在反向传播时重新计算其他激活值,可以将存储开销降低约30%-40%,但会增加约15%-20%的计算时间。

在稀疏化与端侧微调的结合方面,LoRA等参数高效微调方法虽然能够减少可训练参数量,但并未解决激活值的存储问题。将稀疏化引入端侧微调是一个值得关注的研究方向。例如,韩松团队的PockEngine工作(《Pockengine: Sparse and efficient fine-tuning in a pocket》)系统性地研究了如何在端侧微调中引入稀疏性,通过稀疏化激活值和梯度来降低内存占用,该工作为端侧稀疏微调提供了较为完整的解决方案,值得深入研究。

Q14 金刚烷:在训练大模型的时候感觉2:4掉点会比较多,相较于FP8感觉效果会差些。想请教下您怎么看待LLM稀疏训练的算法?感觉上剪枝算法的话精度和效率很难平衡。

方超: 您提出了一个很有价值的问题。在大语言模型领域,从同等压缩比的角度来看,量化方法的效果通常优于剪枝方法。例如,若目标是50%的压缩比,量化往往是更优的选择。然而,近年来量化技术不断发展,已经推进到4比特、3比特、2比特甚至1比特的极低精度。在追求更高压缩比或性能提升时,单独使用量化或剪枝可能都存在局限性。此时,将剪枝与量化结合使用可能是一个有效的方向,二者能够相辅相成。但具体采用何种策略,主要取决于应用场景的需求和约束。

Q15 顾凯:稀疏加速运算和非稀疏场景下有什么本质区别?

方超: 二者的本质区别在于对零值元素的处理方式。在非稀疏(稠密)计算场景下,所有的参数都会参与运算,即使数据中包含零值元素,这些零值仍会执行乘加等操作,导致大量无效计算。稀疏加速的核心思想是:通过识别哪些运算涉及零值或可以被忽略的元素,在实际计算时跳过这些无效运算,从而提升计算效率。具体来说,稀疏性可以来源于权重剪枝(结构化或非结构化稀疏)、激活值稀疏等。硬件层面的稀疏加速器通过专门的数据格式和计算单元设计,实现对零值运算的跳过,从而达到加速效果。

以上便是本期关于人工智能芯片与稀疏计算的公开课Q&A精华整理。希望这些讨论能为你带来启发。如果你对更多算法硬件协同设计的深度内容感兴趣,欢迎持续关注云栈社区的技术分享。




上一篇:越南半导体产业现状分析:2027年目标、晶圆厂破土与供应链机遇
下一篇:Cursor用数百Agent“从零”构建浏览器?GPT-5.2耗时一周产出三百万行代码引争议
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 18:56 , Processed in 0.386872 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表