开发环境介绍
软件开发的历史,就是一部降低开发者成本,提升开发体验的历史。在AI开发阶段,ModelArts也致力于提升AI开发体验,降低开发门槛。ModelArts开发环境,以云原生的资源使用和开发工具链的集成,目标为不同类型AI开发、探索、教学用户,提供更好云化AI开发体验。
ModelArts Notebook云上云下,无缝协同
- 代码开发与调测。云化JupyterLab使用,本地IDE+ModelArts插件远程开发能力,贴近开发人员使用习惯
- 云上开发环境,包含AI计算资源,云上存储,预置AI引擎
- 运行环境自定义,将开发环境直接保存成为镜像,供训练、推理使用
亮点特性1:远程开发 - 支持本地IDE远程访问Notebook
Notebook提供了远程开发功能,通过开启SSH连接,用户本地IDE可以远程连接到ModelArts的Notebook开发环境中,调试和运行代码。
对于使用本地IDE的开发者,由于本地资源限制,运行和调试环境大多使用团队公共搭建的服务器,并且是多人共用,这带来一定的环境搭建和维护成本。
而ModelArts的Notebook的优势是即开即用,它预先装好了不同的AI引擎,并且提供了非常多的可选规格,用户可以独占一个容器环境,不受其他人的干扰。只需简单配置,用户即可通过本地IDE连接到该环境进行运行和调试。
ModelArts的Notebook可以视作是本地PC的延伸,均视作本地开发环境,其读取数据、训练、保存文件等操作与常规的本地训练一致。
对于习惯使用本地IDE的开发者,使用远程开发方式,不影响用户的编码习惯,并且可以方便快捷的使用云上的Notebook开发环境。
本地IDE当前支持VS Code、PyCharm、SSH工具。还有专门的插件PyCharm Toolkit和VS Code Toolkit,方便将云上资源作为本地的一个扩展。
亮点特性2:开发环境保存 - 支持一键镜像保存
ModelArts的Notebook提供了镜像保存功能。支持一键将运行中的Notebook实例保存为镜像,将准备好的环境保存下来,可以作为自定义镜像,方便后续使用,并且方便进行分享。
保存镜像时,安装的依赖包(pip包)不丢失,VS Code远程开发场景下,在Server端安装的插件不丢失。
亮点特性3:预置镜像 - 即开即用,优化配置,支持主流AI引擎
每个镜像预置的AI引擎和版本是固定的,在创建Notebook实例时明确AI引擎和版本,包括适配的芯片。
ModelArts开发环境给用户提供了一组预置镜像,主要包括PyTorch、TensorFlow、MindSpore系列。用户可以直接使用预置镜像启动Notebook实例,在实例中开发完成后,直接提交到ModelArts训练作业进行训练,而不需要做适配。
ModelArts开发环境提供的预置镜像版本是依据用户反馈和版本稳定性决定的。当用户的功能开发基于ModelArts提供的版本能够满足的时候,建议用户使用预置镜像,这些镜像经过充分的功能验证,并且已经预置了很多常用的安装包,用户无需花费过多的时间来配置环境即可使用。
ModelArts开发环境提供的预置镜像主要包含:
- 常用预置包,基于标准的Conda环境,预置了常用的AI引擎,例如PyTorch、MindSpore;常用的数据分析软件包,例如Pandas、Numpy等;常用的工具软件,例如cuda、cudnn等,满足AI开发常用需求。
- 预置Conda环境:每个预置镜像都会创建一个相对应的Conda环境和一个基础Conda环境python(不包含任何AI引擎),如预置MindSpore所对应的Conda环境如下:
用户可以根据是否使用AI引擎参与功能调试,选择不同的Conda环境。
- Notebook:是一款Web应用,能够使用户在界面编写代码,并且将代码、数学方程和可视化内容组合到一个文档中。
- JupyterLab插件:插件包括规格切换,分享案例到AI Gallery进行交流,停止实例等,提升用户体验。
- 支持SSH远程连接功能,通过SSH连接启动实例,在本地调试就可以操作实例,方便调试。
- ModelArts开发环境提供的预置镜像支持功能开发后,直接提到ModelArts训练作业中进行训练。
- 为了简化操作,ModelArts的Notebook,同一个Notebook实例中支持不同引擎之间的切换。
- 不同Region支持的AI引擎不一样,请以控制台实际界面为准。
亮点特性4:提供在线的交互式开发调试工具JupyterLab
ModelArts集成了基于开源的JupyterLab,可为您提供在线的交互式开发调试。您无需关注安装配置,在ModelArts管理控制台直接使用Notebook,编写和调测模型训练代码,然后基于该代码进行模型的训练。
JupyterLab是一个交互式的开发环境,是Jupyter Notebook的下一代产品,可以使用它编写Notebook、操作终端、编辑MarkDown文本、打开交互模式、查看csv文件及图片等功能。