在过去的25年中,我们目睹了机器学习在编译器领域的广泛应用。选择和相位订购问题。但是,有限的作品已在最先进的编译器(即LLVM)上游,以将前者无缝集成到编译器的优化管道中,以便由用户容易部署。 MLGO是此类项目的第一个项目之一,它仅努力使用强化学习使用基于ML的INLINER来减少二进制的代码大小。本文介绍了mlgoperf;第一个端到端框架,能够使用LLVM的ML Inliner优化性能。它采用二级ML模型来生成用于训练重新定位的增强学习代理的奖励,该辅助剂以前由MLGO用作主要模型。它通过预测分析功能的函数的速度加速来做到这一点,并为主要模型提供快速训练框架,否则将是不切实际的。实验结果表明,MLGOPERF在LLVM在O3时的优化方面的优化分别为SPEC CPU2006和CBENCH基准分别获得了1.8%和2.2%。此外,提出的方法为我们的基准测试带来了自动点守则区域的26%,可以将其转化为额外的3.7%速度值。
translated by 谷歌翻译
GPU编译器是复杂的软件程序,具有许多特定于目标硬件的优化。这些优化通常由使用时间和资源密集型流程的编译器专家手工设计的启发式。在本文中,我们开发了一种GPU编译器自动调节框架,使用禁止策略的深度加强学习来生成提高图形应用程序帧速率的启发式。此外,我们展示了这些学习的启发式的恢复能力,通过分析他们在没有再培训的代码检查中的一年内的稳定性来频繁编译更新。我们表明,我们的机器基于机器的学习编译器自动调节框架匹配或超过98%的图形基准的帧速率,平均隆起为1.6%,高达15.8%。
translated by 谷歌翻译
计算机架构和系统已优化了很长时间,以便高效执行机器学习(ML)模型。现在,是时候重新考虑ML和系统之间的关系,并让ML转换计算机架构和系统的设计方式。这有一个双重含义:改善设计师的生产力,以及完成良性周期。在这篇论文中,我们对应用ML进行计算机架构和系统设计的工作进行了全面的审查。首先,我们考虑ML技术在架构/系统设计中的典型作用,即快速预测建模或设计方法,我们执行高级分类学。然后,我们总结了通过ML技术解决的计算机架构/系统设计中的常见问题,并且所用典型的ML技术来解决它们中的每一个。除了在狭义中强调计算机架构外,我们采用数据中心可被认为是仓库规模计算机的概念;粗略的计算机系统中提供粗略讨论,例如代码生成和编译器;我们还注意ML技术如何帮助和改造设计自动化。我们进一步提供了对机会和潜在方向的未来愿景,并设想应用ML的计算机架构和系统将在社区中蓬勃发展。
translated by 谷歌翻译
This paper surveys the recent attempts, both from the machine learning and operations research communities, at leveraging machine learning to solve combinatorial optimization problems. Given the hard nature of these problems, state-of-the-art algorithms rely on handcrafted heuristics for making decisions that are otherwise too expensive to compute or mathematically not well defined. Thus, machine learning looks like a natural candidate to make such decisions in a more principled and optimized way. We advocate for pushing further the integration of machine learning and combinatorial optimization and detail a methodology to do so. A main point of the paper is seeing generic optimization problems as data points and inquiring what is the relevant distribution of problems to use for learning on a given task.
translated by 谷歌翻译
过去的研究提出了许多硬件预取技术,其中大多数依赖于利用一种特定类型的程序上下文信息(例如,程序计数器,Cacheline地址)来预测未来的存储器访问。这些技术完全忽略了整个系统上的预取器的不良影响(例如,内存带宽使用),或将系统级反馈结合为返回为系统 - 不知预取算法。我们表明,由于其固有的无法在预取帐户中占用多种不同类型的程序上下文和系统级反馈信息,因此在广泛的工作负载和系统配置中往往会在广泛的工作负载和系统配置中丢失其性能效益。在本文中,我们进行了设计一个整体预取算法的案例,该算法学习使用多种不同类型的程序上下文和系统级反馈信息来预取。为此,我们提出了Pythia,它将预取器制定为钢筋学习代理。对于每种需求请求,Pythia会观察多种不同类型的程序上下文信息以进行预取决定。对于每个预取决定,Pythia接收数字奖励,该奖励评估当前内存带宽使用情况下的预取质量。 Pythia使用此奖励来加强程序上下文信息和预取决定之间的相关性,以在将来生成高度准确,及时和系统感知的预取请求。我们使用仿真和硬件综合的广泛评估表明,Pythia在各种工作负载和系统配置中优于多种最先进的预取器,同时在桌面类处理器中产生的1.03%的面积开销,并且工作负载中没有软件更改。 Pythia的源代码可以从https://github.com/cmu-safari/pythia自由下载。
translated by 谷歌翻译
算法配置(AC)与对参数化算法最合适的参数配置的自动搜索有关。目前,文献中提出了各种各样的交流问题变体和方法。现有评论没有考虑到AC问题的所有衍生物,也没有提供完整的分类计划。为此,我们引入分类法以分别描述配置方法的交流问题和特征。我们回顾了分类法的镜头中现有的AC文献,概述相关的配置方法的设计选择,对比方法和问题变体相互对立,并描述行业中的AC状态。最后,我们的评论为研究人员和从业人员提供了AC领域的未来研究方向。
translated by 谷歌翻译
软件测试活动旨在找到软件产品的可能缺陷,并确保该产品满足其预期要求。一些软件测试接近的方法缺乏自动化或部分自动化,这增加了测试时间和整体软件测试成本。最近,增强学习(RL)已成功地用于复杂的测试任务中,例如游戏测试,回归测试和测试案例优先级,以自动化该过程并提供持续的适应。从业者可以通过从头开始实现RL算法或使用RL框架来使用RL。开发人员已广泛使用这些框架来解决包括软件测试在内的各个领域中的问题。但是,据我们所知,尚无研究从经验上评估RL框架中实用算法的有效性和性能。在本文中,我们凭经验研究了精心选择的RL算法在两个重要的软件测试任务上的应用:在连续集成(CI)和游戏测试的上下文中测试案例的优先级。对于游戏测试任务,我们在简单游戏上进行实验,并使用RL算法探索游戏以检测错误。结果表明,一些选定的RL框架,例如Tensorforce优于文献的最新方法。为了确定测试用例的优先级,我们在CI环境上运行实验,其中使用来自不同框架的RL算法来对测试用例进行排名。我们的结果表明,在某些情况下,预实算算法之间的性能差异很大,激励了进一步的研究。此外,建议对希望选择RL框架的研究人员进行一些基准问题的经验评估,以确保RL算法按预期执行。
translated by 谷歌翻译
代理,模拟程序行为的模型,形成各种开发工作流程的基础。我们研究了三种基于代理的设计模式,在大规模CPU模拟器上进行评估。通过替代汇编,程序员开发了一种模拟程序的代理,以模仿程序的行为部署到最终用户代替原始程序。代理编译加速了CPU模拟器的研究1.6美元。通过代理适应,程序员开发一个程序的代理,然后重新培训在不同的任务上代理。代理适应将模拟器的错误减少到50美元\%$。通过代理优化,程序员开发了一个程序的代理,优化代理的输入参数,然后将优化的输入参数插回原始程序。替代优化查找模拟参数,与专业集参数引起的错误相比,将模拟器的错误减少5 \%$ 5 \%。在本文中,我们将这种基于代理的设计模式的分类形式正规化。我们进一步描述了所有三种设计模式共有的编程方法。我们的工作基于与计划代理人的编程为基础的新兴工作流程。
translated by 谷歌翻译
大多数机器学习算法由一个或多个超参数配置,必须仔细选择并且通常会影响性能。为避免耗时和不可递销的手动试验和错误过程来查找性能良好的超参数配置,可以采用各种自动超参数优化(HPO)方法,例如,基于监督机器学习的重新采样误差估计。本文介绍了HPO后,本文审查了重要的HPO方法,如网格或随机搜索,进化算法,贝叶斯优化,超带和赛车。它给出了关于进行HPO的重要选择的实用建议,包括HPO算法本身,性能评估,如何将HPO与ML管道,运行时改进和并行化结合起来。这项工作伴随着附录,其中包含关于R和Python的特定软件包的信息,以及用于特定学习算法的信息和推荐的超参数搜索空间。我们还提供笔记本电脑,这些笔记本展示了这项工作的概念作为补充文件。
translated by 谷歌翻译
蒙特卡洛树搜索(MCT)是设计游戏机器人或解决顺序决策问题的强大方法。该方法依赖于平衡探索和开发的智能树搜索。MCT以模拟的形式进行随机抽样,并存储动作的统计数据,以在每个随后的迭代中做出更有教育的选择。然而,该方法已成为组合游戏的最新技术,但是,在更复杂的游戏(例如那些具有较高的分支因素或实时系列的游戏)以及各种实用领域(例如,运输,日程安排或安全性)有效的MCT应用程序通常需要其与问题有关的修改或与其他技术集成。这种特定领域的修改和混合方法是本调查的主要重点。最后一项主要的MCT调查已于2012年发布。自发布以来出现的贡献特别感兴趣。
translated by 谷歌翻译
背景:机器学习(ML)可以实现有效的自动测试生成。目的:我们表征了新兴研究,检查测试实践,研究人员目标,应用的ML技术,评估和挑战。方法:我们对97个出版物的样本进行系统文献综述。结果:ML生成系统,GUI,单位,性能和组合测试的输入或改善现有生成方法的性能。 ML还用于生成测试判决,基于属性的和预期的输出序列。经常基于神经网络和强化学习的监督学习通常是基于Q学习的 - 很普遍,并且某些出版物还采用了无监督或半监督的学习。使用传统的测试指标和与ML相关的指标(例如准确性)评估(半/非 - )监督方法,而经常使用与奖励功能相关的测试指标来评估强化学习。结论:工作到尽头表现出巨大的希望,但是在培训数据,再探术,可伸缩性,评估复杂性,所采用的ML算法以及如何应用 - 基准和可复制性方面存在公开挑战。我们的发现可以作为该领域研究人员的路线图和灵感。
translated by 谷歌翻译
深入学习的强化学习(RL)的结合导致了一系列令人印象深刻的壮举,许多相信(深)RL提供了一般能力的代理。然而,RL代理商的成功往往对培训过程中的设计选择非常敏感,这可能需要繁琐和易于易于的手动调整。这使得利用RL对新问题充满挑战,同时也限制了其全部潜力。在许多其他机器学习领域,AutomL已经示出了可以自动化这样的设计选择,并且在应用于RL时也会产生有希望的初始结果。然而,自动化强化学习(AutorL)不仅涉及Automl的标准应用,而且还包括RL独特的额外挑战,其自然地产生了不同的方法。因此,Autorl已成为RL中的一个重要研究领域,提供来自RNA设计的各种应用中的承诺,以便玩游戏等游戏。鉴于RL中考虑的方法和环境的多样性,在不同的子领域进行了大部分研究,从Meta学习到进化。在这项调查中,我们寻求统一自动的领域,我们提供常见的分类法,详细讨论每个区域并对研究人员来说是一个兴趣的开放问题。
translated by 谷歌翻译
背景信息:在过去几年中,机器学习(ML)一直是许多创新的核心。然而,包括在所谓的“安全关键”系统中,例如汽车或航空的系统已经被证明是非常具有挑战性的,因为ML的范式转变为ML带来完全改变传统认证方法。目的:本文旨在阐明与ML为基础的安全关键系统认证有关的挑战,以及文献中提出的解决方案,以解决它们,回答问题的问题如何证明基于机器学习的安全关键系统?'方法:我们开展2015年至2020年至2020年之间发布的研究论文的系统文献综述(SLR),涵盖了与ML系统认证有关的主题。总共确定了217篇论文涵盖了主题,被认为是ML认证的主要支柱:鲁棒性,不确定性,解释性,验证,安全强化学习和直接认证。我们分析了每个子场的主要趋势和问题,并提取了提取的论文的总结。结果:单反结果突出了社区对该主题的热情,以及在数据集和模型类型方面缺乏多样性。它还强调需要进一步发展学术界和行业之间的联系,以加深域名研究。最后,它还说明了必须在上面提到的主要支柱之间建立连接的必要性,这些主要柱主要主要研究。结论:我们强调了目前部署的努力,以实现ML基于ML的软件系统,并讨论了一些未来的研究方向。
translated by 谷歌翻译
DB-BERT是一种数据库调整工具,可利用通过手册和其他相关文本文档的自然语言分析获得的信息。它使用文本来识别数据库系统参数来调谐以及建议的参数值。 DB-BERT适用于文本分析的大型预先培训的语言模型(具体地,BERT模型)。在初始训练阶段,它是微调模型权重,以便将自然语言提示翻译成推荐的设置。在运行时,DB-BERT学习汇总,适应和优先级提示,以实现特定数据库系统和基准测试的最佳性能。两个阶段都是迭代和使用加强学习,以指导调整设置的选择来评估(惩罚数据库系统拒绝的设置,同时有助于提高性能的设置)。在我们的实验中,我们利用数百个关于数据库调整的文本文档作为DB-BERT的输入。我们将DB-BERT与各种基线进行比较,考虑不同的基准(TPC-C和TPC-H),指标(吞吐量和运行时间)以及数据库系统(Postgres和MySQL)。在所有情况下,DB-BERT在所有比较方法中找到最佳参数设置。 DB-BERT的代码在HTTPS://itrummer.github.io/dbbert/在线获取。
translated by 谷歌翻译
操作系统包括许多启发式算法,旨在提高整体存储性能和吞吐量。由于此类启发式is不能适用于所有条件和工作负载,因此系统设计人员诉诸用户对用户的众多可调参数揭示 - 基本上负担用户不断优化自己的存储系统和应用程序。存储系统通常负责I / O重型应用中的大多数延迟,因此即使是小的总延迟改善也可能很重要。机器学习(ml)技术承诺学习模式,从它们概括,并实现适应更改工作负载的最佳解决方案。我们提出ML解决方案成为OSS中的一流组件,并更换了动态优化存储系统的手动启发式。在本文中,我们描述了我们所提出的ML架构,称为KML。我们开发了一个原型KML体系结构,并将其应用于两个问题:最佳readAhead和NFS读取大小值。我们的实验表明,KML消耗了很少的操作系统资源,延迟可忽略不计,但可以学习可以分别为两种用例的2.3倍或15倍提高I / O吞吐量的模式 - 即使是复杂的,也不是为了复杂 - 在不同的存储设备上同时运行混合工作负载。
translated by 谷歌翻译
查询优化器是每个数据库系统中的性能关键组件。由于它们的复杂性,优化仪参加专家月份才能编写和多年来优化。在这项工作中,我们首次演示了在不从专家优化器中学习而不学习的情况下进行优化查询是可能的,有效的。我们展示了Balsa,这是一个由深度加强学习建造的查询优化器。Balsa首先从简单的环境不可行的模拟器中了解基本知识,然后在真实执行中安全学习。在加入秩序基准测试中,Balsa符合两个专家查询优化器的性能,包括两个小时的学习,并且在几个小时后占工作负载运行时最多2.8美元\ times $。因此,Balsa打开了自动学习在未来的计算环境中优化的可能性,其中专家设计的优化仪不存在。
translated by 谷歌翻译
石油场和地震成像的储层模拟被称为石油和天然气(O&G)行业中高性能计算(HPC)最苛刻的工作量。模拟器数值参数的优化起着至关重要的作用,因为它可以节省大量的计算工作。最先进的优化技术基于运行大量模拟,特定于该目的,以找到良好的参数候选者。但是,在时间和计算资源方面,使用这种方法的成本高昂。这项工作提出了金枪鱼,这是一种新方法,可增强使用性能模型的储层流仿真的最佳数值参数的搜索。在O&G行业中,通常使用不同工作流程中的模型合奏来减少与预测O&G生产相关的不确定性。我们利用此类工作流程中这些合奏的运行来从每个模拟中提取信息,并在其后续运行中优化数值参数。为了验证该方法,我们在历史匹配(HM)过程中实现了它,该过程使用Kalman滤波器算法来调整储层模型的集合以匹配实际字段中观察到的数据。我们从许多具有不同数值配置的模拟中挖掘了过去的执行日志,并根据数据提取的功能构建机器学习模型。这些功能包括储层模型本身的属性,例如活动单元的数量,即模拟行为的统计数据,例如线性求解器的迭代次数。采样技术用于查询甲骨文以找到可以减少经过的时间的数值参数,而不会显着影响结果的质量。我们的实验表明,预测可以平均将HM工作流程运行时提高31%。
translated by 谷歌翻译
组合优化是运营研究和计算机科学领域的一个公认领域。直到最近,它的方法一直集中在孤立地解决问题实例,而忽略了它们通常源于实践中的相关数据分布。但是,近年来,人们对使用机器学习,尤其是图形神经网络(GNN)的兴趣激增,作为组合任务的关键构件,直接作为求解器或通过增强确切的求解器。GNN的电感偏差有效地编码了组合和关系输入,因为它们对排列和对输入稀疏性的意识的不变性。本文介绍了对这个新兴领域的最新主要进步的概念回顾,旨在优化和机器学习研究人员。
translated by 谷歌翻译
尽管深度强化学习(RL)最近取得了许多成功,但其方法仍然效率低下,这使得在数据方面解决了昂贵的许多问题。我们的目标是通过利用未标记的数据中的丰富监督信号来进行学习状态表示,以解决这一问题。本文介绍了三种不同的表示算法,可以访问传统RL算法使用的数据源的不同子集使用:(i)GRICA受到独立组件分析(ICA)的启发,并训练深层神经网络以输出统计独立的独立特征。输入。 Grica通过最大程度地减少每个功能与其他功能之间的相互信息来做到这一点。此外,格里卡仅需要未分类的环境状态。 (ii)潜在表示预测(LARP)还需要更多的上下文:除了要求状态作为输入外,它还需要先前的状态和连接它们的动作。该方法通过预测当前状态和行动的环境的下一个状态来学习状态表示。预测器与图形搜索算法一起使用。 (iii)重新培训通过训练深层神经网络来学习国家表示,以学习奖励功能的平滑版本。该表示形式用于预处理输入到深度RL,而奖励预测指标用于奖励成型。此方法仅需要环境中的状态奖励对学习表示表示。我们发现,每种方法都有其优势和缺点,并从我们的实验中得出结论,包括无监督的代表性学习在RL解决问题的管道中可以加快学习的速度。
translated by 谷歌翻译
移动通知系统在各种应用程序中起着重要作用,以通信,向用户发送警报和提醒,以告知他们有关新闻,事件或消息的信息。在本文中,我们将近实时的通知决策问题制定为马尔可夫决策过程,在该过程中,我们对奖励中的多个目标进行了优化。我们提出了一个端到端的离线增强学习框架,以优化顺序通知决策。我们使用基于保守的Q学习的双重Q网络方法来应对离线学习的挑战,从而减轻了分配转移问题和Q值高估。我们说明了完全部署的系统,并通过离线和在线实验证明了拟议方法的性能和好处。
translated by 谷歌翻译