1. 引言
现如今,信息技术发展迅猛,处理器的性能已成为衡量计算系统能力的核心指标之一。随着大数据、人工智能、物联网等技术的兴起,对处理器性能的要求也愈来愈高。随着处理器性能的不断提高,处理器的设计和评估变得越来越复杂[1]。对处理器性能进行预测,能够帮助硬件设计师优化设计方案,同时也为软件开发者提供系统性能的预期,从而更好地进行软件优化和资源分配。然而,不可靠的预测结果和无法解释的预测过程会导致重大误差。因此,建立一个可靠、精准而且能够深刻洞察各种因素对处理器性能影响的模型有重要意义。
在目前的研究中,处理器性能预测模型大致分为三类:黑盒模型、白盒模型和灰盒模型[2] [3]。黑盒模型是一种基于历史数据的训练方法,它不需要对系统机制有深入的了解[4],在多个领域都有着广泛的应用。在经过大量数据的训练之后,黑盒模型一般具有较高的准确率[5]。常见的模型有神经网络、支持向量机和随机森林等。maurya [6]等人使用人工神经网络(ann)模型将处理器性能特征输入到ann模型中,然后得到权重调整后的性能预测结果。在复杂系统的状态预测与评估中,人们更希望构建推理过程透明、可被理解的模型,这些模型可以进一步追溯原因[7]。目前,黑盒模型被大量使用,但由于其可解释性匮乏的缺陷,很多场景下难以满足复杂系统的要求。
第二类是白盒模型,例如线性回归、决策树[8] [9],它们不依赖于观测数据,而是基于系统底层的运行机制来构建模型。相比黑盒模型,白盒模型的决策过程和内部工作机制更容易被理解,具有较高的可解释性。然而由于模型内部结构复杂和运行环境恶劣,模型的精度有限。li [1]等人提出了一种基于回归树的预测建模方法,该方法实现了对处理器性能的有效预测。
灰盒模型指的是那些具有一定的可解释性,但又不像白盒模型那样完全透明的模型,它介于黑盒模型与白盒模型之间,将两者的优点进行结合,在准确性和可解释性之间取得了平衡[10] [11]。灰盒模型基于系统机理构建模型,有效地融合了数据与系统底层。常使用的灰盒模型有证据推理(evidence reasoning, er) [12]、置信规则库(belief rule base, brb) [13]。陈[14]使用了er算法对输入属性进行评估,随后将选取的属性输入到分层brb中进行性能预测。
处理器参数的不确定性给传统的建模方法带来了挑战。黑盒模型虽然精度较高但模型是不可解释的,无法为预测结果提供有效支持,而白盒模型受限于模型结构与外部环境,无法提供高精度的预测结果。基于以上讨论,灰盒模型是处理器性能预测的最佳选择,它可以同时兼顾准确性与可解释性。
cao等人在[2]中对可解释性进行了定义:“可解释性指的是模型以可理解的方式表达系统行为的能力。”可解释性对模型提出了简单性与可追溯性的要求,但纯粹的简单模型或难以达到较高的精度。yang等人在2006年提出的置信规则库(brb)是一种基于if-then规则的可解释推理模型。brb可以有效结合定性知识如专家知识、内部机理信息,和定量数据如输入样本,进而建立输入与输出之间的对应关系。在复杂的系统中,专家知识是洞察内部机制并进行决策判断的关键所在,专家知识的存在可以增强模型的说服力。同时,brb模型的推理过程是透明可解释的,模型的参数也可以依据专家知识以及历史数据进行调整[15]。brb目前已广泛应用于医疗决策[16]、故障诊断[17]、设备健康状态评估[18]等领域。
然而,当输入属性过多时,brb会出现规则组合爆炸的问题,影响模型的精度。近似置信规则库(abrb) [19]是一种单输入置信规则库,它区别于传统brb中属性的笛卡尔积组合,它的每条规则中只有一个属性,规则数量呈线性增长,很好地解决了组合爆炸问题。因此,本文提出了一种基于近似置信规则库的处理器性能预测模型。
本文其余部分的组织如下。第二部分介绍了置信规则库模型,构建了用于本研究的近似置信规则库模型,阐述了模型的推理过程与优化过程。第三部分结合具体的案例实验证明了本文所构建的模型的有效性。最后对本文所进行的研究进行了总结。
2. 预测模型
2.1. brb模型
置信规则库(brb)模型由一系列置信规则组成,规则库中第
条规则可使用公式(1)表示:
(1)
为输入属性的参考值。
是第
条规则的权重。
表示第
个前提属性的权重。
表示规则的数目,
表示输入指标的个数。
表示评估结果,
表示第
个评估等级的置信度。
表示规则的总数量,chang等人采用
来计算合取假设下brb的规则数量,其中
表示属性的个数,
表示第
个属性参考值个数。可以看出,规则数目随着属性和参考值的数量呈指数增长,当处理器的输入指标较多时,预测精度会受规则组合爆炸的影响。为了解决这个问题,本文基于近似置信规则库进行处理器性能的预测。在该模型中,规则数量由
计算,
的增长过程是线性的。
2.2. abrb模型
abrb模型中第
个属性的第
条规则可以构造为公式(2):
(2)
abrb规则的构造方式不同于brb,abrb模型中每条规则中只包含一个属性,规则与属性在数目上呈线性关系,这很好地解决了brb规则组合爆炸的痛点。相较于brb,abrb中参与优化的参数也大大减少了,降低了模型计算的复杂度。
2.3. 模型推理
brb的推理过程基于证据推理(er)算法。er算法的主要特点是创建一个广义的组合概率推理过程,将置信度转化为残差概率质量。透明可靠的er算法描述如下:
步骤1. 当输入信息到来时,将不同形式的输入转化为置信分布,如公式(3)。
(3)
为个体匹配度,指每个输入的历史数据与所有前提属性的匹配程度,其计算一般采用基于效用值的转化法。计算方法如公式(4):
(4)
步骤2. 计算规则的激活权值,激活权重指由输入决定的规则库中所有规则的激活程度的大小[20]。计算方法如公式(5):
(5)
步骤3. 依据公式(6),使用er解析推出结果置信度
(6)
步骤4. 将输出结果使用如公式(7)的置信分布表示
(7)
其中
表示系统真实的输入向量,
表示最终期望效用。
2.4. 模型优化
在置信规则库模型中,模型参数全部由专家给定,带有较强的主观不确定性。为了抵消这种不确定性对模型精度的影响,可以采用优化算法对模型进行训练,调整初始参数。投影协方差矩阵自适应进化策略(p-cma-es)优化算法是一种性能强大的群智能优化算法,该算法有着较高的收敛速度和较强的鲁棒性。该算法在初始时生成初始种群,在约束条件下不断生成子种群迭代寻找最优解,直到达到预定的训练次数或精度,它在高维非线性优化方面的表现良好,因此本文采用该算法来对模型初始参数进行调整。为优化模型集成的剩余参数,包括规则权重、置信度和属性权重,目标函数可使用公式(8)表示:
(8)
式中,mse (·)为处理器性能评估系统预测值与真实值的综合误差,其可表示为公式(9):
(9)
其中n为训练样本的条数,
为abrb-i模型的预测值,
为真实的处理器的相对性能值。模型参数的具体优化流程如图1所示:
figure 1. step diagram of p-cma-es
图1. p-cma-es优化步骤图
3. 案例研究
本文主要目的是构建用于处理器性能预测的近似可解释brb模型,为了验证所提方法的有效性,采用uci数据库中的计算机硬件数据作为实验数据。以处理器周期时间和内存大小为cpu性能指标数据。该数据集共包含209个实例,共有7个属性。
3.1. 数据分析
在所选用的数据集中,数据因子的单位并不相同,特征之间可能存在较大差异,这会导致梯度的更新方向不稳定,使得模型很难找到全局最优解,从而降低学习效率。另外,由于不同特征对模型的贡献度不同,模型可能会偏向于那些数值范围较大的特征,而忽略那些数值范围较小但可能对预测结果有重要影响的特征,导致模型性能下降。因此需要对数据进行归一化,将数据范围控制在(−1, 1)。归一化公式如式(10)所示:
(10)
处理器作为计算机的核心部件,其性能受内存、高速缓存等因素的影响较大。针对各指标与输出性能的关系进行趋势分析,如图2所示。由图可以看出,内存、高速缓存以及通道与处理器性能存在正相关关系,机器周期与处理器性能呈负相关关系。根据实际情况,缓存越大,数据的访问速度越快,进而系统的性能更加优越。随着计算机通道数的增多,能并发执行更多的程序,性能也会更好。另外,机器周期越短,单位时间内完成的操作就越多,性能也更加优越。以上种种因素与处理器的性能息息相关,充分挖掘各指标与处理器性能之间的关系可进一步提升实验的可解释性。
figure 2. trend charts of indicators
图2. 指标趋势图
3.2. 模型构建
参考点表示特征的划分程度,它的数量也决定了预测模型的复杂性和准确性。本实验通过对属性进行数据分析,选取了四个参考点来描述指标等级,分别是“较差(l)”,“一般(m)”,“良好(h)”,“较好(vh)”。总共定义了24条置信规则。表1和表2给出了输入属性与输出结果的参考值。属性参考值与当前输入数据的匹配度之和应介于0~1之间。在实验中初始时将规则权重和属性权重全部设为1。模型的初始参数由专家先验知识给定,由于专家知识存在不确定性和无知性,使用初始的近似置信规则库模型对处理器进行性能预测时,会受到多种因素的影响,降低模型的精度,因此要对专家给定的参数进行优化。
table 1. input attribute reference values
表1. 输入属性参考值
参考值 |
l |
m |
h |
vh |
x1 |
−1 |
0.9 |
0.7 |
1 |
x2 |
−1 |
0.9 |
0.6 |
1 |
x3 |
−1 |
0.9 |
0.6 |
1 |
x4 |
−1 |
0.9 |
0.7 |
1 |
x5 |
−1 |
0.9 |
0.6 |
1 |
x6 |
−1 |
0.9 |
0.7 |
1 |
table 2. reference values for output results
表2. 输出结果参考值
参考值 |
l |
m |
h |
vh |
y |
−1 |
−0.95 |
−0.8 |
1 |
3.3. 实验结果分析
为了进一步量化本研究方法的有效性,本文设计了对比实验。选择了几个经典的机器学习模型与abrb形成对比实验,分别是bpnn、elm和rf。对于bp神经网络,设置隐藏层节点数为10,迭代次数为400轮。对于随机森林,共设置了20棵决策树。对于elm,设置隐藏层节点数为10。所有方法使用相同的训练集和测试集,重复10轮实验,训练集是209个数据,测试集是100个数据。
采用不同方法预测处理器性能的实验结果对比图如图3所示。不同算法经过10轮实验后的平均mse如表3所示。从图3和表3可以看出,与其他机器学习算法相比,abrb模型有着较高的精度。经过多轮实验,abrb模型具有良好的稳定性,精度保持0.0030左右。
table 3. comparison of abrb accuracy with other machine learning algorithms
表3. abrb与其他机器学习模型的精度对比
实验模型 |
mse |
abrb |
0.0030 |
bpnn |
0.0035 |
rf |
0.0069 |
elm |
0.0161 |
4. 总结
本文介绍了三种现有的处理器性能预测的研究方法,经过分析与对比之后提出了一种基于近似置信
figure 3. comparison of abrb with other machine learning algorithms in terms of prediction results and actual values
图3. abrb与其他机器学习算法预测结果及实际值的对比图
规则库的预测方法。该模型的推理过程中采用了透明推理引擎——er算法。构建模型时采用单属性方式建立规则,消除了属性过多时引起的规则组合爆炸的弊端。通过p-cma-es算法对初始参数进行了优化,减少了专家知识的主观不确定性。并使用uci公开数据集进行实验,并与其他机器学习方法对比,验证了本文所提出的方法的适用性和有效性。