作业七:OpenPAI与NNI的使用
项目 | 内容 |
---|---|
这个作业属于的课程 | |
这个作业的要求 | |
我在这个课程的目标是 | 学习算法,积累项目经验,锻炼coding能力 |
这个作业在哪个具体方面帮助我实现目标 | 在线平台训练ai模型 |
作业正文 | 见下文 |
其他参考文献 | 无 |
- 作业描述
学习的使用:
学习文档,并提交OpenPAI job,将体验心得形成博客,选题方向可以是: (1)介绍OpenPAI,以及使用心得体会,给出文档或者功能等方面的意见和建议 (2)将OpenPAI与其他机器学习平台进行对比或评测学习的使用
学习文档,并使用NNI进行调参或架构调整,将体验心得形成博客,选题方向可以是: (1)介绍NNI,自己的心得体会,为NNI提建议或问题,包括文档功能等 (2)将NNI与自己了解的其他自动机器学习工具比较或评测
- 学习OpenPAI
- 介绍OpenPAI OpenPAI由微软亚洲研究院和微软(亚洲)互联网工程院联合研发,支持多种深度学习、机器学习及大数据任务,可提供大规模GPU集群调度、集群监控、任务监控、分布式存储等功能,且用户界面友好,易于操作。 为深度学习量身定做,可扩展支撑更多AI和大数据框架。提供丰富的运营、监控、调试功能,降低运维复杂度。
- 使用过程及体会 · 1 根据《在Azure PAI 平台训练对联数据》文档,在Visual Studio Code工具上安装Open PAI VS Code Client插件。 · 2 利用提供的集群IP、提供的用户名和密码创建OpenPAI集群,并修改了集群的json配置文件。 · 3 使用提供的couplet_azure文件,其中自带了初始化文件 __init__.py、数据传输文件、训练过程文件和训练模型的脚本命令。 · 4 修改一个.py文件的任务配置文件(Create Job Config):gpuNumber:=1,cpuNumber:=2,memoryMB:=8192 · 5 Submit Job to PAI Cluster提交任务。在右下角提示的网页链接中进入Open Web Portal, 查看任务运行状态。 · 6 训练完成。在/Beihang_Couplet/output/目录下Download模型文件test_couplet_001_32c61486。 · 7 使用心得。本例中操作简单,但是对于没有提供好集群IP的用户来说需要用docker安装PAI,过程稍复杂。线上训练需要排队,掉线后无法及时准确恢复。
- 学习NNI
- NNI () 是微软开源的自动机器学习工具。支持私有部署,分布式调度,自动搜索超参数,而且具有可视化界面。
- 使用过程及体会 · 1 安装tensorflow, 并用wget和git源码安装NNI。 · 2 配置参数搜索空间的json文件,如:
{ "dropout_rate":{"_type":"uniform","_value":[0.1,0.5]}, "conv_size":{"_type":"choice","_value":[2,3,5,7]}, "hidden_size":{"_type":"choice","_value":[124, 512, 1024]}, "batch_size":{"_type":"choice","_value":[50, 250, 500]}, "learning_rate":{"_type":"uniform","_value":[0.0001, 0.1]}}
· 3 在OpenPAI上运行experiment。在 YAML 文件中设置 trainingServicePlatform: pai
,并用.yml文件运行代码。