一种模型的压缩方法以及计算机设备与流程
本技术涉及人工智能(artificial intelligence,ai),尤其涉及一种模型的压缩方法以及计算机设备。
背景技术:
1、模型推理时有明确的预填充(prefill,p)和解码(decode,d)两个阶段,预填充和解码是模型推理的两个核心阶段,这两个阶段可简称为p阶段和d阶段,通过同一模型序列推理1次p阶段、n次d阶段,实现完整结果的输出。
2、然而,随着模型参数量的不断暴涨,推理时对硬件算力、带宽的需求也日益增大。尤其是模型端侧部署场景,往往需要高倍率模型压缩技术支持落地部署。例如,可以通过量化、剪枝等技术减少模型的参数数量或计算量,据此降低模型对计算资源的需求,使模型能在边缘设备(如,手机、嵌入式设备)上实时运行;模型压缩技术还可以减少内存和存储占用、提升推理速度,例如,剪枝、蒸馏等技术可以减少冗余计算,提升吞吐量。
3、目前已有的模型压缩方案一般是先对原始模型进行一次压缩,然后基于该压缩后的模型依次执行p阶段、d阶段,这种压缩方式在p、d阶段模型本身相同,只需加载一个模型,对模型本身带来的带宽及算力的压缩有限。
技术实现思路
1、本技术提供了一种模型的压缩方法,用于在p阶段、d阶段分别采用不同的压缩模型,不同的压缩模型基于不同的压缩方案得到,对于p阶段来说,性能瓶颈主要是算力,因此在p阶段的压缩方案(即第一压缩方案)侧重于压缩算力,对于d阶段来说,性能瓶颈主要是带宽,因此在d阶段的压缩方案(即第二压缩方案)侧重于压缩带宽,通过在不同的阶段使用不同的压缩方案,从而在保证推理精度的同时实现更高压缩倍率。
2、基于此,本技术实施例提供以下技术方案:
3、第一方面,本技术首先提供一种模型的压缩方法,该方法具体包括:首先,对目标模型执行第一压缩方案,得到压缩后的压缩模型,该压缩模型可称为第一压缩模型,也可称为p模型;此外,还需对该目标模型执行第二压缩方案,得到压缩后的压缩模型,该压缩模型可称为第二压缩模型,也可称为d模型。第一压缩方案与第二压缩方案为不同的压缩方案,其中,第一压缩方案侧重于压缩算力,第二压缩方案侧重于压缩带宽。之后,在p阶段,加载第三压缩模型,该第三压缩模型可以是第一压缩模型,该第三压缩模型也可以是基于第一压缩模型得到的压缩模型。类似地,在d阶段,加载第四压缩模型,该第四压缩模型可以是第二压缩模型,该第四压缩模型也可以是基于第二压缩模型得到的压缩模型。
4、在本技术上述实施方式中,在p阶段、d阶段分别采用不同的压缩模型,不同的压缩模型基于不同的压缩方案得到,对于p阶段来说,性能瓶颈主要是算力,因此在p阶段的压缩方案(即第一压缩方案)侧重于压缩算力,对于d阶段来说,性能瓶颈主要是带宽,因此在d阶段的压缩方案(即第二压缩方案)侧重于压缩带宽,通过在不同的阶段使用不同的压缩方案,从而在保证推理精度的同时实现更高压缩倍率。
5、在第一方面的一种可能的实现方式中,若推理硬件的可用内存空间低于预设阈值,说明该推理硬件的可用内存空间紧张,此时第一压缩模型以及第二压缩模型可以复用部分权重,如,第一压缩模型以及第二压缩模型可以复用第一预设比例(如,共用50%)的权重,使得第一压缩模型以及第二压缩模型有一定比例的模型权重保持一致。
6、在本技术上述实施方式中,推理硬件空间紧张的情况下,第一压缩模型(即p模型)和第二压缩模型(即d模型)共用部分模型权重,从而降低pd双模型带来的内存空间的存储压力。
7、在第一方面的一种可能的实现方式中,第三压缩模型基于第一压缩模型得到的一种实现方式可以是:第三压缩模型基于第一压缩模型以及第二压缩模型联合优化得到,第三压缩模型用于在p阶段保障首token的压缩精度,token用于表示处理文本的最小单元。
8、在本技术上述实施方式中,由于p模型、d模型共用部分权重(此时的p模型、d模型是阶段1的模型),所以p阶段与d阶段的模型需联合优化,以得到优化后的p模型(优化后的p模型是阶段2的模型),目的是使得优化后的p模型在p阶段重点保障首token的压缩精度,即在实现更高压缩倍率的情况下还能保证推理精度。
9、在第一方面的一种可能的实现方式中,第四压缩模型基于第二压缩模型得到的一种实现方式可以是:第四压缩模型基于第一压缩模型以及第二压缩模型进行联合优化得到,其中,该第四压缩模型用于在d阶段保障除首token之外的其他token的压缩精度。
10、在本技术上述实施方式中,由于p模型、d模型共用部分权重(此时的p模型、d模型是阶段1的模型),所以p阶段与d阶段的模型需联合优化,以得到优化后的d模型(优化后的d模型是阶段2的模型),目的是使得优化后的d模型在d阶段重点保障除首token之外的其他token的压缩精度,即在实现更高压缩倍率的情况下还能保证推理精度。
11、在第一方面的一种可能的实现方式中,在推理硬件的可用内存空间等于或高于预设阈值的情况下,所述第一压缩模型以及所述第二压缩模型不复用权重。
12、在本技术上述实施方式中,推理硬件空间充足的情况下,第一压缩模型(即p模型)和第二压缩模型(即d模型)无需共用模型权重,从而实现更高的整体推理压缩收益。
13、在第一方面的一种可能的实现方式中,推理硬件包括至少如下一种:高带宽内存(high bandwidth memory,hbm)、双倍速率同步动态随机存储器(double data ratesynchronous dynamic random access memory,ddr sdram),ddr sdram也简称ddr。
14、在本技术上述实施方式中,具体阐述了推理硬件的几种典型类型,具备广泛适用性。
15、在第一方面的一种可能的实现方式中,第一压缩方案的计算成本可以低于第二压缩方案的计算成本,第一压缩方案的压缩精度也可以低于第二压缩方案的压缩精度,还可以第一压缩方案的计算成本和压缩精度都低于第二压缩方案的计算成本和压缩精度,本技术对此不作限定。
16、在本技术上述实施方式中,针对p、d阶段的各种的性能瓶颈以及特性,采用针对性的压缩方案,具备灵活性,从而实现更高压缩倍率以及推理精度。
17、在第一方面的一种可能的实现方式中,在加载第四压缩模型之后,所述方法还可以包括:在计算核心中运行该第三压缩模型以及该第四压缩模型。
18、在本技术上述实施方式中,每次推理时加载的第三模型和第四模型是在计算核心中运行,具备可实现性。
19、在第一方面的一种可能的实现方式中,计算核心包括:ai核心(ai core)。
20、在本技术上述实施方式中,计算核心可以是ai core,具备广泛适用性。
21、本技术第二方面提供一种计算机设备,该计算机设备具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
22、本技术第三方面提供一种计算机设备,可以包括存储器、处理器以及总线系统,其中,存储器用于存储计算机程序(也可称为程序、计算机可读指令),处理器用于调用该存储器中存储的程序以执行本技术实施例第一方面或第一方面任意一种可能实现方式的方法。
23、本技术第四方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机可以执行上述第一方面或第一方面任意一种可能实现方式的方法。
24、本技术第五方面提供了一种计算机程序或包含指令的计算机程序产品,当该计算机程序或计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第一方面任意一种可能实现方式的方法。
25、本技术第六方面提供了一种芯片,该芯片包括至少一个处理器和至少一个接口电路,该接口电路和该处理器耦合,至少一个接口电路用于执行收发功能,并将指令发送给至少一个处理器,至少一个处理器用于运行计算机程序或指令,其具有实现如上述第一方面或第一方面任意一种可能实现方式的方法的功能,该功能可以通过硬件实现,也可以通过软件实现,还可以通过硬件和软件组合实现,该硬件或软件包括一个或多个与上述功能相对应的模块。此外,该接口电路用于与该芯片之外的其它模块进行通信。
26、在本技术的一些实现方式中,所述一个或多个处理器中还可以有部分处理器是通过专用硬件的方式来实现以上方法中的部分步骤,例如涉及神经网络模型的处理可以由专用神经网络处理器或图形处理器来实现。
27、本技术实施例提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com