近年来,AutoML在机器学*设计自动化方面取得了巨大成功,例如设计神经网络架构和模型更新规则。
神经架构搜索(NAS)是重要的研究方向之一,可以用来搜索更好的神经网络架构来完成图像分类等任务,并且可以帮助设计者在硬件设计中找到更快、更低能耗的方法。建筑计划。
但AutoML 是一个非常耗费资源和时间的操作,因为它涉及大量的实验来消除性能较差的架构并找到性能良好的超参数配置。由于其搜索空间通常非常大,因此需要一种高效的AutoML 方法来更有效地搜索它们。
AutoML中超参数搜索的资源和时间消耗可归因于以下两个因素:
1.大量候选超参数的组合实验需要找到性能良好的配置;
2.评估每个超参数的性能需要很长时间,因为评估过程包括训练模型和在给定数据集上验证机器学*模型的性能。
你怎么能容忍这样浪费时间呢? Microsoft 最近推出了FLAML(快速轻量级AutoML),这是一个快速且轻量级的AutoML 库。
他在清华大学获得计算机科学学士学位,并在伊利诺伊大学厄巴纳-香槟分校计算机科学系获得博士学位。
FLAML 是一个轻量级的Python 库,可以自动、高效、经济地找到准确的机器学*模型。用户不需要为每个学*器选择特定的模型和超参数。
它快速且经济高效,其简单且轻量级的设计使库易于扩展,例如添加自定义学*器或评估指标。
FLAML 利用搜索空间的结构来同时优化成本和模型性能。它包含微软研究院开发的两种新方法:
1. 成本节约优化(CFO)
节省成本的优化对搜索过程中的成本非常敏感。搜索方法从低成本初始点开始,在优化给定目标(例如模型损失或准确性)的同时逐渐移动到更高成本区域。
2. 混合搜索
Blendsearch 是CFO 的延伸,结合了CFO 的节俭和贝叶斯优化的探索能力。与CFO 一样,BlendSearch 需要一个低成本初始点作为输入(如果存在这样的点),并从该点开始搜索。然而,与CFO 不同的是,BlendSearch 不会等到局部搜索完全收敛才尝试新的起点。
1.很多机器学*算法都有超参数,这会导致训练成本发生较大变化。例如,具有10 棵树的XGBoost 模型比具有1000 棵树的模型训练速度更快。
2. 参数的成本通常是连续且一致的,这意味着评估10 棵树比评估100 棵树更快,评估100 棵树比评估500 棵树更快。
这两个想法提供了有关成本空间中超参数的有用结构信息。 CFO和BlendSearch可以有效地利用这些启发式方法来降低搜索过程中产生的成本,而不影响最优解的收敛。
在验证FLAML 的有效性时,在最新的AutoML 基准测试中,FLAML 仅使用10% 的计算资源,就超过62% 的任务实现了与最先进的AutoML 解决方案相同或更好的性能。
FLAML的高性能归功于其快速的优化方法。 CFO 和BlendSearch 利用搜索空间的结构来选择具有良好性能和低成本的搜索顺序。在有限的预算限制下,它会对搜索效率产生很大的影响。
FLAML 利用搜索空间的结构来选择针对成本和错误进行优化的搜索顺序。例如,系统倾向于在搜索开始时提出更简单、更快的配置,但在搜索后期阶段需要时快速切换到模型复杂度高和样本量大的配置。如果一开始它有利于容易学*的人,那么如果错误改善得太慢,它就会惩罚这种选择。
CFO从一个低成本初始点(由搜索空间中的low_cost_init_value指定)开始,根据其随机局部搜索策略进行局部更新。利用这种策略,CFO可以快速移动到低损失区域,表现出良好的收敛性。此外,首席财务官在必要时往往会避免探索高成本领域。进一步证明了该搜索策略具有可证明的收敛速度和有界的期望成本。
BlendSearch 进一步将CFO 使用的本地和全局搜索策略与全局搜索相结合。具体来说,BlendSearch维护全局搜索模型,并根据全局模型提出的超参数配置逐步创建局部搜索线程。
它根据实时性能和损失进一步优化全局搜索线程和多个本地搜索线程。在复杂搜索空间的情况下,例如当搜索空间包含多个不相交、不连续的子空间时,可以进一步提高CFO的效率。
与最先进的超参数调优库Optuna获得的结果相比,FLAML使用9维超参数来调优LightGBM。可以看出FLAML可以在更短的时间内得到更好的解决方案。
研究人员进行了一项实验,以检查BlendSearch 和Optuna(使用多元TPE 采样器)以及高度并行设置中的随机搜索的性能。使用了AutoML 基准测试中12 个数据集的子集。每次优化运行均与16 个实验并行进行20 分钟,使用3 倍交叉验证,使用ROC-AUC 评估指标。使用不同的随机种子重复这些实验三次。
在12 个数据集中,BlendSearch 在6 个数据集中取得了最佳交叉验证分数。此外,BlendSearch 将随机搜索的平均性能提高了2.52%,而Optuna 的平均性能提高了1.96%。值得注意的是,BlendSearch 使用单变量Optuna-TPE 作为其全局搜索器- 使用多元TPE 最有可能进一步提高分数。
此外,由于其低成本方法,BlendSearch 在同一时间段内评估的平均试验次数是其他搜索器的两倍。这表明BlendSearch 与其他算法之间的差距随着时间预算的增加而增加。
FLAMA的使用也非常简单。首先使用pip进行安装。
假设提供了训练数据集并保存为x_train,y_train。任务是在60 秒的时间预算内调整LightGBM 模型的超参数。代码如下。
除了LightGBM之外,FLAML还为相关任务提供了丰富的定制选项,例如不同的学*器、搜索空间、评估指标等。
为了加速超参数优化,用户可以选择并行化超参数搜索,BlendSearch 并行工作得很好。 它利用多个搜索线程,这些线程可以独立执行,而不会显着降低性能。对于现有的优化算法(如贝叶斯优化算法)来说,并不是所有的优化方法都可以并行处理。
为了实现并行化,FLAML 与Ray Tune 集成,Ray Tune 是一个Python 库,可通过边缘优化算法加速超参数调整。 Ray Tune 还允许用户将超参数搜索从单台机器扩展到在集群上运行,而无需更改代码。
用户可以在FLAML 中使用Ray Tune,或者在Ray Tune 中运行FLAML 的超参数搜索方法来并行化搜索。主要通过配置FLAML中的n_concurrent_Trials参数来实现并行。
参考:
标题:只需三行代码,AutoML 性能即可提升十倍!微软开源FLAMA,甚至比sota更好
链接:https://www.52funs.com/news/sypc/29217.html
版权:文章转载自网络,如有侵权,请联系删除!
用户评论
“哇,听闻这个新技术直接将AutoML的性能提升了10倍,感觉微软这次真的是超前了!”
有12位网友表示赞同!
“FLAMA这款工具听起来简直太厉害了,居然能用仅仅三行代码就达到这样的提升效果,科技真的改变了游戏规则。”
有9位网友表示赞同!
“在看到微软开源FLAMA之后,我对深度学*和自动化机器学*的未来充满了期待。”
有11位网友表示赞同!
“将十倍的性能提升压缩至三行代码,这简直是编程世界的一次革命呢!”
有15位网友表示赞同!
“微软这次推出的FLAMA工具真是让我眼前一亮,它将为开发者带来巨大的便利性。”
有5位网友表示赞同!
“看到这个新闻心里很兴奋,未来用代码优化AI模型会变得更加容易和高效。”
有8位网友表示赞同!
“科技的进步让人心潮澎湃,FLAMA的出现让我们对自动机器学*领域有了新的认识和期待。”
有16位网友表示赞同!
“我正在研究一些复杂的计算任务,使用FLAMA应该能大幅度加快实现速度吧?”
有12位网友表示赞同!
“微软开源FLAMA真是一项划时代的技术突破,未来AI开发将不再是难题了。”
有12位网友表示赞同!
“这个消息对数据科学家来说实在是太鼓舞人心了。期待在项目中尝试它。”
有17位网友表示赞同!
“现在AI的优化如此高效且便捷,感觉我们能解决的问题领域更加广阔了。”
有15位网友表示赞同!
“FLAMA听起来像是革命性技术,能够节省大量时间和计算资源,真是太棒了!”
有5位网友表示赞同!
“技术的发展总能带给我们惊喜,微软这次的技术突破无疑将推动AI行业前进一大步。”
有19位网友表示赞同!
“我好奇FLAMA是否可以提高现有模型训练和部署的效率?期待后续的实际案例分享。”
有17位网友表示赞同!
“用三行代码就能实现提升十倍性能的操作,这让编程界对自动化工具有了全新的认知吧?”
有8位网友表示赞同!
“微软这次的技术创新对科研、工程甚至日常应用都可能产生深远影响。”
有12位网友表示赞同!
“FLAMA的出现预示着AI和数据科学领域的开发方式将有重大变革。”
有18位网友表示赞同!
“对于想要加速AI项目进度的研发团队,这个开源工具是个大福音。”
有9位网友表示赞同!
“看到这样的技术进步,我更坚信未来AI的发展将更加普及、高效且便捷。”
有13位网友表示赞同!
“FLAMA背后的算法和实现效率无疑是研究者们关注的焦点,希望能深入学*一下它的原理和技术细节。”
有7位网友表示赞同!