

在本文中我们将讨论Aim,这是一个开源机器学习可视化工具,Aim可以在几分钟内记录、搜索和比较100项实验,而在TensorBoard或MLFlow上进行大量实验比较可能需要花费数小时,这对于实验管理非常有用,而且Aim超级容易上手。

如今从事人工智能的研究人员面对的问题越来越庞杂,这样的问题随之而来的是对AI实验中需要的计算处理能力和数据需求每月都在成倍增加。只有拥有更多的计算资源和更多的可用数据,AI实验人员才能在用更少的时间下做更多实验处理。
在以往的实验过程中,经过几轮实验后,您会积累大量实验数据,而您又要再进行数十次的运行以破解和发现趋势,并确定下一组实验,这种模式非常糟糕并且这样的问题会越来越严重。

所有的工作后您要做的就是尝试回答以下基本问题:我使用了哪些max_k参数以及它们如何与验证损失和渗漏指标相关联?哪一组实验是与其他实验相比最好的,为什么?这些是10个实验相对容易回答的问题,但如果您有200个,该怎么办?这需要耗费数小时以及大量的耐心,对于科技人员来说,在重复劳动上浪费时间是最糟糕的事情了,但现在这种问题可以有解决途径了。
Aim
现在我们可以用Aim在几分钟内比较几百个实验。
怎么做呢?
Aim可以进行实验性的度量操作(分组、聚合等),并具有高级搜索功能,以帮助快速高效地进行比较/分析。它很容易与培训代码集成并直接使用。这意味着你可以专注于你的研究,做任何你喜欢的实验,并且在两次实验之间花费的时间大大减少。Aim将帮助你更快地迭代,你只需要知道两种方法就可以获得这些功能:
aim.set_params
aim.track
import aim# 存放 inputs, hparams 和'key: value'aim.set_params(hyperparam_dict,name = 'hparams')...for step in range(10):#用于可视化展示,记录metricsaim.track(metric_value,name='metric_name',epoch=epoch_number)...
在将这两个函数集成到训练代码后,运行您的训练并在终端运行 aim up,快速比较的三个功能:查询、组合、聚合您的指标/实验。
Search查询
为了查询你的实验,你需要了解python(因为Aim上的查询语言是“超级版的”python!)以及你通过Aim传递的参数aim.set_params(...).选择一组指标并在IF输入中的Select and provide筛选条件中提供。


Group组合
对于搜索/选择的实验指标,按不同的参数分组以查看效果。这意味着您只需一个按钮就可以了解参数是如何影响您的训练跑步的。

Aggregate聚合
聚合分组指标以查看每个参数(或一组参数)的趋势。这使得100多个实验看起来像一个实验,并且清楚地说明了你的想法的有效性。

这些只是一些少量的指标操作实例,目的是帮助快速分析训练模型并运行。而所有这些只需要几行代码和几次点击!现在,您可以在多轮实验之间进行更快的迭代,并将时间集中在对研究最重要的任务上,而不是花几个小时钻研大型工具提示并为长实验名称编写正则表达式。




指导老师


长按二维码关注我们

欢迎关注微信公众号"沈浩老师"

原文链接:
https://towardsdatascience.com/3-ways-aim-can-accelerate-your-ai-research-c03643ae6558




