运行第一个任务
本教程以 DeePMD-kit 软件为例,介绍如何从零开始在 Bohrium 平台上运行计算任务。您也可以查看对应的视频教程:
1. 注册
点击此处进入 Bohrium 首页,在页面右上角点击“登录/注册”按钮可使用手机号注册 Bohrium 账号,如果您已拥有深势科技其他产品线的账号,可以跳过此步骤,直接登录。
2. 充值并创建项目
Bohrium 支持小额在线充值,您可以点击“右上角头像-费用账单”进行自助充值。
完成充值后,点击导航栏-“项目”(图中红框 1),在页面右上方选择“新建项目”(图中红框 2),为项目起一个方便您辨识的名称并点击“确认”即可。如果项目有其他协作者,可以点击“项目成员管理”(图中红框 3),添加项目成员。
项目的创建者可以为项目分配预算、添加或删除成员、查看各成员的消费账单等,项目成员在提交任务时可以直接花费项目创建者的余额,成员间也可以共享镜像等计算环境。更多项目协作的介绍,可查看项目协作。
如果您的经费来自导师、公司等他人账户,则可以让经费的提供者创建项目,并将您添加为项目成员。
3. 开启管理节点(可选)
完成新建项目后,即可开启管理节点。管理节点用于数据准备、编译调试、结果处理等场景,Bohrium 在管理节点中提供了可视化的文件管理能力,可在线预览结构文件、轨迹、脚本和图片等。本案例中使用 Bohrium 管理节点来进行 DeePMD-kit 输入文件的准备和任务提交,您也可以选择在本地或其他机器上进行相关操作。
在 Bohrium 节点管理页右上角选择“创建容器节点”,本案例中镜像选择 ubuntu:20.04-py3.10,所属项目选择节点对应项目,机器类型、系统盘以及自动关机选项无需修改,保持默认值即可;
创建后通常需要 1 分钟左右的时间来启动管理节点,等节点状态从“启动中”变为“运行中”时,即可登录;
Bohrium 提供了网页版 SSH 工具 Web Shell,也支持您通过本地终端登录管理节点。本案例使用 Web Shell 进行演示,点击图中红框 2 按钮后选择 Web Shell 即可:
若您选择在自己本地机器上进行任务提交,则可以跳过此步骤继续后面的操作。
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. 配置 Bohrium CLI
Bohrium CLI 是深势科技开发的一款用于资源管理、任务管理和监控等功能的命令行交互工具,我们需要使用 bohr
来进行任务提交。如果您用 Bohrium 管理节点来提交任务,本次案例所选的 ubuntu:20.04-py3.10 镜像中已预先安装了 bohr
。如果您使用本地机器来提交任务,则可以通过以下命令自行安装:
linux版本
使用 curl 下载:
/bin/bash -c "$(curl -fsSL https://dp-public.oss-cn-beijing.aliyuncs.com/bohrctl/1.0.0/install_bohr_linux_curl.sh)"
macOS版本
使用 curl 下载:
/bin/bash -c "$(curl -fsSL https://dp-public.oss-cn-beijing.aliyuncs.com/bohrctl/1.0.0/install_bohr_mac_curl.sh)"
Windows版本
使用 curl 下载:
curl -o install_bohr_windows_wget.bat https://dp-public.oss-cn-beijing.aliyuncs.com/bohrctl/1.0.0/install_bohr_windows_curl.bat && install_bohr_windows_wget.bat
由于设置环境变量,需要重新打开命令提示符才会生效
Bohrium CLI首次使用时需要绑定AccessKey,请确保绑定的AccessKey是正确的。
请访问Bohrium-AccessKey生成AccessKey(AccessKey再次创建时会导致原来的失效)
获取到ACCESS_KEY值后,将ACCESS_KEY配置都环境变量
注:
ACCESS_KEY
后的XXXX
请替换成您自己的AccessKey
ZSH
如果您使用的是ZSH,使用以下命令将ACCESS_KEY
写入~/.zshrc
echo 'export ACCESS_KEY=XXXX' >> ~/.zshrc
source ~/.zshrc
BASH
如果您使用的是BASH,使用以下命令将ACCESS_KEY
写入~/.bashrc
echo 'export ACCESS_KEY=XXXX' >> ~/.bashrc
source ~/.bashrc
Windows
打开命令提示符 (CMD) 并运行以下命令:(请注意,setx 命令需要重新打开命令提示符才会生效)
setx ACCESS_KEY XXXX
或者通过手动添加环境。
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,
"machine_type": "c4_m15_1 * NVIDIA T4",
"image_address": "registry.dp.tech/dptech/deepmd-kit:2.1.5-cuda11.6"
}
job.json 的字段说明:
字段名称 | 字段含义 | 取值示例 |
---|---|---|
job_name | 您的计算任务的名称,可自由命名 | DeePMD-kit test |
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 |
project_id | 任务所属的项目 ID,可以在 Bohrium “项目管理”页查看 | 0000 |
machine_type | 本次任务所用的机型,可以在 Bohrium 右上角“定价页-提交任务 Tab 下”选择。本案例使用 4 核 15G 内存的 NVIDIA T4 GPU 机器来加速 DeePMD-kit 的训练过程,如需更快的速度您可以选择 A100 或 V100 机型 | c4_m15_1 * NVIDIA T4 |
image_address | 计算节点所用的镜像地址,可以在 Bohrium “镜像中心”页查看。本案例所用软件为 DeePMD-kit 2.1.5 版本 | registry.dp.tech/dptech/deepmd-kit:2.1.5-cuda11.6 |
至此,我们完成了案例所需的所有文件的准备工作。
4. 提交任务
使用 Bohrium CLI 提交任务:
bohr job submit -i job.json -p ./
其中:
- -i 指定任务的配置文件,本案例中是 job.json
- -p 指定输入文件所在的目录,Bohrium 会将指定的目录打包上传,在计算节点上解压后,将工作目录切换为该目录。本案例中是 ./
如下图所示为任务提交成功:
5. 检查任务状态
成功提交计算任务后,您可以在 Bohrium “任务管理”页查看已提交任务的进度和相关日志:
6. 下载结果
任务计算完成后,您可以在 Bohrium “任务管理”页下载计算结果,或将其转存至数据盘:
也可以通过 Bohrium CLI 的相关命令进行下载:
bohr job download -j <JOB ID>
或者
bohr job_group download -j <JOB GROUP ID>
至此,我们在 Bohrium 上完成了一次 DeePMD-kit 训练任务的运行。
最后别忘记在工作结束后,在"节点管理"页关机或者删除管理节点,以免造成浪费。