A. 深度解析AutoML工具——NNI:带上超参一起训练
NNI(Neural Network Intelligence)是一款自动机器学习工具包,旨在通过各种优化算法搜索最合适的神经网络结构与超参数。它兼容单机、本地多机及云环境运行。
安装指引如下:
pip install -i https://pypi.tuna.tsinghua.e.cn/simple nni
推荐使用清华源进行安装。
NNI工作流程包括实验设计、搜索空间定义、超参数优化与结果评估。一个基本实验流程如下:
1. **实验设计**:设置目标(如Mnist手写体识别),确定搜索空间(包含可搜索的变量及变量范围),如设置dropout_rate在[0.5, 0.9]均匀分布,conv_size在[2,3,5,7]四个值中选择。
2. **配置文件**:创建`search_space.json`及系统配置文件(如`config_windows.yml`或`config.yml`),配置实验时间、尝试次数、使用TPE优化算法等参数。
3. **启动实验**:使用`nnictl create --config config_windows.yml`命令启动Mnist实验。
4. **监控实验**:访问WebUI查看实验状态与详细信息,实验结束后,WebUI仍可访问。
NNI核心组件包括**Tuner**(优化算法)与**Assessor**(评估器),在限定资源下,Tuner与Assessor协作寻找最优超参数。
为解决GPU资源需求,推荐使用**BitaHub**,一个面向AI开发者提供快速构建、训练模型的服务,新用户注册即赠算力。
在BitaHub上使用NNI流程如下:
1. **下载文件**:从GitHub仓库(github.com/SonghuaW/bit...)获取Dockerfile、trail代码。
2. **配置参数**:在镜像选择、GPU类型、启动命令等进行配置。
3. **监控实验**:通过WebUI查看实验状态与输出文件,实验结束后,WebUI无法访问,但输出文件可继续查看。
NNI与BitaHub集成提供了一种高效、便捷的自动机器学习解决方案,适合从简单实验到复杂模型训练的多种场景。