创建Notebook实例
在开始进行模型开发前,您需要创建Notebook实例,并打开Notebook进行编码。
背景信息
- Notebook使用涉及到计费,具体收费项如下:
- 处于“运行中”状态的Notebook,会消耗资源,产生费用。根据您选择的资源不同,收费标准不同,价格详情请参见产品价格详情。当您不需要使用Notebook时,建议停止Notebook,避免产生不必要的费用。
- 创建Notebook时,如果选择使用云硬盘EVS存储配置,实例不删除,云硬盘EVS会一直收费,建议及时停止并删除Notebook,避免产品不必要的费用。
- 在创建Notebook时,默认会开启自动停止功能,在指定时间内停止运行Notebook,避免资源浪费。
- 只有处于“运行中”状态的Notebook,才可以执行打开、停止操作。
- 一个账户最多创建10个Notebook。
创建Notebook实例
- 登录ModelArts管理控制台,在左侧导航栏中选择“权限管理”,检查是否配置了访问授权。如果未配置,请先配置访问授权。参考使用委托授权完成操作。
图1 查看委托配置信息
- 登录ModelArts管理控制台,在左侧导航栏中选择“开发空间 > Notebook”,进入“Notebook”页面。
- 单击右上角“创建”,进入“创建Notebook”页面,请参见如下说明填写参数。
- 填写Notebook基本信息,包含名称、描述、是否自动停止,详细参数请参见表1。
图2 Notebook基本信息
表1 基本信息的参数描述 参数名称
说明
“名称”
Notebook的名称。系统会自动生成一个名称,您可以根据业务需求重新命名,命名规则如下:只能包含数字、大小写字母、下划线和中划线,长度不能超过128位且不能为空。
“描述”
对Notebook的简要描述。
“自动停止”
默认开启,且默认值为“1小时”,表示该Notebook实例将在运行1小时之后自动停止,即1小时后停止规格资源计费。可选择“1小时”、“2小时”、“4小时”、“6小时”或“自定义”几种模式。选择“自定义”模式时,可指定1~72小时范围内任意整数。
- 定时停止:开启定时停止功能后,该Notebook实例将在运行时长超出您所选择的时长后,自动停止。
说明:出于对用户任务进度的保护,在您设置的自动停止时间到达后,Notebook不会立即自动停止,可能会有2-5分钟的延迟,方便您进行续约。
- 填写Notebook详细参数,如镜像、资源规格等,详细参数请参见表2。
图3 Notebook实例的详细参数
表2 Notebook实例的详细参数说明 参数名称
说明
“镜像”
支持公共镜像和自定义镜像。
- 公共镜像:即预置在ModelArts内部的AI引擎。
可以选择界面显示的公共镜像,也可以单击“前往AI Gallery获取更多镜像”进入AI Gallery镜像页面。AI Gallery上发布了一些较高版本的PyTorch、MindSpore、TensorFlow镜像。进入AI Gallery镜像页面后,单击镜像名称,可查看镜像详情,复制对应局点的镜像URL,即可在ModelArts控制台“镜像管理”注册并在Notebook中使用。
如果需要使用更高版本的MindSpore类型的Ascend架构镜像,可选择西南-贵阳一局点。
- 自定义镜像:可以将基于公共镜像创建的实例保存下来,作为自定义镜像使用,请参考保存Notebook实例。也可以基于预置镜像或第三方镜像制作自定义镜像,请参考Notebook的自定义镜像制作方法。
一个镜像对应支持一种AI引擎,创建Notebook实例时选择好了对应AI引擎的镜像。用户可以根据需要选择镜像。在右侧搜索框中输入镜像名称关键字,可快速查找镜像。
Notebook运行停止后,可以在同一个Notebook实例中变更镜像。
“资源类型”
支持公共资源池和专属资源池。
“公共资源池”无需单独购买,即开即用,按需付费,即按您的Notebook实例运行时长进行收费。
“专属资源池”按实际情况选择已创建的专属资源池。如果没有专属资源,需要单独购买并创建。
说明:如果您购买的专属池是单节点的Tnt004规格:GPU: 1*tnt004 | CPU: 8 核 32GiB (modelarts.vm.gpu._tnt004u8),使用该集群创建Notebook实例时,Tnt004卡空闲但是规格显示售罄或者创建失败显示资源不足时,请联系技术支撑。
“类型”
芯片类型包括CPU、GPU和ASCEND类型。
不同的镜像支持的芯片类型不同,根据实际需要选择。
GPU性能更佳,但是相对CPU而言,费用更高。
“实例规格”
根据选择的芯片类型不同,可选资源规格也不同。请根据界面实际情况和需要选择。
- CPU规格
“2核8GB”:Intel CPU通用规格,用于快速数据探索和实验
“8核32GB”:Intel CPU算力增强型,适用于密集计算场景下运算
- GPU规格
“GPU: 1*Vnt1(32GB)|CPU: 8 核 64GB”:GPU单卡规格,32GB显存,适合深度学习场景下的算法训练和调测
“GPU: 1*Tnt004(16GB)|CPU: 8核* 32GB”: GPU单卡规格,16GB显存,推理计算最佳选择,覆盖场景包括计算机视觉、视频处理、NLP等
“GPU: 1*Pnt1(16GB)|CPU: 8核 64GB”:GPU单卡规格,16GB显存,适合深度学习场景下的算法训练和调测
- Ascend规格
“存储配置”
包括“云硬盘EVS”、“弹性文件服务SFS”、“对象存储服务OBS”和“并行文件系统PFS”。请根据界面实际情况和需要选择。
说明:“对象存储服务OBS”、“并行文件系统PFS”是白名单功能,如果有试用需求,请提工单申请权限。
- 选择“云硬盘EVS”作为存储位置。
根据实际使用量设置磁盘规格。磁盘规格默认5GB。磁盘规格的最大值请以实际界面显示为准。
从Notebook实例创建成功开始,直至实例删除成功,磁盘每GB按照规定费用收费。
- 选择“弹性文件服务SFS”作为存储位置。 仅专属资源池支持,并需要在专属资源池对应的网络打通VPC才能生效,具体操作请参见ModelArts网络。
说明:
如果需要设置SFS Turbo的文件夹权限,请参考权限管理文档配置。
- “弹性文件服务”:选择已创建的SFS Turbo(在弹性文件服务控制台创建SFS Turbo)。
- “云上挂载路径”:默认为/home/ma-user/work/。
- “子目录挂载”:选择SFS Turbo的存储位置。
- “挂载方式”:当用户配置了文件夹控制权限,则显示此参数。根据SFS Turbo存储位置的权限显示“读写”或“只读”。
- 选择“对象存储服务OBS”或“并行文件系统PFS”作为存储位置。
选择“存储位置”:设置用于存储Notebook数据的OBS路径。如果想直接使用已有的文件或数据,可将数据提前上传至对应的OBS路径下。“存储位置”不能设置为OBS桶的根目录,需设置为对应OBS桶下的具体目录。
选择“凭据”:选择已有的凭据或单击右侧的“立即创建”,跳转至数据加密控制台创建凭据,凭据键/值填写用户的AK、SK信息(“键”分别填写“accessKeyId”,“secretAccessKey”;“值”在控制台个人账号下“我的凭证>访问密钥”获取AK、SK)。
图4 设置凭据值
“云硬盘EVS”、“弹性文件服务SFS”的存储路径挂载在/home/ma-user/work目录下。
Notebook实例运行中,可以通过动态挂载OBS并行文件系统操作来增加数据存储路径。
停止或重启Notebook实例时,存储的内容会被保留,不丢失。
删除Notebook实例时,EVS存储会一起释放,存储的内容不保留。SFS可以重新挂载到新的Notebook,可以保留数据。
“扩展存储配置”
说明:“扩展存储配置”功能是白名单功能,如果有试用需求,请提工单申请权限。
如果有多个数据存储路径,可以单击“增加扩展存储配置”,增加用户指定的存储挂载目录。支持增加的存储类型有“存储桶OBS”、“并行文件系统PFS”、“弹性文件服务SFS”。
约束限制:
- 每种存储类型最多支持挂载5个。
- 扩展存储挂载目录不允许重复,不允许挂载到黑名单目录,允许嵌套挂载。不允许挂载的黑名单目录为以下前缀匹配的目录:
/data/、/cache/、/dev/、/etc/、/bin/、/lib/、/sbin/、/modelarts/、/train-worker1-log/、/var/、/resource_info/、/usr/、/sys/、/run/、/tmp/、/infer/、/opt/
添加扩展存储后,可进入Notebook实例详情页,单击“存储配置 > 扩展存储”,查看或编辑扩展存储信息。在存储个数未达到最大个数时,也可在右侧单击“添加扩展存储”。
“SSH远程开发”
- 开启此功能后,用户可以在本地开发环境中远程接入Notebook实例的开发环境。
- 实例在停止状态时,用户可以在Notebook详情页中更新SSH的配置信息。
说明:开启此功能的实例中会预置VS Code插件(python、jupyter等)以及VS Code Server包,会占用约1G左右的持久化存储空间。
“密钥对”
开启“SSH远程开发”功能后,需要设置此参数。
可以选择已有密钥对。
也可以单击密钥对右侧的“立即创建”,跳转到数据加密控制台,在 页面,单击“创建密钥对”。
创建完Notebook后,可以在Notebook详情页中修改密钥对。
注意:创建好的密钥对,请下载并妥善保存,使用本地IDE远程连接云上Notebook开发环境时,需要用到密钥对进行鉴权认证。
“远程访问白名单”
可选,开启“SSH远程开发”功能后,可以设置此参数。
设置为允许远程接入访问这个Notebook的IP地址(例如本地PC的IP地址或者访问机器的外网IP地址,最多配置5个,用英文逗号隔开),不设置则表示无接入IP地址限制。
如果用户使用的访问机器和ModelArts服务的网络有隔离,则访问机器的外网地址需要在主流搜索引擎中搜索“IP地址查询”获取,而不是使用ipconfig或ifconfig/ip命令在本地查询。
图5 查询外网IP地址
创建完Notebook后,可以在Notebook详情页中修改白名单IP地址。
- 公共镜像:即预置在ModelArts内部的AI引擎。
- 可选:添加Notebook标签。在标签栏输入“标签键”和“标签值”,单击“添加”。
表3 添加标签 参数名
参数说明
“标签”
ModelArts支持对接标签管理服务TMS,在ModelArts中创建资源消耗性任务(例如:创建Notebook、训练作业、推理在线服务)时,可以为这些任务配置标签,通过标签实现资源的多维分组管理。
标签详细用法请参见ModelArts如何通过标签实现资源分组管理。
添加标签后,可在Notebook实例详情页查看标签内容,也可进行修改、删除标签。
可以在标签输入框下拉选择TMS预定义标签,也可以自己输入自定义标签。预定义标签对所有支持标签功能的服务资源可见。租户自定义标签只对自己服务可见。
- 填写Notebook基本信息,包含名称、描述、是否自动停止,详细参数请参见表1。
- 参数填写完成后,单击“立即创建”进行规格确认。
- 参数确认无误后,单击“提交”,完成Notebook的创建操作。
进入Notebook列表,正在创建中的Notebook状态为“创建中”,创建过程需要几分钟,请耐心等待。当Notebook状态变为“运行中”时,表示Notebook已创建并启动完成。
- 在Notebook列表,单击实例名称,进入实例详情页,查看Notebook实例配置信息。
图6 查看Notebook实例详情
“SSH远程开发”功能开启时,在“白名单”右侧单击修改,可以修改允许远程访问的白名单IP地址。实例在停止状态时,在“认证”右侧单击修改,用户可以更新密钥对。
单击“存储配置”页签的“添加数据存储”,可以挂载OBS并行文件系统,方便读取数据,具体操作参见动态挂载OBS并行文件系统。
如果存储使用的是云硬盘EVS,单击存储容量右侧的“扩容”,可以动态扩充云硬盘EVS的容量,具体操作参见动态扩充云硬盘EVS容量。
打开Notebook实例
针对创建好的Notebook实例(即状态为“运行中”的实例),可以打开Notebook并在开发环境中启动编码。
pytorch、tensorflow、mindspore、tensorflow-mindspore、cylp-cbcpy、rlstudio-ray、mindquantum-mindspore镜像支持以下2种方式访问:
- 在线JupyterLab访问,具体参见通过JupyterLab在线使用Notebook实例进行AI开发。
- 本地IDE使用PyCharm工具,远程连接访问,具体参见通过PyCharm远程使用Notebook实例。
- 本地IDE使用VS Code工具,远程连接访问,具体参见通过VS Code远程使用Notebook实例。
- 本地IDE使用SSH工具,远程连接访问,具体参见通过SSH工具远程使用Notebook。
ModelArts提供的Notebook实例是以ma-user启动的,用户进入实例后,工作目录默认是/home/ma-user。
Notebook容器挂载目录介绍
创建Notebook实例,存储选择EVS时,Notebook会使用/home/ma-user/work目录作为用户的工作空间持久化存储。
存放在work目录的内容,在实例停止、重新启动后依然保留,其他目录下的内容不会保留,使用开发环境时建议将需要持久化的数据放在/home/ma-user/work目录。
更多Notebook实例的目录挂载情况(以下挂载点在保存镜像的时候不会保存)如表4所示。
Notebook选择存储说明
不同存储的实现方式都不同,在性能、易用性、成本的权衡中可以有不同的选择,没有一个存储可以覆盖所有场景,了解下云上开发环境中各种存储使用场景说明,更能提高使用效率。
存储类型 |
建议使用场景 |
优点 |
缺点 |
---|---|---|---|
云硬盘EVS |
比较适合只在开发环境中做数据、算法探索,性能较好。 |
块存储SSD,可以理解为一个磁盘,整体IO性能比NFS要好,可以动态扩充,最大可以到4096GB。 云硬盘EVS作为持久化存储挂载在/home/ma-user/work目录下,该目录下的内容在实例停止后会被保留,存储支持在线按需扩容。 |
只能在单个开发环境中使用 。 |
并行文件系统PFS |
说明:
适合直接使用PFS桶作为持久化存储进行AI开发和探索,使用场景如下。
|
PFS是一种经过优化的高性能对象存储文件系统,存储成本低,吞吐量大,能够快速处理高性能计算(HPC)工作负载。在需要使用对象存储服务场景下,推荐使用PFS挂载。
说明:
建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地存储读取,以获取更好的读写与吞吐性能。 |
小文件频繁读写性能较差,例如直接作为存储用于模型重型训练,大文件解压等场景慎用。
说明:
PFS挂载需要用户对当前桶授权给ModelArts完整读写权限,Notebook删除后,此权限策略不会被删除。 |
对象存储服务OBS |
说明:
在开发环境中做大规模的数据上传下载时,可以通过OBS桶做中转。 |
存储成本低,吞吐量大,但是小文件读写较弱。建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地读取。 |
对象存储语义,和Posix语义有区别,需要进一步理解。 |
弹性文件服务SFS |
目前只支持在专属资源池中使用;针对探索、实验等非正式生产场景,建议使用这种。开发环境和训练环境可以同时挂载一块SFS存储,省去了每次训练作业下载数据的要求,一般来说重IO读写模型,超过32卡的大规模训练不适合。 |
实现为NFS,可以在多个开发环境、开发环境和训练之间共享,如果不需要重型分布式训练作业,特别是启动训练作业时,不需要额外再对数据进行下载,这种存储便利性可以作为首选。 |
性能比EVS云硬盘块存储低。 |
OceanStor Pacific存储(SFS容量型2.0) |
目前只支持在天工资源池中使用。 适合直接使用SFS容量型2.0提供的文件系统作为训练作业所需的存储进行AI模型的训练和探索。同时提供OBS接口,支持从云外导入训练数据。 |
提供高性能文件客户端,满足重型训练作业中对存储高带宽诉求,同时提供OBS访问功能,同一份训练数据通过OBS接口导入到存储之后不需要再进相关转化,即可支持模型训练。 |
提供对象存储语义,和Posix语义有区别,需要进一步理解。 |
本地存储 |
重型训练作业首选 |
运行所在虚拟机或者裸金属机器上自带的SSD高性能存储,文件读写的吞吐量大,建议对于重型训练作业先将数据准备到对应目录再启动训练。 默认在容器/cache目录下进行挂载,/cache目录可用空间请参考开发环境中不同Notebook规格资源“/cache”目录的大小。 |
存储生命周期和容器生命周期绑定,每次训练都要下载数据。 |
- 在开发环境中如何使用云硬盘EVS块存储?
例如,在创建Notebook实例时选择云硬盘EVS存储小容量,Notebook运行过程中如果发现存储容量不够,可以扩容,请参考动态扩充云硬盘EVS容量。
- 在开发环境中如何使用OBS并行文件系统?
例如,在Notebook中训练时,可直接使用挂载至Notebook容器中的数据集,在运行过程中可以动态挂载OBS并行文件系统。