作为一名深度学习科研人员,小编我可是深受模型训练的困扰:一个模型要跑几天几夜,结果最后发现有一步错了 ...从头再来
超参数怎么调精度都上不去,心真的好累...
手动调整系统环境,只要错一个,就跑不起来了嗷...
常常只是为了训练一个模型,就要耗费巨大的时间,改来改去,还有经过漫长的等待,内心真的在默默哭泣有木有!
然后,我发现我竟然还能再拯救一下——Determined AI驾着七彩祥云来救我啦!
同样受到这种苦恼,深有感触的众多深度学习研究人员,花费了数年心血,终于开发出了一个便利广大深度学习从业人员的训练神器。
这款深度学习训练平台,是由多年从事实践领域的专家,耗费三年时间构建完成的,他们的目标是帮助深度学习团队更快地训练模型,轻松共享GPU资源并有效协作。
Determined使深度学习工程师可以集中精力大规模构建和训练模型,而无需担心DevOps,或者为常见任务(如容错或实验跟踪)编写代码。
官网链接:https://determined.ai/developers/
“等一下,这里面到底有啥,能不能详细说明一下!”
好,那我就好好扒一扒,给大家看看。
专注模型训练,更快更准!
众所周知,一个完整的深度学习项目,包括了数据准备,模型训练以及模型部署等环节:
而Determined,则可以帮助我们更好的专注于模型本身的训练,而不是把时间和精力大量花在样例代码和DevOps上。
模型训练部分,Determined可以帮助我们完成:
- 更快的分布式训练
- 智能的超参优化
- 实验跟踪和可视化
这样,它就可以使我们可以专注于手头的任务——即训练模型上。
训练人员,可以立即进入为深度学习工作而创建的专用环境,然后将时间花费在来设置模型上,而完全不必担心安装,拆卸和其他样例代码的问题。
看到这里我想说,开发人员真的是太贴心了,他们很清楚我们不想花时间做什么,我真的感激*100!
那这个神器可以帮我们处理什么呢?
- 内置的训练循环抽象,可支持实验跟踪,有效的数据加载,容错,并可以灵活地进行自定义。
- 高性能的分布式培训,无需更改任何代码。
- 基于前沿研究的自动超参数优化。
有了这些功能,模型训练so easy!老板再也不用担心我的模型!
直接点击官网链接,就可以体验这些功能:
接下来,我们可以看看这两个和模型训练密切相关的部分——分布式训练速度和智能超参优化具体是怎么一回事:
分布式训练
Determined主要运用了Horovod,以Horovod为起点,研究人员运用了多年的专业知识和经验,使得整个训练过程比库存配置要快得多。
这样,我们就可以更减少浪费的时间,更好的利用计算机的硬件设备,来达到高效的训练速度。在这里科普一下Horovod:
Horovod 是一套面向TensorFlow 的分布式训练框架,由Uber 构建并开源,目前已经运行于Uber 的Michelangelo 机器学习即服务平台上。Horovod 能够简化并加速分布式深度学习项目的启动与运行。当数据较多或者模型较大时,为提高机器学习模型训练效率,一般采用多 GPU 的分布式训练。TensorFlow 集群存在诸多缺点,如概念太多、学习曲线陡峭、修改的代码量大、性能损失较大等,而 Horovod 则让深度学习变得更加美好,随着规模增大,Horovod 性能基本是线性增加的,损失远小于 TensorFlow。
有关Horovod的详细信息,大家可以点击下方链接进行学习和了解~
"是时候放弃 TensorFlow 集群,拥抱 Horovod 了"
https://www.infoq.cn/article/J4ry_9bsfbcNkv6dfuqC
使用Determined,我们的分布式模型训练速度能有多快呢?下图告诉我们,可以达到24倍!!
PS:真的有快很多啊噜,感慨...
超参数优化
通过提供和任务密集集成的前沿智能搜索功能,以及默认并行的设置,开发者帮我们免除了传统超参搜索调试的麻烦。
这样,我们就可以用更快的速度,来获得更准确的模型。
那使用Determined,超参数优化的速度又可以提高多少倍呢?
100倍!看到这里,我真的很真实的在感动了... 多出的时间是不是可以用来玩动森? 反正也有正当理由:为ACAL2020做准备哈哈~
GPU调度更加灵活,支持各种流行框架
Determined还可以更加灵活的进行GPU调度,包括:
1)动态调整训练任务的大小
2)自动在AWS和GCP上管理云资源
同时,它还可以支持TensorBoard和基于GPU的Jupyter Notebook。(我最亲爱的小伙伴也可以在这个平台上使用了诶!!)
“Tensorflow和Pytorch都能支持吗?”——吃瓜的路人甲忍不住了
哦对了,还有一个关键点,那就是使用这个平台的同时,我们可以继续使用Tensorflow和Pytorch,只要改一下模型的代码,来实现Determined的API就可以了。
是不是很方便!
平台透明开放,用户服务完备
深度学习团队协作工具
这个平台透明,开放,并且方便团队协作,很适合深度学习团队使用:
Determined通过实验跟踪,日志管理,指标可视化,可重复性和依赖性管理等,帮助任何人在实验管理中脱颖而出。对任何规模的团队来说,这款平台都是完美的。
从一个团队开始,使用者可以在准备就绪后,轻松地共享和扩展工作。
开源,适用于各种云供应商
开发者建议:深度学习从业人员可以选择跳出专有解决方案:
“Determined可以支持云平台,或者本地基础结构,甚至两者都可以。该平台可以在您选择的深度学习框架中工作,并随时导出到流行的服务框架中。”使用这个平台,使用非常简单的步骤,就可以开源项目,从而造福其他小伙伴~
详细的用户文档
Determined现在已经有正式的用户手册,可以供使用者随时查阅和参考:https://docs.determined.ai/latest/
还有简单容易上手的tutorial:
最后,开发者还特别贴心的附上了Slack链接,任何人都可以和Determined的开发团队交流,并进行反馈和沟通:
这里放上项目开源地址,有兴趣的小伙伴可以马上去GitHub体验下:
https://github.com/determined-ai/determined
参考资料:
https://www.reddit.com/r/MachineLearning/comments/gaecbq/n_determined_deep_learning_training_platform/https://determined.ai/developers/