博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
人工智能训练平台
阅读量:2064 次
发布时间:2019-04-29

本文共 1551 字,大约阅读时间需要 5 分钟。

人工智能训练平台

1、平台定位

为深度学习提供一个深度定制和优化的人工智能集群管理平台,让人工智能堆栈变得简单、快速、可扩展。

● 为深度学习量身定做,可扩展支撑更多AI和大数据框架
通过创新的AI平台运行环境支持,几乎所有深度学习框架如CNTK、TensorFlow、PyTorch等无需修改即可运行;其基于Docker的架构则让用户可以方便地扩展更多AI与大数据框架。
● 容器与微服务化,让AI流水线实现DevOps
AI平台 100%基于微服务架构,让AI平台以及开发便于实现DevOps的开发运维模式。
● 支持GPU多租,可统筹集群资源调度与服务管理能力
在深度学习负载下,GPU逐渐成为资源调度的一等公民,AI平台提供了针对GPU优化的调度算法,丰富的端口管理,支持Virtual Cluster多租机制,可通过Launcher Server为服务作业的运行保驾护航。
● 提供丰富的运营、监控、调试功能,降低运维复杂度
PAI为运营人员提供了硬件、服务、作业的多级监控,同时开发者还可以通过日志、SSH等方便调试作业。

2、系统架构

AI平台的架构如下图所示,用户通过Web Portal调用REST Server的API提交作业(Job)和监控集群,其它第三方工具也可通过该API进行任务管理。随后Web Portal与Launcher交互,以执行各种作业,再由Launcher Server处理作业请求并将其提交至Hadoop YARN进行资源分配与调度。可以看到,AI平台给YARN添加了GPU支持,使其能将GPU作为可计算资源调度,助力深度学习。其中,YARN负责作业的管理,其它静态资源(下图蓝色方框所示)则由Kubernetes进行管理。

在这里插入图片描述
提交作业:Web Portal
交互中间件:Launcher
作业、资源管理:Hadoop YARN
静态资源管理:Kubernetes

AI平台完全基于微服务架构,所有的AI平台服务和AI Job均在容器中运行,这样的设计让AI平台的部署更加简单,无论是在Ubuntu裸机集群还是在云服务器上,仅需运行几个脚本即可完成部署。这同时也使其能够支持多种不同类型的AI任务,如CNTK、TensorFlow、PyTorch等不同的深度学习框架。此外,用户通过自定义Job容器即可支持新的深度学习框架和其他机器学习、大数据等AI任务,具有很强的扩展性。

在运维方面,AI平台提供了AI任务在线调试、错误报警、日志管理、性能检测等功能,显著降低了AI平台的日常运维难度。同时,它还支持MPI、RDMA网络,可满足企业对大规模深度学习任务的性能要求。
不仅如此,AI平台还实现了与Visual Studio的集成。Visual Studio Tools for AI是微软Visual Studio 2017 IDE的扩展,用户在Visual Studio中就可以开发、调试和部署深度学习和AI解决方案。集成后,用户在Visual Studio中调试好的模型可便捷地部署到AI平台集群中。
AI平台提供了友好的用户界面,操作简单,便于用户进行集群监控、任务提交等。例如,主界面上显示了集群的GPU利用率、节点总数、CPU利用率、网络状况等。当某项数据异常时,AI平台将启动报警机制通知用户,并在UI上以颜色改变的形式进行提醒(如变成红色等)。
在这里插入图片描述
AI平台主界面
在这里插入图片描述

集群Job概览,点击Job名称可以查看详细信息及日志信息

在这里插入图片描述
Job运行状态页显示容器的IP地址、端口和GPU位置,该页面还提供远程SSH登录容器的信息
在这里插入图片描述
集群中机器运行状况概览,不同颜色展现了不同的忙闲程度
在这里插入图片描述

集群中每台机器上的Service运行状况

本文所有权归属广东腾杰信息科技有限公司

转载地址:http://pbwmf.baihongyu.com/

你可能感兴趣的文章
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>
C结构体、C++结构体、C++类的区别
查看>>
进程和线程的概念、区别和联系
查看>>
CMake 入门实战
查看>>
绑定CPU逻辑核心的利器——taskset
查看>>
Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题
查看>>
c结构体、c++结构体和c++类的区别以及错误纠正
查看>>