专用加速器中基于概率图模型的多种近似技术误差评估方法
文献发布时间:2023-06-19 10:58:46
技术领域
本发明涉及专用加速器中多种近似技术的快速评估方法以及概率图模型的建立技术领域,特别是涉及一种专用加速器中基于概率图模型的多种近似技术误差评估方法。
背景技术
能源的功耗问题推动了新的近似技术的出现,通过降低图像处理、数据挖掘、模式识别等应用的输出结果质量,近似计算、存储和通信等方面都能在功耗和性能上得到大大提高,以便设计用于具有抗错能力的应用加速器。这种近似技术可以应用于指定应用加速器的不同组件,但在不同的层次上具有不同的质量/功耗(或性能)权衡。
为了在可接受的输出质量内最大限度地节省功率或提高性能,近似加速器的误差评估对于选择合适的近似技术是至关重要的。有两种方法常被用来评估近似技术对最终输出质量的误差影响。首先是蒙特卡罗仿真,使用大量的模拟器来获得精确的统计结果,在近似体系结构中常被用来捕捉应用程序精确的执行动态,该方法提供了可靠的评估,但也耗费大量的时间。另一种是通过快速分析建模来计算底层近似架构的应用输出质量,其用几个公式就能快速计算出近似配置的输出质量,但这种分析建模的方法通常局限于特定部件,例如近似加法器或乘法器只能用于计算部件、近似SRAM/DRAM/SSD/PCM只能用于存储部件,近似数据传输只能用于通信部件。特别是对于特定的近似组件,还存在精度/性能的权衡。因此,该方法在从局部组件直接扩展到整个体系结构时速度快,但难度大。
从以上分析来看,分析建模比蒙特卡罗仿真更快,并且更适合于近似加速器的早期设计,而概率论的方法是实现分析建模很好的一种选择。最近虽然又提出了几种近似加法器或精确标度的概率方法用于误差评估,但多种近似技术的混合使用可以更好地实现精确的质量/功耗权衡,目前却尚未被考虑。
发明内容
鉴于以上所述现有技术存在的不足,本发明的目的在于提供一种基于概率图模型的多种近似技术误差评估方法,通过概率图模型对多种近似技术进行快速统一的评估,以选择最佳的近似技术组合,在保证输出质量的前提下,实现功耗节省和性能提高的最大化。
为实现上述目的及其他相关目的,本发明提供一种基于概率图模型的多种近似技术误差评估方法,所述方法包括以下步骤:
步骤一:根据预先定义的映射规则,将指定应用的数据流图转化为概率图模型的贝叶斯网络,其中,所述数据流图可通过开源工具LLVM编译应用的C/C++源码获得,且所述贝叶斯网络包括两种状态的近似配置节点和三种状态的输入节点;
步骤二:根据贝叶斯网络结构,基于结构学习任务,建立高效精确的依赖子图,即贝叶斯表达式,同时根据其父节点的信息及不同近似技术的配置,基于节点参数学习,确定每个节点的条件概率表;
根据变量消元推断算法,基于贝叶斯网络和条件概率表,精确求解所需边缘概率,输出误差分布情况,其中该算法对比蒙特卡罗仿真,大大降少了时间的消耗,更适合近似加速器的早期设计。
本发明的优选实施方式中,所述映射规则包括:
(1)数据流图中的每个输入都被转换为具有{P(精确)、A(近似)、U(不可接受)}三种状态的X型节点,以跟踪错误传播,例如,与输入变量a有关的Xvar_a节点;
(2)数据流图中的每个操作符变成一个相应的变量节点X1+,其拥有一个具有三种状态{P,A,U}的计算结果和一个具有两种状态{P,A}的近似配置节点X*1+。例如,{X1<<,X*1<<},{X1>>,X*1>>}是左移操作符和右移操作符的节点对。其中,数字1表示相同操作的计数,用于在贝叶斯网络中定位,同时保持输入和操作符变量间边的连接,另外还添加了从操作符配置节点到操作符变量节点的粗体新边;
(3)插入非计算类型近似节点,并为其构建有向边连接到每个输入,不同的输入和常量通常分开处理。
本发明的优选实施方式中,所述结构学习任务包括:
针对已知贝叶斯网络结构和应用的信息提取,将数据流图转换为更加精确的贝叶斯表达式,为进一步的边缘概率推断提供最基本最精确的图信息。本发明的优选实施方式中,所述节点参数学习任务包括:
首先,节点参数主要是指结构图中每个节点对应的条件概率表英文名称为Conditional Probability Table,简称CPT,对于X*型的根节点,其条件概率表只有两种情况,如果它被配置为P(精确),就X*1<<而言,则P(X*1<<=P)=1,P(X*1<<=A)=0,如果选择近似加法,则P(X*1+=P)=0,P(X*1+=A)=1;而对于其余的X型节点的条件概率表,则需要依赖其父节点确定。
本发明的优选实施方式中,所述变量消元推断算法包括:
变量消元算法,英文名称为Variable Elimination,简称VE,可对概率图模型中的一系列分解因子进行逐一归并和加和,其包含四个输入:所有节点的条件概率表,观察节点列表X和查询节点列表Y,其中Y0是Y对应的观察值,以及消元顺序;输出是边缘概率P(X|Y=Y0),其中,该算法采用概率图模型依赖的拓扑顺序作为消元顺序。
与现有技术相比,本发明具有以下优点及效果:
1、本发明充分考虑了在任意部件上多种近似技术的混合使用,可以更好的解决的质量/功率权衡问题,在保证输出质量的前提下,实现功耗节省和性能提高的最大化。
2、本发明采用概率图模型对多种近似技术进行统一评估,在将特定的错误传播计算转换为一般的概率图模型问题后,可以通过概率图模型的表达、学习和推断三个核心部分来评估各种类型的近似技术,以便选择最佳的近似技术组合。
附图说明
图1是本发明一种专用加速器中基于概率图模型的多种近似技术误差评估方法的工作流程示意图;
图2是本发明一种专用加速器中基于概率图模型的多种近似技术误差评估方法的3x3高斯核数据流图;
图3是本发明一种专用加速器中基于概率图模型的多种近似技术误差评估方法的贝叶斯网络映射结果示意图;
图4是本发明一种专用加速器中基于概率图模型的多种近似技术误差评估方法的近似加法器GeAr的PMF实例图;
具体实施方式
为了使本发明实现的技术手段、创作特征与功效易于明白理解,以下结合图示说明具体实施方式,本领域技术人员可由本说明书所描述的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
如图1所示,本发明实施例提供一种基于概率图模型的多种近似技术误差评估方法,所述方法包括:
根据预先定义的映射规则,将指定应用的数据流图转化为概率图模型的贝叶斯网络,其中,所述数据流图可通过开源工具LLVM编译应用的C/C++源码获得,且所述贝叶斯网络包括两种状态的近似配置节点和三种状态的输入节点;
需要说明的是,在这里,本发明进一步考虑在可控输出质量内位翻转产生的可接受近似值,将输入节点X的状态扩展到{P(精确)、A(近似)、U(不可接受)},以跟踪错误传播,并用误差距离(E D)作为决定了节点状态的度量标准,公式如下所示:
其中,阈值按要求设定,如果实际值与近似值间的误差距离是0,则节点状态为P;如果误差距离小于阈值,则节点状态为A;否则节点状态为U。另外,不同于输入节点状态,近似配置节点X*遵从典型伯努利分布并有两种状态{P(精确),A(近似)},用来配置近似技术和方法,公式如下所示:
映射过程如图2和图3所示,其中,图2为3x3高斯核的数据流图,输入变量a,b,c,d,e,f,g,h,i从数据存储器中加载获得,1,2,4作为指令的一部分,是特定应用程序对应的常数,对于不同应用该常数不相同。请注意,为了良好的可读性和清晰性,图3只显示了图2中虚线区域的映射结果,所述映射规则包括:首先,数据流图中的每个输入都被转换为具有{P(精确)、A(近似)、U(不可接受)}三种状态的X型节点,以跟踪错误传播,与输入变量a有关的节点用Xvar_a节点表示;其次,数据流图中的每个操作符变成一个相应的变量节点X1+,其拥有一个具有三种状态{P,A,U}的计算结果和一个具有两种状态{P,A}的近似配置节点X*1+。{X1<<,X*1<<},{X1>>,X*1>>}表示左移操作符和右移操作符的节点对,其中数字1表示相同操作的计数,用于在贝叶斯网络中定位,同时保持输入和操作符变量间边的连接,另外还添加了从操作符配置节点到操作符变量节点的粗体新边;最后,插入非计算类型近似节点,并为其构建有向边连接到每个输入,不同的输入和常量通常分开处理。
根据贝叶斯网络结构,基于结构学习任务,建立高效精确的依赖子图,即贝叶斯表达式,同时根据其父节点的信息及不同近似技术的配置,基于节点参数学习,确定每个节点的条件概率表;
如图3所示,本发明实施例需要将指定应用的数据流图转换为精确的贝叶斯表达式,以供进一步推断,并且除了概率图结构外,还需要节点参数来完成推断和计算边缘概率,而每个节点(X或X*)的条件概率表必须根据其父节点和已配置的近似值确定。
本发明的优选实施方式中,对于X*型的根节点,其条件概率表只有两种情况,如果它被配置为P(精确),就X*1<<而言,则P(X*1<<=P)=1,P(X*1<<=A)=0;如果根据近似加法器的配置,则P(X*1+=P)=0,P(X*1+=A)=1;而对于其余的X型节点的条件概率表,则需要依赖其父节点确定。
同时考虑到近似技术的多样性,可以通过概率质量函数(Probability MassFunction,简称PMF)更详细地对每种给定的近似技术进行建模。PMF表示一个离散随机变量X等于确定值x的概率P,可表示为pX(x)=P(X=x)。如图4所示,如果两个操作数都是精确的,则8位近似加法器GeAr的PMF可以给出相应的CPT。这种机械建模可以通过快速的理论分析完成,而得到的这些近似技术的模型被存储在一个近似库中,可重复利用。
示例性的,通过多个近似操作数的结合,可以尽可能地完成条件概率表的计算,这个程只需要一次就可以通过近似库在同一操作符节点中重用多次。
根据变量消元推断算法,基于贝叶斯网络和条件概率表,精确求解所需边缘概率,输出误差分布情况,其中该算法对比蒙特卡罗仿真,大大降少了时间的消耗,更适合近似加速器的早期设计。
本发明实施例中,使用精确的VE算法作为基本推断算法,通过对概率图模型中的一系列分解因子进行逐一归并和加和,实现精确求解。其包含四个输入:所有节点的条件概率表,观察节点列表X和查询节点列表Y,其中Y0是Y对应的观察值,以及消元顺序;输出是边缘概率P(X|Y=Y0),其中VE的复杂性可以通过数值相乘和数值相加的次数衡量,并且本发明采用概率图模型依赖的拓扑顺序作为消元顺序。
上述实施例仅例示性说明本发明的原理及其应用过程,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修改。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
- 专用加速器中基于概率图模型的多种近似技术误差评估方法
- 一种快速的基于Ct值的从多种近似种中鉴别褐飞虱的引物、试剂盒及方法