调参是深度学习中的必经过程,研究者们往往需要花费大量的时间进行调参,以获取最好效果的模型参数。对于参数规模不大的小模型,手工运行实验进行参数调优还是可以接受的方法,但当遇上大模型时,只凭人工进行参数优化就会变得难以实操,也难以高效利用GPU集群的强大算力。
为了解决这一问题,幻方 AI 基于萤火集群的特性,研发了一套辅助调参工具——Autotune。用户只需要设定好参数搜索范围,在幻方萤火集群上发起训练,Autotune 会自动帮您尝试所有的参数组合,合理分配算力进行测试,最后统计输出不同参数下的模型表现。
设计思路
hfai.autotune 旨在降低调参门槛,改动少部分代码即可实现自动调参。
萤火集群可以通过 hfai 命令或在 JupyterLab 中手动发起的方式来提交训练任务,然而这些方法并不能支持大批量的任务发起。因此在 Autotune 的设计中我们选择 create_experiment_v2 接口,实现一次提交多任务的目标。
用户在使用时设定需要测试的参数组或直接指定参数范围,Autotune 将需要调优的参数进行组合,然后进行网格搜索。这里需要创建多个可以同时训练的任务,在算力允许的范围内运行尽可能多的任务以加速调参过程。
不同任务的训练结果会集中记录在一个日志文件夹中,统计输出时会从这个文件夹中读取所有参数的结果,进行排序后返回。
任务发起
介绍完 hfai.autotune 的设计思路