CN113610709B - 模型量化方法、装置、电子设备和计算机可读存储介质 - Google Patents

模型量化方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN113610709B
CN113610709B CN202110869654.8A CN202110869654A CN113610709B CN 113610709 B CN113610709 B CN 113610709B CN 202110869654 A CN202110869654 A CN 202110869654A CN 113610709 B CN113610709 B CN 113610709B
Authority
CN
China
Prior art keywords
deep learning
learning model
quantization
model
network layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110869654.8A
Other languages
English (en)
Other versions
CN113610709A (zh
Inventor
邓宣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202110869654.8A priority Critical patent/CN113610709B/zh
Publication of CN113610709A publication Critical patent/CN113610709A/zh
Application granted granted Critical
Publication of CN113610709B publication Critical patent/CN113610709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本公开实施例涉及一种模型量化方法、装置、电子设备和计算机可读存储介质。所述方法包括:将图像输入深度学习模型中,获取深度学习模型对图像的分辨率进行处理所需的时延和功耗;根据时延、功耗、原始网络参数和强化学习算法训练深度学习模型,得到深度学习模型的各网络层的目标量化位宽;根据各网络层的目标量化位宽,对目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型。采用本方法可以平衡量化后的超分辨率模型的运算精度和量化后的模型的占用存储空间。

Description

模型量化方法、装置、电子设备和计算机可读存储介质
技术领域
本申请涉及机器学习技术领域,特别是涉及一种模型量化方法、装置、电子设备和计算机可读存储介质。
背景技术
随着人工智能技术的发展,可以采用超分辨率模型对图像的分辨率进行处理提升。但是,现有的超分辨率模型结构大而复杂,导致超分辨率模型的运算速度受到计算机设备存储能力的限制。因此,为了减少计算机存储的压力同时提高模型的运算速度,需要对超分辨率模型的各卷积层进行定点量化。
传统技术中,主要是将超分辨率模型整个网络层的权重和激活值固定量化到某个固定的位宽,得到量化后的超分辨率模型。然而,传统的模型量化方法,存在量化后的超分辨率模型的运算精度和量化后的模型的占用存储空间难以平衡的问题。
发明内容
本申请实施例提供了一种模型量化方法、装置、电子设备、计算机可读存储介质,可以平衡量化后的超分辨率模型的运算精度和量化后的模型的占用存储空间。
第一方面,提供了一种模型量化方法,包括:
将图像输入深度学习模型中,获取所述深度学习模型对所述图像的分辨率进行处理所需的时延和功耗;
根据所述时延、所述功耗、所述深度学习模型的原始网络参数和预设的强化学习算法训练所述深度学习模型,得到所述深度学习模型的各网络层的目标量化位宽;
根据各所述网络层的目标量化位宽,对所述目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型。
第二方面,提供了一种模型量化装置,包括:
第一获取模块,用于将图像输入深度学习模型中,获取所述深度学习模型对所述图像的分辨率进行处理所需的时延和功耗;
第二获取模块,用于根据所述时延、所述功耗、所述深度学习模型的原始网络参数和预设的强化学习算法训练所述深度学习模型,得到所述深度学习模型的各网络层的目标量化位宽;
量化模块,用于根据各所述网络层的目标量化位宽,对所述目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型。
第三方面,提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面所述的模型量化方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的模型量化方法的步骤。
上述模型量化方法、装置、电子设备和计算机可读存储介质,通过将图像输入深度学习模型中,能够获取该深度学习模型对图像的分辨率进行处理所需的时延和功耗,从而可以根据得到的时延、功耗、深度学习模型的原始网络参数和预设的强化学习算法训练深度学习模型,得到该深度学习模型的各网络层的目标量化位宽,进而可以根据得到的各网络层的目标量化位宽,对目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型,由于该方法得到的是深度学习模型的各网络层的目标量化位宽,而不同的网络层采用不同的量化位宽能够有效的减少计算机存储的压力同时提高模型的运算速度,这样根据深度学习模型的各网络层的目标量化位宽,对该目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,平衡了得到的分辨率模型的运算精度和分辨率模型的占用存储空间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中模型量化方法的应用环境图;
图2为一个实施例中模型量化方法的流程图;
图3为一个实施例中模型量化方法的流程图;
图4为一个实施例中模型量化方法的流程图;
图5为一个实施例中模型量化方法的流程图;
图6为一个实施例中模型量化方法的流程图;
图7为一个实施例中模型量化方法的流程图;
图8为一个实施例提供的模型量化方法的整体结构示意图;
图9为一个实施例中模型量化装置的结构框图;
图10为一个实施例中电子设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中模型量化方法的应用环境示意图。如图1所示,该应用环境包括计算机设备。该计算机设备包括通过系统总线连接的处理器、存储器,该存储器中存储有计算机程序,处理器执行该计算机程序时可以执行下述方法实施例的步骤。可选的,该计算机设备还可以包括网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器,该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。可选的,该计算机设备可以是服务器,可以是个人计算机,还可以是个人数字助理,还可以是其他的终端设备,例如平板电脑、手机等等,还可以是云端或者远程服务器,本申请实施例对计算机设备的具体形式并不做限定。
图2为一个实施例中模型量化方法的流程图。本实施例中的模型量化方法,以运行于图1中的计算机设备上为例进行描述。如图2所示,上述模型量化方法包括以下步骤:
S201,将图像输入深度学习模型中,获取深度学习模型对图像的分辨率进行处理所需的时延和功耗。
其中,深度学习模型对图像的分辨率进行处理所需的时延是指将上述图像输入深度学习模型,得到输出图像的时长;深度学习模型对图像的分辨率进行处理所需的功耗是指计算机设备运行上述深度学习模型所消耗的电流与计算机设备未运行上述深度学习没模型所消耗的电流的差值。在本实施例中,计算机设备将图像输入深度学习模型中,获取深度学习模型对该图像的分辨率进行处理所需的时延和功耗。可以理解的是,上述图像为低分辨率的图像,深度学习模型对上述图像的分辨率进行处理即为提高该图像的分辨率的过程。
S202,根据时延、功耗、深度学习模型的原始网络参数和预设的强化学习算法训练深度学习模型,得到深度学习模型的各网络层的目标量化位宽。
其中,深度学习模型的原始网络参数是指该深度学习模型中每一层的原始参数,例如,上述深度学习模型的原始权重、原始激活值等等。预设的强化学习算法是一种可以让计算机设备通过已有的数据不断学习从而找到规律,以更新自己的行为的一种算法。在本实施例中,该强化学习算法可以参考深度学习模型的功耗和时延对深度学习模型每一层的量化位宽进行学习,不断的优化深度学习模型的各网络层的量化位宽。
在本实施例中,计算机设备根据深度学习模型对上述图像的分辨率进行处理所需的时延、功耗、深度学习模型的原始网络参数和强化学习算法训练上述深度学习模型,得到深度学习模型的各网络层的目标量化位宽。这里需要说明的是,上述深度学习模型的原始网络参数是指上述深度学习模型各网络层的网络参数。可选的,计算机设备可以根据深度学习模型对上述图像的分辨率进行处理所需的时延、功耗、深度学习模型的原始网络参数和强化学习算法,得到上述深度学习模型的各网络层的初始量化位宽,根据深度学习模型的各网络层的初始量化位宽,对深度学习模型的各网络层的初始量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到量化模型,再获取得到的量化模型对上述图像的分辨率进行处理所需的时延和功耗,根据得到的量化模型对上述图像的分辨率进行处理所需的时延、功耗、得到的量化模型各层的网络参数和强化学习算法,得到上述深度学习模型的各网络层的目标量化位宽。可以理解的是,在本实施例中,由于计算机设备是根据深度学习模型对上述图像的分辨率进行处理所需的时延、功耗、深度学习模型各网络层的网络参数和强化学习算法训练的深度学习模型,这样可以参考深度学习模型的功耗和时延对深度学习模型每一层的量化位宽分别进行学习,从而能够得到深度学习模型的各网络层的目标量化位宽更加精确。
S203,根据各网络层的目标量化位宽,对目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型。
在本实施例中,计算机设备根据得到的深度学习模型的各网络层的目标量化位宽,对该目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型。示例性地,如上述深度学习模型包括三层网络层,若得到的第一层网络层的目标量化位宽为4bit,第二层网络层的目标量化位宽为8bit,第三次网络层的目标量化位宽为4bit,则计算机设备将这三层对应的权值和激活值量化为对应的bit,即第一层网络层的权值和激活值对应的量化为4bit,第二层网络层的权值和激活值对应的量化为8bit,第三层网络层的权值和激活值对应的量化为4bit,得到上述分辨率模型。可选的,作为一种可实现的实施方式,上述根据得到的深度学习模型的各网络层的目标量化位宽,对深度学习模型各网络层的权重和激活值进行量化,得到的分辨率模型其输出的图像的分辨率应为上述深度学习模型输出的图像的分辨率的90%。
本实施例中的模型量化方法,由于得到的是深度学习模型的各网络层的目标量化位宽,而不同的网络层采用不同的量化位宽能够有效的减少计算机存储的压力同时提高模型的运算速度,这样根据深度学习模型的各网络层的目标量化位宽,对该目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,平衡了得到的分辨率模型的运算精度和分辨率模型的占用存储空间。
在上述根据深度学习模型对图像的分辨率进行处理所需的时延、功耗、深度学习模型的原始网络参数和预设的强化学习算法训练上述深度学习模型,得到深度学习模型的各网络层的目标量化位宽的场景中,在一个实施例中,如图3所示,上述S202,包括:
S301,将时延、功耗和原始网络参数输入强化学习算法中,得到各网络层的初始量化位宽,根据初始量化位宽、预设的精度调整策略对深度学习模型进行迭代训练,得到深度学习模型的各网络层的目标量化位宽;精度调整策略用于对初始量化位宽的精度进行调整。
在本实施例中,计算机设备将深度学习模型对上述图像的分辨率进行处理所需的时延、功耗和上述深度学习模型的原始参数输入强化学习算法中,得到深度学习模型各网络层的初始量化位宽,根据深度学习模型各网络层的初始量化位宽、预设的精度调整策略对上述深度学习模型进行迭代训练,得到上述深度学习模型的各网络层的目标量化位宽;其中,上述预设的精度调整策略用于对深度学习模型各网络层的初始量化位宽的精度进行调整。
可以理解的是,计算机设备将深度学习模型对上述图像的分辨率进行处理所需的时延、功耗和上述深度学习模型的原始参数输入强化学习算法后,强化学习算法中的agent会制定深度学习模型的各网络层的量化策略,从而得到深度学习模型的各网络层的初始量化位宽。可选的,计算机设备可以根据上述预设的精度调整策略对上述深度学习模型各网络层的初始量化位宽进行调整,得到各网络层的调整后量化位宽,根据各网络层的调整后的量化位宽,对深度学习模型各网络层的权重和激活值进行量化,得到量化后的模型,将上述图片输入量化后的模型中,得到量化后的模型对上述图像的分辨率进行处理所需的时延和功耗,进而根据量化后的模型对上述图像的分辨率进行处理所需的时延、功耗和量化后的模型的网络参数对上述深度学习模型进行迭代训练,得到上述深度学习模型的各网络层的目标量化位宽。
本实施例中,计算机设备将深度学习模型对上述图像的分辨率进行处理所需的时延、功耗和深度学习模型的原始网络参数输入强化学习算法中,能够快速地得到深度学习模型各网络层的初始量化位宽,进而可以根据得到的初始量化位宽、预设的精度调整策略对深度学习模型进行迭代训练,得到深度学习模型的各网络层的目标量化位宽,由于在该过程中,得到深度学习模型各网络层的初始量化位宽的效率得到了提高,从而也提高了根据深度学习模型各网络层的初始量化位宽、预设的精度调整策略对深度学习模型进行迭代训练,得到深度学习模型的各网络层的目标量化位宽的效率。
在上述根据深度学习模型各网络层的初始量化位宽、预设的精度调整策略对深度学习模型进行迭代训练,得到深度学习模型的各网络层的目标量化位宽的场景中,在一个实施例中,上述S301,包括:根据精度调整策略对初始量化位宽进行调整,得到各网络层的调整后的量化位宽,执行迭代操作,直到满足预设的迭代终止条件,得到各网络层的目标量化位宽;其中,迭代操作包括:根据各网络层的调整后的量化位宽,对各网络层的权重和激活值进行量化,得到中间量化模型,将图像输入中间量化模型,获取中间量化模型处理图像所需的中间时延和中间功耗,将中间时延、中间功耗和中间量化模型的各网络层的网络参数输入强化学习算法中,得到中间量化模型各网络层的量化位宽,根据精度调整策略对中间量化模型各网络层的量化位宽进行调整,并返回执行迭代操作。
在本实施例中,计算机设备根据上述精度调整策略对上述得到的初始量化位宽进行调整,得到深度学习模型各网络层的调整后的量化位宽,根据深度学习模型各网络层的调整后的量化位宽,对深度学习模型各网络层的权重和激活值进行量化,得到中间量化模型,将上述图像输入该中间量化模型,获取中间量化模型处理上述图像所需的中间时延和中间功耗,将该中间时延、中间功耗和中间量化模型的各网络层的网络参数输入上述强化学习算法中,得到上述中间量化模型各网络层的量化位宽,再根据上述精度调整策略对中间量化模型各网络层的量化位宽进行调整,重复执行上述操作直到满足预设的迭代终止条件,得到上述深度学习模型各网络层的目标量化位宽。
可选的,上述预设的迭代终止条件包括:执行上述迭代操作的次数达到预设的迭代次数,和/或,训练得到的深度学习模型输出的第一图像的分辨率与上述深度学习模型输出的第二图像的分辨率的比值大于预设阈值,示例性地,上述预设的迭代终止条件可以包括:执行上述迭代操作的次数达到6次,和/或,训练得到的深度学习模型输出的第一图像的分辨率为上述深度学习模型输出的第二图像的分辨率的90%。
本实施例中,计算机设备根据预设的精度调整策略对上述得到的初始量化位宽进行调整,得到深度学习模型各网络层的调整后的量化位宽,再根据深度学习模型各网络层的调整后的量化位宽,对深度学习模型各网络层的权重和激活值进行量化,得到中间量化模型,将图像输入该中间量化模型,获取该中间量化模型处理图像所需的中间时延和中间功耗,将中间时延、中间功耗和中间量化模型的各网络层的网络参数输入强化学习算法中,得到中间量化模型各网络层的量化位宽,再根据精度调整策略对中间量化模型各网络层的量化位宽进行调整,重复执行该操作,直到满足预设的迭代终止条件,得到深度学习模型各网络层的目标量化位宽,由于得到的深度学习模型各网络的目标量化位宽是通过重复执行上述操作得到的,通过该操作确保了得到的深度学习模型各网络层的目标量化位宽的准确度;另外,根据预设的精度调整策略对得到的初始量化位宽进行调整,能够进一步地增加得到的初始量化位宽的准确地,即提高了得到的深度学习模型各网络层的调整后的量化位宽的准确度,这样再根据深度学习模型各网络层的调整后的量化位宽,对深度学习模型各网络层的权重和激活值进行量化,确保了得到的中间量化模型的准确度,从而能够更加准确地得到中间量化模型处理图像所需的中间时延和中间功耗,进而将中间时延、中间功耗和中间量化模型的各网络层的网络参数输入强化学习算法中,能够准确地得到中间量化模型各网络层的量化位宽,这样再根据精度调整策略对中间量化模型各网络层的量化位宽进行调整,重复执行该操作,直到满足预设的迭代终止条件,进一步地确保了得到深度学习模型各网络层的目标量化位宽的准确度。
在上述根据深度学习模型各网络层的初始量化位宽、预设的精度调整策略对上述深度学习模型进行迭代训练的场景中,在一个实施例中,如图4所示,上述精度调整策略包括:
S401,获取深度学习模型各网络层的权重和激活值的标准差。
在本实施例中,计算机设备获取上述深度学习模型各网络层的权重和激活值的标准差。这里需要说明的是,上述深度学习模型各网络层的权重和激活值的标准差σ可以反映深度学习模型当前网络层的数据的量化敏感度,可以根据深度学习模型各网络层的权重和激活值的标准差对得到的深度学习模型各网络层的初始量化位宽进行调整,可选的,计算机设备可以根据深度学习模型各网络层的权重和激活值的标准差与量化阈值之间的关系,对得到的深度学习模型各网络层的初始量化位宽进行调整。
S402,若标准差大于第一量化阈值,则根据预设的调整量,增大各网络层的初始量化位宽。
在本实施例中,若深度学习模型各网络层的权重和激活值的标准差大于第一量化阈值,则计算机设备根据预设的调整量,增大上述深度学习模型各网络层的初始量化位宽。可选的,预设的调整量可以是一个超参数,可以默认为1。
S403,若标准差小于第二量化阈值,则根据预设的调整量,减小各网络层的初始量化位宽。
在本实施例中,若深度学习模型各网络层的权重和激活值的标准差小于第二量化阈值,则计算机设备根据上述预设的调整量,减小上述深度学习模型各网络层的初始量化位宽。示例性地,下边以一个具体实例对上述精度调整策略进行说明:以σH表示第一量化阈值,σL表示第二量化阈值为例,计算机设备可以通过下述策略,对深度学习模型各网络层的初始量化位宽进行调整:其中,n表示深度学习模型各网络层的初始量化位宽,m表示预设的调整量,σ表示深度学习模型各网络层的权重和激活值的标准差。
本实施例中,计算机设备利用强化学习算法得到深度学习模型各网络层的初始量化位宽后,由于深度学习模型每一层的数据分布可能不同,而卷积的参数量和每一层数据的分布没有直接关系,可能会存在得到的初始量化位宽不够精确的问题,通过获取深度学习模型各网络层的权重和激活值的标准差,若标准差大于第一量化阈值,则根据预设的调整量,增大深度学习模型各网络层的初始量化位宽,若标准差小于第二量化阈值,则根据预设的调整量,减小深度学习模型各网络层的初始量化位宽,对初始量化位宽进行微调,确保了得到深度学习模型各网络层的初始量化位宽的准确度。
在上述若深度学习模型各网络层的权重和激活值的标准差大于第一量化阈值,根据预设的调整量增大各网络层的初始量化位宽,若深度学习模型各网络层的权重和激活值的标准差小于第二量化阈值,根据预设的调整量减小各网络层的初始量化位宽的场景中,需要首先确定出上述第一量化阈值和上述第二量化阈值,在一个实施例中,如图5所示,上述方法还包括:
S501,获取深度学习模型各网络层的权重和激活值的标准差,以及深度学习模型各网络层的权重和激活值的均值。
在本实施例中,计算机设备获取上述深度学习模型各网络层的权重和激活值的标准差,以及上述深度学习模型各网络层的权重和激活值的均值。可以理解的是,计算机设备可以先计算出深度学习模型各网络层的权重和激活值的方差,根据深度学习模型各网络层的权重和激活值的方差,得到标准差。可选的,计算机设备可以将深度学习模型各网络层的权重和激活值相加除以各网络层的权重和激活值的个数,得到深度学习模型各网络层的权重和激活值的均值,即深度学习模型各网络层的权重和激活值的平均数,再将深度学习模型各网络层的权重和激活值减去上述平均数再平方,再将这些平方相加除以各网络层的权重和激活值的个数,得到深度学习模型各网络层的权重和激活值的方差,再对方差开平方,得到深度学习模型各网络层的权重和激活值的标准差。
S502,根据标准差和均值,得到第一量化阈值和第二量化阈值。
在本实施例中,计算机设备根据深度学习模型各网络层的权重和激活值的标准差,以及深度学习模型各网络层的权重和激活值的均值,得到上述第一量化阈值和上述第二量化阈值。可选的,计算机设备可以根据上述标准差、上述均值和预设的第一映射关系,得到上述第一量化阈值,根据上述标准差、上述均值和预设的第二映射关系,得到上述第二量化阈值;其中,第一量化阈值越大,第二量化阈值越小。示例性地,第一映射关系可以为第二映射关系可以为/>式中,σL表示第一量化阈值,σH表示第二量化阈值,Φ为一个累积分布函数,σ表示深度学习模型各网络层的权重和激活值的标准差,μ表示深度学习模型各网络层的权重和激活值的方差。
本实施例中,计算机设备获取深度学习模型各网络层的权重和激活值的标准差,以及深度学习模型各网络层的权重和激活值的均值的过程十分简单,提高了得到深度学习模型各网络层的权重和激活值的标准差,以及深度学习模型各网络层的权重和激活值的均值的效率,进而提高了根据深度学习模型各网络的权重和激活值的标准差和均值,得到第一量化阈值和第二量化阈值的效率。
在上述根据深度学习模型对图像的分辨率进行处理所需的时延、功耗、深度学习模型的原始网络参数和强化学习算法训练深度学习模型,得到深度学习模型的各网络层的目标量化位宽的场景中,可以首先对深度学习模型各网络层的原始网络参数进行量化,再进行归一化,根据深度学习模型对图像的分辨率进行处理所需的时延、功耗、归一化后的参数向量和强化学习算法训练深度学习模型,在一个实施例中,如图6所示,上述方法还包括:
S601,对深度学习模型各网络层的原始网络参数进行量化,得到深度学习模型的参数向量。
在本实施例中,计算机设备对上述深度学习模型各网络层的原始网络参数进行量化,得到深度学习模型的参数向量。可选的,计算机设备可以将上述深度学习模型各网络层的原始网络参数写为向量的形式,得到该深度学习模型的参数向量。
S602,对参数向量进行归一化,得到归一化后的参数向量。
在本实施例中,计算机设备对得到的上述参数向量进行归一化,得到归一化后的参数向量,上述S202,包括:根据时延、功耗、归一化后的参数向量和强化学习算法训练深度学习模型,得到深度学习模型的各网络层的目标量化位宽。也就是说,计算机设备可以将得到的参数向量归一化到[0,1],然后根据深度学习模型对图像的分辨率进行处理所需的时延、功耗、归一化后的参数向量和强化学习算法训练上述深度学习模型,得到深度学习模型的各网络层的目标量化位宽。
本实施例中,计算机设备对深度学习模型各网络层的原始网络参数进行量化,得到深度学习模型的参数向量,进而对得到的参数向量进行归一化,得到归一化后的参数向量,这样计算机设备可以根据深度学习模型对图像的分辨率进行处理所需的时延、功耗、归一化后的参数向量和强化学习算法快速地训练深度学习模型,从而提高了得到深度学习模型的各网络层的目标量化位宽的效率。
为了便于本领域技术人员的理解,以下对本申请提供的模型量化方法进行详细介绍,如图7所示,该方法可以包括:
S701,将图像输入深度学习模型中,获取深度学习模型对图像的分辨率进行处理所需的时延和功耗。
S702,对深度学习模型各网络层的原始网络参数进行量化,得到深度学习模型的参数向量。
S703,对参数向量进行归一化,得到归一化后的参数向量。
S704,将时延、功耗、归一化后的参数向量输入强化学习算法中,得到深度学习模型的各网络层的初始量化位宽。
S705,获取深度学习模型各网络层的权重和激活值的标准差,以及深度学习模型各网络层的权重和激活值的均值。
S706,根据标准差、均值和预设的第一映射关系,得到第一量化阈值。
S707,根据标准差、均值和预设的第二映射关系,得到第二量化阈值;其中,第一量化阈值越大,第二量化阈值越小。
S708,根据精度调整策略对初始量化位宽进行调整,得到各网络层的调整后的量化位宽,执行迭代操作,直到满足预设的迭代终止条件,得到各网络层的目标量化位宽;
其中,迭代操作包括:
根据各网络层的调整后的量化位宽,对各网络层的权重和激活值进行量化,得到中间量化模型,将图像输入中间量化模型,获取中间量化模型处理图像所需的中间时延和中间功耗,将中间时延、中间功耗和中间量化模型的各网络层的网络参数输入强化学习算法中,得到中间量化模型各网络层的量化位宽,根据精度调整策略对中间量化模型各网络层的量化位宽进行调整,并返回执行迭代操作;
预设的迭代终止条件包括:执行迭代操作的次数达到预设的迭代次数,和/或,训练得到的深度学习模型输出的第一图像的分辨率与深度学习模型输出的第二图像的分辨率的比值大于预设阈值;
精度调整策略包括:若标准差大于第一量化阈值,则根据预设的调整量,增大各网络层的初始量化位宽;
若标准差小于第二量化阈值,则根据预设的调整量,减小各网络层的初始量化位宽。
示例性地,如图8所示,图8为本申请提供的模型量化方法的整体结构示意图,由图8可以看出,本申请提供的模型量化方法的整体构思为采用强化学习的方案去决定深度学习模型每一层网络结构量化时的位宽,在给定目标硬件上网络的推理时延和功耗等信息的情况下,强化学习算法的agent依赖硬件加速器的直接反馈(延迟和功耗信息),然后按层处理给定的深度学习模型,接收相应信息作为observation,给出每层的action即每层的量化位宽(bits),并将准确率作为reward反馈给critic,从而确定深度学习模型每一次的最佳位宽分配策略,示例性地,如图8所示,得出的深度学习模型的量化策略为深度学习模型第三层的量化位宽为3bit/5bit,深度学习模型第四层的量化位宽为4bit/8bit,深度学习模型第五层的量化位宽为1bit/6bit,深度学习模型第六层的量化位宽为3bit/7bit。
应该理解的是,虽然图2-图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种模型量化装置,包括:第一获取模块、第二获取模块和量化模块,其中:
第一获取模块,用于将图像输入深度学习模型中,获取深度学习模型对图像的分辨率进行处理所需的时延和功耗。
第二获取模块,用于根据时延、功耗、深度学习模型的原始网络参数和预设的强化学习算法训练深度学习模型,得到深度学习模型的各网络层的目标量化位宽。
量化模块,用于根据各网络层的目标量化位宽,对目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型。
本实施例提供的模型量化装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述第二获取模块,包括:第一获取单元,其中:
第一获取单元,用于将时延、功耗和原始网络参数输入强化学习算法中,得到各网络层的初始量化位宽,根据初始量化位宽、预设的精度调整策略对深度学习模型进行迭代训练,得到深度学习模型的各网络层的目标量化位宽;精度调整策略用于对初始量化位宽的精度进行调整。
本实施例提供的模型量化装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述第一获取单元,用于根据精度调整策略对初始量化位宽进行调整,得到各网络层的调整后的量化位宽,执行迭代操作,直到满足预设的迭代终止条件,得到各网络层的目标量化位宽;其中,迭代操作包括:根据各网络层的调整后的量化位宽,对各网络层的权重和激活值进行量化,得到中间量化模型,将图像输入中间量化模型,获取中间量化模型处理图像所需的中间时延和中间功耗,将中间时延、中间功耗和中间量化模型的各网络层的网络参数输入强化学习算法中,得到中间量化模型各网络层的量化位宽,根据精度调整策略对中间量化模型各网络层的量化位宽进行调整,并返回执行迭代操作。
可选的,预设的迭代终止条件包括:执行迭代操作的次数达到预设的迭代次数,和/或,训练得到的深度学习模型输出的第一图像的分辨率与深度学习模型输出的第二图像的分辨率的比值大于预设阈值。
本实施例提供的模型量化装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述装置还包括:第三获取模块、第一调整模块和第二调整模块,其中:
第三获取模块,用于获取深度学习模型各网络层的权重和激活值的标准差。
第一调整模块,用于若标准差大于第一量化阈值,则根据预设的调整量,增大各网络层的初始量化位宽。
第二调整模块,用于若标准差小于第二量化阈值,则根据预设的调整量,减小各网络层的初始量化位宽。
本实施例提供的模型量化装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述装置还包括:第四获取模块和第五获取模块,其中:
第四获取模块,用于获取深度学习模型各网络层的权重和激活值的标准差,以及深度学习模型各网络层的权重和激活值的均值。
第五获取模块,用于根据标准差和均值,得到第一量化阈值和第二量化阈值。
本实施例提供的模型量化装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述第五获取模块,包括:第二获取单元和第三获取单元,其中:
第二获取单元,用于根据标准差、均值和预设的第一映射关系,得到第一量化阈值。
第三获取单元,用于根据标准差、均值和预设的第二映射关系,得到第二量化阈值;其中,第一量化阈值越大,第二量化阈值越小。
本实施例提供的模型量化装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述装置还包括:量化模块和归一化模块,其中:
量化模块,用于对深度学习模型各网络层的原始网络参数进行量化,得到深度学习模型的参数向量。
归一化模块,用于对参数向量进行归一化,得到归一化后的参数向量;
上述第二获取模块,用于根据时延、功耗、归一化后的参数向量和强化学习算法训练深度学习模型,得到深度学习模型的各网络层的目标量化位宽。
本实施例提供的模型量化装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
上述模型量化装置中各个模块的划分仅仅用于举例说明,在其他实施例中,可将模型量化装置按照需要划分为不同的模块,以完成上述模型量化装置的全部或部分功能。
关于模型量化装置的具体限定可以参见上文中对于模型量化方法的限定,在此不再赘述。上述模型量化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图10为一个实施例中电子设备的内部结构示意图。该电子设备可以是手机、平板电脑、笔记本电脑、台式电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备。该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器可以包括一个或多个处理单元。处理器可为CPU(Central Processing Unit,中央处理单元)或DSP(Digital Signal Processing,数字信号处理器)等。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种模型量化方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行模型量化方法的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行模型量化方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括ROM(Read-Only Memory,只读存储器)、PROM(Programmable Read-only Memory,可编程只读存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-only Memory,电可擦除可编程只读存储器)或闪存。易失性存储器可包括RAM(Random Access Memory,随机存取存储器),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如SRAM(Static Random Access Memory,静态随机存取存储器)、DRAM(Dynamic Random Access Memory,动态随机存取存储器)、SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)、双数据率DDRSDRAM(Double Data Rate Synchronous Dynamic Random Access memory,双数据率同步动态随机存取存储器)、ESDRAM(Enhanced Synchronous Dynamic Random Access memory,增强型同步动态随机存取存储器)、SLDRAM(Sync Link Dynamic Random Access Memory,同步链路动态随机存取存储器)、RDRAM(Rambus Dynamic Random Access Memory,总线式动态随机存储器)、DRDRAM(Direct Rambus Dynamic Random Access Memory,接口动态随机存储器)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种模型量化方法,其特征在于,包括:
将图像输入深度学习模型中,获取所述深度学习模型对所述图像的分辨率进行处理所需的时延和功耗;
根据所述时延、所述功耗、所述深度学习模型的原始网络参数和预设的强化学习算法训练所述深度学习模型,得到所述深度学习模型的各网络层的目标量化位宽;
根据各所述网络层的目标量化位宽,对所述目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述时延、所述功耗、所述深度学习模型的原始网络参数和预设的强化学习算法训练所述深度学习模型,得到所述深度学习模型的各网络层的目标量化位宽,包括:
将所述时延、所述功耗和所述原始网络参数输入所述强化学习算法中,得到各所述网络层的初始量化位宽,根据所述初始量化位宽、预设的精度调整策略对所述深度学习模型进行迭代训练,得到所述深度学习模型的各网络层的目标量化位宽;所述精度调整策略用于对所述初始量化位宽的精度进行调整。
3.根据权利要求2所述的方法,其特征在于,所述根据所述初始量化位宽、预设的精度调整策略对所述深度学习模型进行迭代训练,得到所述深度学习模型的各网络层的目标量化位宽,包括:
根据所述精度调整策略对所述初始量化位宽进行调整,得到各所述网络层的调整后的量化位宽,执行迭代操作,直到满足预设的迭代终止条件,得到各所述网络层的目标量化位宽;
其中,所述迭代操作包括:
根据各所述网络层的调整后的量化位宽,对各所述网络层的权重和激活值进行量化,得到中间量化模型,将所述图像输入所述中间量化模型,获取所述中间量化模型处理所述图像所需的中间时延和中间功耗,将所述中间时延、所述中间功耗和所述中间量化模型的各网络层的网络参数输入所述强化学习算法中,得到所述中间量化模型各网络层的量化位宽,根据所述精度调整策略对所述中间量化模型各网络层的量化位宽进行调整,并返回执行所述迭代操作。
4.根据权利要求2或3所述的方法,其特征在于,所述精度调整策略包括:
获取所述深度学习模型各网络层的权重和激活值的标准差;
若所述标准差大于第一量化阈值,则根据预设的调整量,增大各所述网络层的初始量化位宽;
若所述标准差小于第二量化阈值,则根据所述预设的调整量,减小各所述网络层的初始量化位宽。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述深度学习模型各网络层的权重和激活值的标准差,以及所述深度学习模型各网络层的权重和激活值的均值;
根据所述标准差和所述均值,得到所述第一量化阈值和所述第二量化阈值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述标准差和所述均值,得到所述第一量化阈值和所述第二量化阈值,包括:
根据所述标准差、所述均值和预设的第一映射关系,得到所述第一量化阈值;
根据所述标准差、所述均值和预设的第二映射关系,得到所述第二量化阈值;其中,所述第一量化阈值越大,所述第二量化阈值越小。
7.根据权利要求3所述的方法,其特征在于,所述预设的迭代终止条件包括:执行所述迭代操作的次数达到预设的迭代次数,和/或,训练得到的深度学习模型输出的第一图像的分辨率与所述深度学习模型输出的第二图像的分辨率的比值大于预设阈值。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述深度学习模型各网络层的原始网络参数进行量化,得到深度学习模型的参数向量;
对所述参数向量进行归一化,得到归一化后的参数向量;
所述根据所述时延、所述功耗、所述原始网络参数和强化学习算法训练所述深度学习模型,得到所述深度学习模型的各网络层的目标量化位宽,包括:
根据所述时延、所述功耗、所述归一化后的参数向量和强化学习算法训练所述深度学习模型,得到所述深度学习模型的各网络层的目标量化位宽。
9.一种模型量化装置,其特征在于,包括:
第一获取模块,用于将图像输入深度学习模型中,获取所述深度学习模型对所述图像的分辨率进行处理所需的时延和功耗;
第二获取模块,用于根据所述时延、所述功耗、所述深度学习模型的原始网络参数和预设的强化学习算法训练所述深度学习模型,得到所述深度学习模型的各网络层的目标量化位宽;
量化模块,用于根据各所述网络层的目标量化位宽,对所述目标量化位宽对应的深度学习模型各网络层的权重和激活值进行量化,得到分辨率模型。
10.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的模型量化方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
CN202110869654.8A 2021-07-30 2021-07-30 模型量化方法、装置、电子设备和计算机可读存储介质 Active CN113610709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110869654.8A CN113610709B (zh) 2021-07-30 2021-07-30 模型量化方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110869654.8A CN113610709B (zh) 2021-07-30 2021-07-30 模型量化方法、装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113610709A CN113610709A (zh) 2021-11-05
CN113610709B true CN113610709B (zh) 2023-12-05

Family

ID=78306171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110869654.8A Active CN113610709B (zh) 2021-07-30 2021-07-30 模型量化方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113610709B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117540778A (zh) * 2022-07-29 2024-02-09 抖音视界有限公司 用于量化神经网络模型的方法、装置、计算设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414679A (zh) * 2019-08-02 2019-11-05 厦门美图之家科技有限公司 模型训练方法、装置、电子设备和计算机可读存储介质
CN111523640A (zh) * 2020-04-09 2020-08-11 北京百度网讯科技有限公司 神经网络模型的训练方法和装置
CN112200722A (zh) * 2020-10-16 2021-01-08 鹏城实验室 图像超分辨重构模型的生成方法、重构方法及电子设备
CN112906294A (zh) * 2021-01-28 2021-06-04 三星(中国)半导体有限公司 用于深度学习模型的量化方法和量化装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210089922A1 (en) * 2019-09-24 2021-03-25 Qualcomm Incorporated Joint pruning and quantization scheme for deep neural networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414679A (zh) * 2019-08-02 2019-11-05 厦门美图之家科技有限公司 模型训练方法、装置、电子设备和计算机可读存储介质
CN111523640A (zh) * 2020-04-09 2020-08-11 北京百度网讯科技有限公司 神经网络模型的训练方法和装置
CN112200722A (zh) * 2020-10-16 2021-01-08 鹏城实验室 图像超分辨重构模型的生成方法、重构方法及电子设备
CN112906294A (zh) * 2021-01-28 2021-06-04 三星(中国)半导体有限公司 用于深度学习模型的量化方法和量化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
图像超分辨重建算法综述;史振威等;数据采集与处理(01);全文 *

Also Published As

Publication number Publication date
CN113610709A (zh) 2021-11-05

Similar Documents

Publication Publication Date Title
CN110163344B (zh) 神经网络训练方法、装置、设备和存储介质
Ergen et al. Online training of LSTM networks in distributed systems for variable length data sequences
WO2019238029A1 (zh) 卷积神经网络系统和卷积神经网络量化的方法
US8904149B2 (en) Parallelization of online learning algorithms
CN108763398B (zh) 数据库配置参数处理方法、装置、计算机设备和存储介质
CN110929865B (zh) 网络量化方法、业务处理方法及相关产品
WO2019034129A1 (zh) 神经网络结构的生成方法和装置、电子设备、存储介质
TWI796286B (zh) 一種機器學習系統的訓練方法和訓練系統
CN110489622B (zh) 对象信息的分享方法、装置、计算机设备和存储介质
CN111176853A (zh) 数据量化方法、装置、计算机设备和存储介质
CN112149797A (zh) 神经网络结构优化方法和装置、电子设备
CN110807529A (zh) 一种机器学习模型的训练方法、装置、设备及存储介质
CN113610709B (zh) 模型量化方法、装置、电子设备和计算机可读存储介质
US20220044109A1 (en) Quantization-aware training of quantized neural networks
CN113392229A (zh) 供应链关系构建和预测方法、装置、设备、存储介质
US11475352B2 (en) Quantizing machine learning models with balanced resolution via damped encoding
CN112016702A (zh) 基于迁移学习的医疗数据处理方法、装置、设备及介质
CN114638823B (zh) 基于注意力机制序列模型的全切片图像分类方法及装置
TWI769875B (zh) 深度學習網路裝置、其使用的記憶體存取方法與非揮發性儲存媒介
CN115952834A (zh) 应用于Transformer的批量层归一化方法及装置
CN115705486A (zh) 量化模型的训练方法、装置、电子设备和可读存储介质
CN115688569A (zh) 增益调整方法、装置、计算机设备和存储介质
CN113449863A (zh) 一种基于查表的神经网络量化方法
CN113239171A (zh) 对话管理系统更新方法、装置、计算机设备及存储介质
CN111722594B (zh) 工业过程监测方法、装置、设备和可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant