探索深度学习优化器的新基准:Fast Optimizer Benchmark (FOB)
摘要
本文介绍了《快速优化器基准测试》(Fast Optimizer Benchmark, FOB),这是一个专为评估深度学习优化器在其开发过程中性能而设计的工具。FOB支持来自多个领域的任务,如计算机视觉、自然语言处理和图学习,并强调便捷的使用体验,包括可读的YAML配置、SLURM集成和绘图工具。该工具可以与现有的超参数优化(HPO)工具结合使用,处理训练和恢复运行。其模块化设计使其可以集成到自定义管道中,简单地作为一个任务集合使用。本文通过一个优化器比较示例展示了工具的使用。FOB可在GitHub上找到:https://github.com/automl/FOB。
原理
FOB基于PyTorch Lightning框架构建,采用相同的抽象思想,将深度学习的关键组件组织成可交换和可扩展的模块。核心模块包括任务(Tasks)和优化器(Optimizers),训练和评估由核心引擎处理。用户可以通过YAML文件配置任务-优化器对、训练参数和优化器超参数。配置文件易于阅读,用户可以快速通过热图评估结果。
流程
用户通过单一的YAML配置文件指定实验设置,FOB负责处理实验运行的所有其他方面,包括数据加载、模型训练和评估。FOB还内置了网格搜索功能以探索超参数。任务和优化器带有合理的默认值,用户可以根据需要在实验文件中覆盖这些默认值。对于更高级的超参数优化(HPO),用户可以将FOB与现有的HPO工具(如SMAC或Optuna)集成。示例展示了如何实现这种集成。
应用
FOB的模块化设计允许研究人员将其作为任务集合集成到自己的框架或基准测试设置中,从而在不受到工具架构限制的情况下受益于FOB的任务集合。FOB的应用范围广泛,包括但不限于超参数优化、模型训练和评估,以及与其他工具的集成。随着深度学习领域的不断发展,FOB有望成为研究人员和开发者在优化器开发和评估中的重要工具。
