更新时间:2024-08-16 GMT+08:00
分享

创建Notebook实例

在开始进行模型开发前,您需要创建Notebook实例,并打开Notebook进行编码。

背景信息

  • Notebook使用涉及到计费,具体收费项如下:
    • 处于“运行中”状态的Notebook,会消耗资源,产生费用。根据您选择的资源不同,收费标准不同,价格详情请参见产品价格详情。当您不需要使用Notebook时,建议停止Notebook,避免产生不必要的费用。
    • 创建Notebook时,如果选择使用云硬盘EVS存储配置,实例不删除,云硬盘EVS会一直收费,建议及时停止并删除Notebook,避免产品不必要的费用。
  • 在创建Notebook时,默认会开启自动停止功能,在指定时间内停止运行Notebook,避免资源浪费。
  • 只有处于“运行中”状态的Notebook,才可以执行打开、停止操作。
  • 一个账户最多创建10个Notebook。

创建Notebook实例

  1. 登录ModelArts管理控制台,在左侧导航栏中选择“全局配置”,检查是否配置了访问授权。如果未配置,请先配置访问授权。参考使用委托授权完成操作
    图1 查看委托配置信息
  2. 登录ModelArts管理控制台,在左侧导航栏中选择“开发空间 > Notebook”,进入“Notebook”页面。
  3. 单击右上角“创建”,进入“创建Notebook”页面,请参见如下说明填写参数。
    1. 填写Notebook基本信息,包含名称、描述、是否自动停止,详细参数请参见表1
      图2 Notebook基本信息
      表1 基本信息的参数描述

      参数名称

      说明

      “名称”

      Notebook的名称。系统会自动生成一个名称,您可以根据业务需求重新命名,命名规则如下:只能包含数字、大小写字母、下划线和中划线,长度不能超过128位且不能为空。

      “描述”

      对Notebook的简要描述。

      “自动停止”

      默认开启,且默认值为“1小时”,表示该Notebook实例将在运行1小时之后自动停止,即1小时后停止规格资源计费。可选择“1小时”“2小时”“4小时”“6小时”“自定义”几种模式。选择“自定义”模式时,可指定1~72小时范围内任意整数。

      • 定时停止:开启定时停止功能后,该Notebook实例将在运行时长超出您所选择的时长后,自动停止。
      说明:

      出于对用户任务进度的保护,在您设置的自动停止时间到达后,Notebook不会立即自动停止,可能会有2-5分钟的延迟,方便您进行续约。

    2. 填写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规格

        有Snt9(32GB显存)单卡、两卡、八卡等规格。配搭ARM处理器,适合深度学习场景下的模型训练和调测。

      “存储配置”

      包括“云硬盘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地址查询”获取,而不是使用ipconfigifconfig/ip命令在本地查询。

      图5 查询外网IP地址

      创建完Notebook后,可以在Notebook详情页中修改白名单IP地址。

    3. 可选:添加Notebook标签。在标签栏输入“标签键”“标签值”,单击“添加”
      表3 添加标签

      参数名

      参数说明

      “标签”

      ModelArts支持对接标签管理服务TMS,在ModelArts中创建资源消耗性任务(例如:创建Notebook、训练作业、推理在线服务)时,可以为这些任务配置标签,通过标签实现资源的多维分组管理。

      标签详细用法请参见ModelArts如何通过标签实现资源分组管理

      添加标签后,可在Notebook实例详情页查看标签内容,也可进行修改、删除标签。

      可以在标签输入框下拉选择TMS预定义标签,也可以自己输入自定义标签。预定义标签对所有支持标签功能的服务资源可见。租户自定义标签只对自己服务可见。

  4. 参数填写完成后,单击“立即创建”进行规格确认。
  5. 参数确认无误后,单击“提交”,完成Notebook的创建操作。

    进入Notebook列表,正在创建中的Notebook状态为“创建中”,创建过程需要几分钟,请耐心等待。当Notebook状态变为“运行中”时,表示Notebook已创建并启动完成。

  6. 在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种方式访问:

ModelArts提供的Notebook实例是以ma-user启动的,用户进入实例后,工作目录默认是/home/ma-user。

Notebook容器挂载目录介绍

创建Notebook实例,存储选择EVS时,Notebook会使用/home/ma-user/work目录作为用户的工作空间持久化存储。

存放在work目录的内容,在实例停止、重新启动后依然保留,其他目录下的内容不会保留,使用开发环境时建议将需要持久化的数据放在/home/ma-user/work目录。

更多Notebook实例的目录挂载情况(以下挂载点在保存镜像的时候不会保存)如表4所示。

表4 Notebook挂载目录介绍

挂载点

是否只读

备注

/home/ma-user/work/

客户数据的持久化目录。

/data

客户PFS的挂载目录。

/cache

裸机规格时支持,用于挂载宿主机NVMe的硬盘。

/train-worker1-log

兼容训练任务调试过程。

/dev/shm

用于PyTorch引擎加速。

Notebook选择存储说明

不同存储的实现方式都不同,在性能、易用性、成本的权衡中可以有不同的选择,没有一个存储可以覆盖所有场景,了解下云上开发环境中各种存储使用场景说明,更能提高使用效率。

表5 云上开发环境中各种存储使用场景说明

存储类型

建议使用场景

优点

缺点

云硬盘EVS

比较适合只在开发环境中做数据、算法探索,性能较好。

块存储SSD,可以理解为一个磁盘,整体IO性能比NFS要好,可以动态扩充,最大可以到4096GB。

云硬盘EVS作为持久化存储挂载在/home/ma-user/work目录下,该目录下的内容在实例停止后会被保留,存储支持在线按需扩容。

只能在单个开发环境中使用 。

并行文件系统PFS

说明:
  • 并行文件系统PFS为白名单功能,如需使用,请联系华为技术支持开通。
  • 仅支持挂载同一区域下的OBS并行文件系统(PFS)。

适合直接使用PFS桶作为持久化存储进行AI开发和探索,使用场景如下。

  1. 数据集的存储。将存储在PFS桶的数据集直接挂载到Notebook进行浏览和数据处理,在训练时直接使用。直接在创建Notebook的时候选择并行文件系统PFS

    或在实例运行后,将承载数据集的OBS并行文件系统动态挂载至Notebook中,详细操作请参考动态挂载OBS并行文件系统

  2. 代码的存储。在Notebook调测完成,可以直接指定对应的对象存储路径作为启动训练的代码路径,方便临时修改。
  3. 训练观测。可以将训练日志等输出路径进行挂载,在Notebook中实时查看和观测,特别是利用TensorBoard可视化功能完成对训练输出的分析。

PFS是一种经过优化的高性能对象存储文件系统,存储成本低,吞吐量大,能够快速处理高性能计算(HPC)工作负载。在需要使用对象存储服务场景下,推荐使用PFS挂载。

说明:

建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地存储读取,以获取更好的读写与吞吐性能。

小文件频繁读写性能较差,例如直接作为存储用于模型重型训练,大文件解压等场景慎用。

说明:

PFS挂载需要用户对当前桶授权给ModelArts完整读写权限,Notebook删除后,此权限策略不会被删除。

对象存储服务OBS

说明:
  • OBS对象存储为白名单功能,如需使用,请联系华为技术支持开通。
  • 仅支持挂载同一区域下的OBS对象存储。

在开发环境中做大规模的数据上传下载时,可以通过OBS桶做中转。

存储成本低,吞吐量大,但是小文件读写较弱。建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地读取。

对象存储语义,和Posix语义有区别,需要进一步理解。

弹性文件服务SFS

目前只支持在专属资源池中使用;针对探索、实验等非正式生产场景,建议使用这种。开发环境和训练环境可以同时挂载一块SFS存储,省去了每次训练作业下载数据的要求,一般来说重IO读写模型,超过32卡的大规模训练不适合。

实现为NFS,可以在多个开发环境、开发环境和训练之间共享,如果不需要重型分布式训练作业,特别是启动训练作业时,不需要额外再对数据进行下载,这种存储便利性可以作为首选。

性能比EVS云硬盘块存储低。

本地存储

重型训练任务首选

运行所在虚拟机或者裸金属机器上自带的SSD高性能存储,文件读写的吞吐量大,建议对于重型训练任务先将数据准备到对应目录再启动训练。

默认在容器/cache目录下进行挂载,/cache目录可用空间请参考开发环境中不同Notebook规格资源“/cache”目录的大小

存储生命周期和容器生命周期绑定,每次训练都要下载数据。

  1. 在开发环境中如何使用云硬盘EVS块存储?

    例如,在创建Notebook实例时选择云硬盘EVS存储小容量,Notebook运行过程中如果发现存储容量不够,可以扩容,请参考动态扩充云硬盘EVS容量

  2. 在开发环境中如何使用OBS并行文件系统?

    例如,在Notebook中训练时,可直接使用挂载至Notebook容器中的数据集,在运行过程中可以动态挂载OBS并行文件系统

相关文档