更新时间:2025-07-14 GMT+08:00
分享

创建Notebook实例

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

约束限制

  • 在创建Notebook时,默认会开启自动停止功能,在指定时间内停止运行Notebook,避免资源浪费。
  • 只有处于“运行中”状态的Notebook,才可以执行打开、停止操作。
  • 一个账户最多创建10个Notebook。
  • Notebook不支持开放端口对外提供服务。

计费说明

Notebook使用涉及到计费,具体收费项如下:
  • 处于“运行中”状态的Notebook,会消耗资源,产生费用。根据您选择的资源不同,收费标准不同,价格详情请参见产品价格详情。当您不需要使用Notebook时,建议停止Notebook,避免产生不必要的费用。
  • 创建Notebook时,如果选择使用云硬盘EVS存储配置,实例不删除,云硬盘EVS会一直收费,建议及时停止并删除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实例中变更镜像。

      “jupyterlab”

      JupyterLab支持以下两个版本,默认为3.2.3版本。不同版本的功能体验和稳定性有所不同。

      • 3.2.3:当前的稳定版本,经过广泛验证,性能稳定可靠,适合长期使用。如果您需要一个稳定的工作环境,建议选择此版本。
      • 4.3.1:最新版本,包含多项新功能和改进,但可能存在不稳定的情况。如果您希望体验最新功能,可以选择此版本。关于4.3.1版本的详细说明,请参见JupyterLab 4.3.1版本更新说明
        说明:

        3.2.3版本将逐步下线,请根据需求选择合适的JupyterLab版本。

      “资源类型”

      支持公共资源池和专属资源池。专属资源池支持CPU、NPU和GP异构资源池混布能力,例如当节点规格支持GP和CPU时,“实例规格”可以选择GP或CPU。

      “公共资源池”无需单独购买,即开即用,按需付费,即按您的Notebook实例运行时长进行收费。

      “专属资源池”按实际情况选择已创建的专属资源池。如果没有专属资源,需要单独购买并创建。

      说明:

      如果您购买的专属池是单节点的Tnt004规格,使用该集群创建Notebook实例时,Tnt004卡空闲但是规格显示售罄或者创建失败显示资源不足时,请联系技术支撑。

      “类型”

      芯片类型包括CPU、GP和ASCEND类型。

      不同的镜像支持的芯片类型不同,根据实际需要选择。

      GP性能更佳,但是相对CPU而言,费用更高。

      “实例规格”

      根据选择的芯片类型不同,可选资源规格也不同。请根据界面实际情况和需要选择。

      • CPU规格

        “2核 8GB”:Intel CPU通用规格,用于快速数据探索和实验。

        “8核 32GB”:Intel CPU算力增强型,适用于密集计算场景下运算

      • GP规格

        “GP: 1*Vnt1(32GB)|CPU: 8 核 64GB”:GP单卡规格,32GB显存,适合深度学习场景下的算法训练和调测

        “GP: 1*Tnt004(16GB)|CPU: 8核* 32GB”: GP单卡规格,16GB显存,推理计算最佳选择,覆盖场景包括计算机视觉、视频处理、NLP等

        “GP: 1*Pnt1(16GB)|CPU: 8核 64GB”:GP单卡规格,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地址。

      “VPC接入”

      说明:

      VPC接入是白名单功能,如果有试用需求,请提工单申请权限。

      开启此功能后,实例能够挂载在用户的VPC下,实现多网络平面接入。Notebook之间可以通过打通VPC实现网络互通。

      使用此功能前,您需要参考权限管理配置VPC细粒度访问授权。如果您有“VPC Administrator”权限,则无需配置。

      • VPC:从右侧下拉菜单中选择已有的VPC或根据需求新建虚拟私有云。
      • 子网:选择VPC后此处会显示默认的子网,从右侧下拉菜单选择已有的子网或根据需求新建子网。
      • 安全组:选择已有的安全组或新建安全组。
    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/work。

图7 工作目录示例

专属池的部分Notebook实例以root用户身份启动。具体说明如下:

  • 当以root用户身份登录终端时,系统会自动执行source /home/ma-user/.bashrc命令,以同步ma-user用户的环境变量。如果需要禁用此功能,可以通过在自定义镜像中设置环境变量export DISABLE_MA_USER_BASHRC=true,即可阻止加载/home/ma-user/.bashrc文件。
  • 以root用户启动的实例,仅支持使用root用户进行SSH远程连接。
    图8 使用root用户进行SSH远程连接

JupyterLab 4.3.1版本更新说明

JupyterLab 4.3.1版本在用户体验、功能完善和性能提升方面均有显著改进,以下是该版本的主要更新内容。关于4.3.1版本的更多功能信息,请参见JupyterLab 4.x官方文档

表4 功能更新说明

功能模块

功能描述

工作区(Workspaces)特性

支持多个工作区,您可以在不同的工作空间中组织和管理不同的项目和文件,提升项目管理效率。

新增Launcher创建工具栏

添加新的工具栏,提供了更多的功能访问方式,使操作更加便捷。

主题框架优化

改进主题框架,增强主题的灵活性和兼容性。您可以根据需求进行个性化的界面调整。

设置界面优化

优化设置界面的用户体验,使配置更加直观和易于使用。

性能优化和调试功能增强

对系统性能进行全面优化,调试功能也得到增强,提升开发体验。

代码编辑器增强

对代码编辑器进行改进,增加更多功能和性能优化,提升代码编写和编辑的体验。

搜索功能增强

增强搜索功能,您可以更快速、更准确地查找所需内容。

性能增强

整体性能得到提升,系统的响应速度和稳定性都有显著提高。

支持自定义CSS样式表

支持自定义CSS样式表,以便调整界面外观,满足个性化需求。

Markdown支持图表

在Markdown文档中支持图表功能,使图文并茂的文档编写变得更加方便。

虚拟滚动条

引入虚拟滚动条,改善大文件或大量内容的滚动体验。

Workspace UI

改进工作区用户界面,提供了更好的可视化效果和操作体验,增强界面友好性。

文件访问记录

支持查看最近打开和关闭文件,便于快速访问常用文件,提升工作效率。

键盘快捷键改进

改进键盘快捷键,提高操作的效率和便捷性。

Notebook容器挂载目录说明

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

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

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

表5 Notebook挂载目录说明

挂载点

是否只读

备注

/home/ma-user/work/

客户数据的持久化目录。

/data

客户PFS的挂载目录。

/cache

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

/train-worker1-log

兼容训练作业调试过程。

/dev/shm

用于PyTorch引擎加速。

Notebook选择存储说明

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

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

存储类型

建议使用场景

优点

缺点

云硬盘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云硬盘块存储低。

OceanStor Pacific存储(SFS容量型2.0)

目前只支持在天工资源池中使用。

适合直接使用SFS容量型2.0提供的文件系统作为训练作业所需的存储进行AI模型的训练和探索。同时提供OBS接口,支持从云外导入训练数据。

提供高性能文件客户端,满足重型训练作业中对存储高带宽诉求,同时提供OBS访问功能,同一份训练数据通过OBS接口导入到存储之后不需要再进相关转化,即可支持模型训练。

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

本地存储

重型训练作业首选

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

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

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

常见问题

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

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

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

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

  3. 使用JupyterLab 4.3.1版本时启动出现问题,如何切换回JupyterLab 3.2.3版本?

    在Notebook实例列表的“操作”列,单击目标实例对应的“启动”,在弹出的对话框中,选择JupyterLab 3.2.3版本,单击“确定”后即可启动JupyterLab 3.2.3版本。

  4. 可以在一个项目中同时使用JupyterLab 3.2.3和4.3.1版本吗?
    不建议在同一个项目中同时使用两个版本。每个JupyterLab实例独立运行,因此需要为每个版本分别创建实例。如果您希望尝试不同版本,可以在不同的容器或环境中分别启动它们,但请注意以下几点:
    • 不同版本的配置文件和数据路径可能不同,需确保数据和配置的独立性。
    • 同时运行多个版本可能会导致端口冲突或其他资源竞争问题。
  5. Notebook是否支持使用gdb工具?

    Notebook目前不支持gdb工具的使用。gdb工具的运行依赖开启特权容器(privileged container)的Docker,而开发环境的容器出于安全考虑,无法开启特权容器,因此不支持在Notebook中使用gdb工具。

  6. Notebook之间如何互通?

    您可以通过开通“VPC接入”功能,在Notebook之间打通VPC实现互通。

相关文档