linux cpu占用率如何看
392
2022-11-04
Facebook开源了两款基于PyTorch的实验框架Ax和BoTorch
近日,Facebook开源了两款基于PyTorch的实验框架Ax和BoTorch。Ax是一个面向自适应实验的理解、管理、部署和自动化任务的通用平台,BoTorch则主要面向贝叶斯优化任务。这两个框架旨在简化PyTorch应用中的自适应实验流程。
对于数据科学家来说,在对不同的模型或超参数配置进行评估时,通常会受到实验所需的昂贵计算资源和时间的障碍。近日,Facebook开源了两个新框架,旨在简化PyTorch应用程序中的自适应实验流程:
Ax:一个易访问的通用平台,面向自适应实验的理解、管理、部署和自动化。
BoTorch:基于PyTorch,是一个灵活的现代库,用于贝叶斯优化——一种高效的全局优化的概率方法。
这两种工具的目标是降低PyTorch开发人员进行快速实验的入门门槛,以便为特定问题找到最佳模型。 Ax和BoTorch都基于概率模型,简化了机器学习问题中给定环境下的探索流程。不过两个框架针对的是实验问题空间的不同维度。
BoTorch
BoTorch是一个基于PyTorch构建的贝叶斯优化库。贝叶斯优化的目标是在有限的资源内找到问题的最优解。通常,贝叶斯优化用于解决黑盒优化问题,比如机器学习算法的超参数优化,A / B测试以及许多其他科学和工程问题。
贝叶斯优化问题试图在无法获取函数形式的情况下对一些昂贵的评估黑盒函数f进行最大化。具体来说,优化技术在一系列测试点处对f进行评估,希望在少量评估之后确定接近最优值。
为了实现这一目标,需要一种方法来推断关于f尚未评估的点的概念。在贝叶斯优化中,这被称为替代模型。重要的是,替代模型应该能够以点x的函数值f(x)的后验分布的形式对预测的不确定性进行量化。
最先进的建模:BoTorch支持GPyTorch中的尖端概率建模,包括多任务高斯过程(GP),可扩展GP,深度内核学习,深度GP和近似推理等。
提高开发人员效率:BoTorch提供了简单的编程模型,用于对贝叶斯优化的基本问题进行组合。具体而言,BoTorch依赖于基于蒙特卡罗模型的采集函数,使得新思路的实现变得更加简单,无需对基础模型做出限制性的假设。
高并行性带来的可扩展性:BoTorch编程模型可以优化并发性和并行性任务进行批量计算,提高了大型基础架构的可扩展性。
这就是Ax。
从优化的角度来看,Ax可以使用多臂老虎机优化处理离散型配置(比如A / B测试的变体),还可以使用贝叶斯优化的处理连续配置(比如整数或浮点)。Ax提供了一个高度可扩展的框架,允许开发人员为PyTorch模型定制各种实验。从编程模型的角度来看,Ax提供了三个主要API:
循环API:用于同步优化循环,可以立即评估试验。使用此API可以在一次调用中执行优化,一旦优化完成,就可以使用实验内省。
服务API:可用作参数调整应用程序的轻量级服务,可以并行评估试验以及异步获得数据。
从编程模型的角度来看,循环 API提供了最大程度的流程简化,而开发者API实现了最高级别的自定义功能。使用Loop API进行无约束合成Branin函数代码如下:
而开发者API则需要对Ax框架组件进行更深度的操控:
与其他实验性框架相比,Ax具备一些明显优势。对于初学者来说,编程模型可以与BoTorch之外的不同优化框架一起使用。此外,Ax会自动选择优化程序,让数据科学家能够更轻松对模型进行微调。最后,该框架由可视化工具和基准测试套件实现功能互补,简化了对优化技术的评估流程。
Facebook内部的许多团队都在广泛使用Ax和BoTorch框架。这些框架的开源是对PyTorch生态系统的重要补充,PyTorch生态系统已被广泛视作数据科学实验中最灵活的深度学习框架之一。随着数据科学界开始尝试Axe和BoTorch,可能会将更多新想法整合到两个框架中,优化PyTorch应用程序中的实验流程。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~