跳到主要内容

运行第一个任务

本教程以 DeePMD-kit 软件为例,介绍如何从零开始在 Bohrium 平台上运行计算任务。您也可以查看对应的视频教程:

Loading...

1. 注册

点击此处进入 Bohrium 首页,在页面右上角点击“登录/注册”按钮可使用手机号注册 Bohrium 账号,如果您已拥有深势科技其他产品线的账号,可以跳过此步骤,直接登录。

登录/注册

2. 充值并创建项目

Bohrium 支持小额在线充值,您可以点击“右上角头像-费用账单”进行自助充值。

充值入口

完成充值后,点击导航栏-“项目”(图中红框 1),在页面右上方选择“新建项目”(图中红框 2),为项目起一个方便您辨识的名称并点击“确认”即可。如果项目有其他协作者,可以点击“项目成员管理”(图中红框 3),添加项目成员。

添加成员

项目的创建者可以为项目分配预算、添加或删除成员、查看各成员的消费账单等,项目成员在提交任务时可以直接花费项目创建者的余额,成员间也可以共享镜像等计算环境。更多项目协作的介绍,可查看项目协作

如果您的经费来自导师、公司等他人账户,则可以让经费的提供者创建项目,并将您添加为项目成员。

3. 开启管理节点(可选)

完成新建项目后,即可开启管理节点。管理节点用于数据准备、编译调试、结果处理等场景,Bohrium 在管理节点中提供了可视化的文件管理能力,可在线预览结构文件、轨迹、脚本和图片等。本案例中使用 Bohrium 管理节点来进行 DeePMD-kit 输入文件的准备和任务提交,您也可以选择在本地或其他机器上进行相关操作。

  1. 在 Bohrium 节点管理页右上角选择“创建容器节点”,本案例中镜像选择 ubuntu:20.04-py3.10,所属项目选择节点对应项目,机器类型、系统盘以及自动关机选项无需修改,保持默认值即可;

  2. 创建后通常需要 1 分钟左右的时间来启动管理节点,等节点状态从“启动中”变为“运行中”时,即可登录;

  3. Bohrium 提供了网页版 SSH 工具 Web Shell,也支持您通过本地终端登录管理节点。本案例使用 Web Shell 进行演示,点击图中红框 2 按钮后选择 Web Shell 即可:

FirstRunwebshell

若您选择在自己本地机器上进行任务提交,则可以跳过此步骤继续后面的操作。

4. 运行 DeePMD-kit 任务

本案例使用 DeePMD-kit 训练水的深度势能模型来进行演示,任务运行约需 10 min。

1. 准备输入文件

打开 Web Shell,使用 cd /personal 命令进入个人数据盘,您可以通过拖拽上传等方式传输数据至数据盘中。本案例中使用 wget 来下载 DeePMD-kit 输入文件,输入文件均已存储至 Bohrium_DeePMD-kit_example 文件夹内,您可以依次执行以下两句命令来进行下载和解压:

wget https://bohrium-example.oss-cn-zhangjiakou.aliyuncs.com/Bohrium_DeePMD-kit_example.zip
unzip Bohrium_DeePMD-kit_example.zip

刷新并展开左侧目录树,展示如下图,说明数据已准备成功: 输入图片说明

2. 配置 Lebesgue Utility

Lebesgue Utility 是深势科技开发的一款用于资源管理、任务管理和监控等功能的命令行交互工具,我们需要使用 Utility 来进行任务提交。如果您用 Bohrium 管理节点来提交任务,本次案例所选的 ubuntu:20.04-py3.10 镜像中已预先安装了 Utility。如果您使用本地机器来提交任务,则可以通过以下命令自行安装:

pip install lbg

如果速度较慢,可以切换至清华源:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ lbg

首次使用 Lebesgue Utility,需要先配置账号:

lbg config account

输入您的 Bohrium 邮箱和对应密码即可。

3. 准备配置文件

输入文件中已经预置了配置文件 job.json ,我们只需修改其中的部分参数即可,执行以下命令进入输入文件夹:

cd Bohrium_DeePMD-kit_example

文件管理 页面,您可以双击左侧文件树中的 job.json 文件,在线编辑和保存,也可以在命令行窗口中进行编辑:

vi job.json

输入 i 进入编辑模式,完成修改后,按 esc 退出编辑模式后输入 : 进入末行命令符模式,然后输入 wq 保存并退出,配置文件内容如下:

注意:所有 "project_id": 后的 0000 均需替换为您自己的项目 ID ,可在“项目管理”页查看。另外,json 文件的格式要求 {} 内最后一个字段后不要添加逗号,否则会有语法错误。

{
"job_name": "DeePMD-kit test",
"command": " cd se_e2_a && dp train input.json > tmp_log 2>&1 && dp freeze -o graph.pb",
"log_file": "se_e2_a/tmp_log",
"backward_files": ["se_e2_a/lcurve.out", "se_e2_a/graph.pb"],
"project_id": 0000,
"platform": "ali",
"machine_type": "c4_m15_1 * NVIDIA T4",
"job_type": "container",
"image_address": "registry.dp.tech/dptech/deepmd-kit:2.1.5-cuda11.6"
}

job.json 的字段说明:

字段名称字段含义取值示例
job_name您的计算任务的名称,可自由命名DeePMD-kit test
project_id任务所属的项目 ID,可以在 Bohrium “项目管理”页查看0000
machine_type本次任务所用的机型,可以在 Bohrium 右上角“定价页-提交任务 Tab 下”选择。本案例使用 4 核 15G 内存的 NVIDIA T4 GPU 机器来加速 DeePMD-kit 的训练过程,如需更快的速度您可以选择 A100 或 V100 机型c4_m15_1 * NVIDIA T4
platform资源提供方,本案例使用阿里云ali
image_address计算节点所用的镜像地址,可以在 Bohrium “镜像中心”页查看。本案例所用软件为 DeePMD-kit 2.1.5 版本registry.dp.tech/dptech/deepmd-kit:2.1.5-cuda11.6
command计算节点上将要执行的命令。进入本案例脚本所在文件夹,执行 dp train 命令,并将屏幕输出打印至 tmp_log 文件,执行 dp freeze 命令,并将结果保存至 graph.pb 文件cd se_e2_a && dp train input.json > tmp_log 2>&1 && dp freeze -o graph.pb
log_file计算过程中随时可以查看的日志文件,计算过程中可在 Bohrium “任务管理”页进行查看se_e2_a/tmp_log
backward_files计算结束之后需要下载的结果文件,字段为空则会保留计算节点工作目录下的所有文件se_e2_a/lcurve.out,se_e2_a/graph.pb

至此,我们完成了案例所需的所有文件的准备工作。

4. 提交任务

使用 Lebesgue Utility 提交任务:

lbg job submit -i job.json -p ./

其中:

  • -i 指定任务的配置文件,本案例中是 job.json
  • -p 指定输入文件所在的目录,Bohrium 会将指定的目录打包上传,在计算节点上解压后,将工作目录切换为该目录。本案例中是 ./

如下图所示为任务提交成功: 提交任务

5. 检查任务状态

成功提交计算任务后,您可以在 Bohrium “任务管理”页查看已提交任务的进度和相关日志:

查看任务状态

6. 下载结果

任务计算完成后,您可以在 Bohrium “任务管理”页下载计算结果,或将其转存至数据盘:

下载结果

也可以通过 Lebesgue Utility 的相关命令进行下载:

lbg job download <JOB ID>

lbg jobgroup download <JOB GROUP ID>

至此,我们在 Bohrium 上完成了一次 DeePMD-kit 训练任务的运行。

最后别忘记在工作结束后,在"节点管理"页关机或者删除管理节点,以免造成浪费。

关机节点