From f78b8ae442c61077b081d472ecfd2fb71c676623 Mon Sep 17 00:00:00 2001 From: Ofey Chan Date: Thu, 16 Nov 2023 11:26:53 +0800 Subject: [PATCH] docs/cli --- docs/docs/basics/projects.md | 3 +- docs/docs/cli/cli.md | 71 ------- docs/docs/cli/create-project.md | 173 ++++++++++++++++++ .../cli/images/create-project-empty-2.en.png | Bin 0 -> 148845 bytes .../cli/images/create-project-empty-2.zh.png | Bin 0 -> 154040 bytes .../cli/images/create-project-empty-3.en.png | Bin 0 -> 206666 bytes .../cli/images/create-project-empty-3.zh.png | Bin 0 -> 213179 bytes .../cli/images/create-project-empty.en.png | Bin 0 -> 128266 bytes .../cli/images/create-project-empty.zh.png | Bin 0 -> 127442 bytes docs/docs/cli/installation.md | 49 +++++ docs/sidebars.js | 5 +- scripts/build.sh | 0 scripts/install_node.sh | 0 scripts/preview.sh | 0 14 files changed, 227 insertions(+), 74 deletions(-) delete mode 100644 docs/docs/cli/cli.md create mode 100644 docs/docs/cli/create-project.md create mode 100644 docs/docs/cli/images/create-project-empty-2.en.png create mode 100644 docs/docs/cli/images/create-project-empty-2.zh.png create mode 100644 docs/docs/cli/images/create-project-empty-3.en.png create mode 100644 docs/docs/cli/images/create-project-empty-3.zh.png create mode 100644 docs/docs/cli/images/create-project-empty.en.png create mode 100644 docs/docs/cli/images/create-project-empty.zh.png create mode 100644 docs/docs/cli/installation.md mode change 100644 => 100755 scripts/build.sh mode change 100644 => 100755 scripts/install_node.sh mode change 100644 => 100755 scripts/preview.sh diff --git a/docs/docs/basics/projects.md b/docs/docs/basics/projects.md index 7b5e104..549c62d 100644 --- a/docs/docs/basics/projects.md +++ b/docs/docs/basics/projects.md @@ -15,8 +15,7 @@ - `train.py`: 项目训练代码的统一入口文件,将在`train.sh`被调用。在`train.py`里,我们需要实现对分布式训练的支持。 - `README.md`: 项目代码的文档,用于指导用户如何准备数据集、模型以及进行训练和推理。 -为了帮助用户更方便的创建一个符合以上规范的项目,我们提供了Colossal-AI云平台CLI,来帮助用户一键初始化项目以及必要文件,详情可以查看[CLI使用说明](../cli/cli.md)。 - +为了帮助用户更方便的创建一个符合以上规范的项目,我们提供了Colossal-AI云平台CLI,来帮助用户一键初始化项目以及必要文件,详情可以查看[CLI使用说明](../cli/installation.md)。 ## 创建项目 diff --git a/docs/docs/cli/cli.md b/docs/docs/cli/cli.md deleted file mode 100644 index 58f288f..0000000 --- a/docs/docs/cli/cli.md +++ /dev/null @@ -1,71 +0,0 @@ -# 命令行工具 - -## 简介 - -为了方便用户一键创建符合云平台要求的项目,我们提供了一个命令行工具名叫cap,它的名字来源于Colossal-AI Platform的首字母。 - -## 安装 - -1. 从源码安装 - -```bash -pip install git+https://github.com/hpcaitech/ColossalAI-Platform-CLI@main -``` - -1. 从PyPI安装 - -```bash -pip install colossalai-platform -``` - -## 使用方法 - -### 创建一个标准项目 - -我们可以用下面的命令创建一个标准的项目结构,记得替换``为你自己的项目名称。 - -```bash -cap project init -``` - -这个项目将包含以下文件 - -``` -- - - Dockerfile - - train.sh - - train.py - - HyperParameters.json - - README.md - - requirements.txt -``` - -`train.sh`,`train.py`,`HyperParameters.json`为云平台启动任务时的必要文件。 - -**1. HyperParameters.json** - -这个文件定义了用户启动训练任务时所需要输入的超参数,用户可以通过在json里添加自己的超参数定义。 - -``` -{ - "HyperParameters": [ - { - "name": "max_epoch", - "types": "int", - "defaultValue": "10", - "description" : "" - } - ] -} -``` -在启动任务时,就能看到这个超参了。 - -![Hyper Parameters](./images/hyperparams.png) - -**2. train.py** - -`train.py`里包含了主要的训练代码。 - -**3. train.sh** - -`train.sh`是整个项目的主要入口,云平台会执行这个文件来启动训练。 diff --git a/docs/docs/cli/create-project.md b/docs/docs/cli/create-project.md new file mode 100644 index 0000000..d61f799 --- /dev/null +++ b/docs/docs/cli/create-project.md @@ -0,0 +1,173 @@ +# 创建项目并上传到平台 + +通过 `cap project init`,用户可以创建一个标准的项目框架。在下面的命令中,替换 `my-project` 为你自己的项目名称。 + +```bash +cap project init my-project +# Project skeleton `my-project` has been initialized in `/tmp/cap-demonstration/my-project` +# +# - Edit `train.sh`, `train.py` and `HyperParameters.json` to create your own training project. +# - To upload it to the platform, run `cap project create` and `cap project upload-dir`. +``` + +这个命令将会在当前目录下,创建如下的项目框架: + +``` +- my-project + - Dockerfile + - train.sh + - train.py + - HyperParameters.json + - README.md + - requirements.txt +``` + +## 配置任务文件 + +`train.sh`,`train.py`,`HyperParameters.json` 为平台启动任务所必需的文件,下面依次介绍它们的功能。 + +### HyperParameters.json + +这个文件定义了用户启动训练任务时,可以从界面输入的超参数。最终的超参数将会作为环境变量传递。 + +例如,添加超参数定义 `max_epoch` 如下: + +```json +// HyperParameters.json +{ + "HyperParameters": [ + { + "name": "max_epoch", + "types": "int", + "defaultValue": "10", + "description" : "the max epoch of training" + } + ] +} +``` + +启动任务时就会有选框,可以配置 `max_epoch` 的值。 + +![Hyper Parameters](./images/hyperparams.png) + +最终对应的环境变量是 `MAX_EPOCH`。 + +### train.sh + +启动训练任务时,平台将会在每个训练容器内运行 `train.sh` 脚本。 + +训练任务使用 torchrun,挂载的数据、超参数和 RANK 等信息会通过环境变量传入。 + +项目框架中的 `train.sh` 如下: + +```bash +#!/usr/bin/env bash +SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +# =================================================================== +# Welcome to ColossalAI Platform! +# =================================================================== +# Those environment variables would be injected by the runner: +# +# 1. ColossalAI Platform defined ones: +# PROJECT_DIR, DATASET_DIR, MODEL_DIR, OUTPUT_DIR, SCRIPT_DIR +# +# 2. Required by torchrun: +# NNODES, NPROC_PER_NODE, NODE_RANK, MASTER_ADDR, MASTER_PORT +# +# 3. Hyperparameters from configuration UI: +# (check HyperParameters.json for more details) +# +# After that, the runner would execute `train.sh`, this script. +# =================================================================== + +torchrun --nnodes ${NNODES} \ + --nproc_per_node ${NPROC_PER_NODE} \ + --node_rank ${NODE_RANK} \ + --master_addr ${MASTER_ADDR} \ + --master_port ${MASTER_PORT} \ + ${SCRIPT_DIR}/train.py \ + --project_dir ${PROJECT_DIR} \ + --dataset_dir ${DATASET_DIR} \ + --model_dir ${MODEL_DIR} \ + --output_dir ${OUTPUT_DIR} + +# TODO: add more argument passing here +``` + +### train.py + +`train.py` 是主要的训练代码。在训练任务中它会被 `train.sh` 调用,在本地测试时,可以另外传入参数来测试。 + +## 上传项目到平台 + +### 创建空项目 + +首先在平台上创建一个空项目。可以使用浏览器界面或者命令行工具。示例命令如下: + +```bash +cap project create +# Create an empty project, user: myusername +# Project name: My Project +# Project description: This project is for demonstration purpose. +# Do you want to continue [y/N]: y +# Project created successfully, id: 65558667d419d3db7d3ddbb6 + +cap project list +# Name: My Project +# ID: 65558667d419d3db7d3ddbb6 +# Description: This project is for demonstration purpose. +# Created At: 2023-11-16 03:03:03 +# +# ... +``` + +登录平台的浏览器界面,可以在**控制台-资产-项目**下看到创建的项目。 + +![创建项目](./images/create-project-empty.zh.png) + +点击进入**详情**,可以看到项目为空。 + +![创建项目详情](./images/create-project-empty-2.zh.png) + +上传项目代码可以通过浏览器界面中的**上传文件夹**按钮,也可以使用命令行工具 `cap`。接下来演示如何使用命令行工具上传代码。 + +### 把本地的项目代码上传到平台 + +首先需要拿到项目的 ID,可以通过 `cap project list` 查看,也可以在浏览器界面上查看 URL 中的 ID。 + +在上面的示例中,项目 ID 为 `65558667d419d3db7d3ddbb6`。 + +接下来使用 `cap project upload-dir` 命令上传项目代码。示例输出如下: + +```bash +cd my-project/ + +cap project upload-dir 65558667d419d3db7d3ddbb6 . +# Upload overview: +# Local directory: /tmp/cap-demonstration/my-project +# Dataset: +# ID: 65558667d419d3db7d3ddbb6 +# Name: My Project +# Description: This project is for demonstration purpose. +# CreatedAt: 2023-11-16 03:03:03 +# +# The project content would be overwritten. +# +# Do you want to continue [y/N]: y +# Clearing project 65558667d419d3db7d3ddbb6... +# Uploading directory . as project 65558667d419d3db7d3ddbb6... +# HyperParameters.json => HyperParameters.json +# README.md => README.md +# requirements.txt => requirements.txt +# Dockerfile => Dockerfile +# patch.py => patch.py +# train.py => train.py +# train.sh => train.sh +# Done. +# Directory . uploaded as project 65558667d419d3db7d3ddbb6. +``` + +上传完成后,可以在浏览器界面上看到项目代码的内容。 + +![上传后的项目代码](./images/create-project-empty-3.zh.png) diff --git a/docs/docs/cli/images/create-project-empty-2.en.png b/docs/docs/cli/images/create-project-empty-2.en.png new file mode 100644 index 0000000000000000000000000000000000000000..2695844ea7f2d939c4589ebf8c959d5678e630d5 GIT binary patch literal 148845 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