diff --git a/docs/source/automl/hpo_pai.md b/docs/source/automl/hpo_pai.md index ac2310a41..5feb206d9 100644 --- a/docs/source/automl/hpo_pai.md +++ b/docs/source/automl/hpo_pai.md @@ -69,7 +69,7 @@ accessKeySecret= xxx - --selected_cols 表里面用于训练和评估的列, 有助于提高训练速度 -- --cluster 定义PS的数目和worker的数目,有一个worker将被用于评估, 其它的worker用于训练. +- --cluster 定义PS的数目和worker的数目,有一个worker将被用于评估, 其它的worker用于训练 ```bash --cluster='{"ps":{"count":1, "cpu":1000}, "worker" : {"count":3, "cpu":1000, "gpu":100, "memory":40000}}' @@ -118,7 +118,7 @@ accessKeySecret= xxx feature_config.features[input_names[0]=field1].embedding_dim; feature_config.features[input_names[0]=field2].embedding_dim ``` -- 如果name里面包含了多个参数名称,那么candidates也需要有多个参数值,用";"分割如"32;32" +- 如果name里面包含了多个参数名称,那么candidates也需要有多个参数值,用";"分割,如"32;32" - candidates: 候选值 - type: 候选值类型, 支持Categorical, Integer, Real - Integer类型 @@ -132,7 +132,7 @@ accessKeySecret= xxx } ``` -- Real类型 + - Real类型 ```json { diff --git a/docs/source/automl/hpo_res.md b/docs/source/automl/hpo_res.md index ef3abe85d..387a8a9f4 100644 --- a/docs/source/automl/hpo_res.md +++ b/docs/source/automl/hpo_res.md @@ -10,13 +10,13 @@ ### 查看Trial详情页面 -点击Trials detail按钮,您可以在此页面中看到整个实验过程中,每个trial的结果情况。 +点击Trials detail按钮,您可以在此页面中看到整个实验过程中每个trial的结果情况。 其中succeeded代表此次trial成功运行,earlystop表示该组参数运行结果不太好,被提前停止了。停止策略可以查看pai_nni/core/pai_assessor.PaiAssessor,当然也可以根据业务情况去修改。 ![image.png](../../images/automl/pai_nni_detail.jpg) ### 查看作业日志详情 -点击每个Trial No,可以看到每个参数Trial的日志、参数详情,报错和输出可以点击以下3个按钮。 +点击每个Trial No,可以看到每个参数Trial的日志和参数详情,报错和输出可以点击以下3个按钮。 ![image.png](../../images/automl/pai_nni_log.jpg) ### 手动停止某组实验超参 @@ -27,7 +27,7 @@ ### 多目标default metric查看 -假设用户配置的metric_config为如下,那么UI中Default metric中显示3项;该组trial最终的metric +假设用户配置的metric_config如下,那么UI中Default metric中显示3项;该组trial最终的metric - default=auc\*0.5+accuracy\*0.5 - auc即为最终的auc值 @@ -48,7 +48,7 @@ accuracy=0.5 ### 多组参数比较 -点击Trail NO,选中后,点击compare, 就可以查看对应参数的相关信 +点击Trail NO,选中后,点击compare, 就可以查看对应参数的相关信息 ![image.png](../../images/automl/nni-compare.png) ### 多组实验查看 @@ -60,7 +60,7 @@ accuracy=0.5 可以使用自定义参数,也可以使用该功能重启失败的trial。 点击复制这个按钮,然后跳出Customized trial,点击提交/或者修改即可,此处是新增一组参数,应该记得调高MaxTrialNo -注意该功能在2.10目前有问题;需要nni\<=2.9 +(注意该功能在2.10目前有问题;需要nni\<=2.9) ![image.png](../../images/automl/retry_trial.jpg) ### 失败续跑 @@ -77,9 +77,7 @@ cmd=PAI -name xxx ### 一键重试失败的Trial -当用户确认失败原因为没有资源,或者算法偶现失败等原因时,想采取重试策略,可以使用该API发起多个失败的Trial一起重试。在内部其实是将NNI最大运行次数增大,并发数保持不变;并且是新增了多个Trial,每个Trial的参数和之前失败的Trial保持一致。 - -注意该功能在2.10目前有问题;需要nni\<=2.9 +当用户确认失败原因为没有资源,或者算法偶现失败等原因时,想采取重试策略,可以使用该API发起多个失败的Trial一起重试。在内部其实是将NNI最大运行次数增大,并发数保持不变;并且是新增了多个Trial,每个Trial的参数和之前失败的Trial保持一致(注意该功能在2.10目前有问题;需要nni\<=2.9) - experiment_id: 重试的实验ID(必选) diff --git a/docs/source/automl/pai_nni_hpo.md b/docs/source/automl/pai_nni_hpo.md index e23d64979..afcb55f86 100644 --- a/docs/source/automl/pai_nni_hpo.md +++ b/docs/source/automl/pai_nni_hpo.md @@ -1,6 +1,6 @@ # PAI-NNI-HPO -HPO是对模型参数、训练超参数(opt、lr)等进行自动搜索调优的一个工具,从而获取较优参数,提升模型效果。可以大大地节省算法同学调参的时间,聚焦在建模和业务上。我们对NNI、PAI产品和算法等进行集成,支持多平台0代码修改调参,并做了加速、监控、调度、续跑等功能增强。 +HPO是一个对模型参数、训练超参数(opt、lr)等进行自动搜索调优的工具,从而获取较优参数,提升模型效果。可以大大地节省算法同学调参的时间,聚焦在建模和业务上。我们对NNI、PAI产品和算法等进行集成,支持多平台0代码修改调参,并对加速、监控、调度、续跑等功能做了增强。 [NNI参考](https://nni.readthedocs.io/en/stable/hpo/overview.html) @@ -20,8 +20,8 @@ java环境:如果需要运行MC的PAI命令,需要java8 source install_hpo_tools.sh $1 $2 ``` -- 第一个参数为下载examples的位置,默认下载在输入路径下面的examples下; 如果没写目录,默认生成在根目录下。 -- 第二个参数为aliyun/eflops/mac-dlc/mac-arm-dlc,用来控制安装dlc的版本,如果没写,则默认安装aliyun版本的dlc +- 第一个参数为下载examples的位置,默认下载在输入路径下面的examples下,如果为空,则默认生成在根目录下 +- 第二个参数为aliyun/eflops/mac-dlc/mac-arm-dlc,用来控制安装dlc的版本,如果为空,则默认安装aliyun版本的dlc ##### Linux @@ -90,14 +90,14 @@ ls $(pwd)/search docker exec -ti $container_id /bin/bash cd /HpoTools/test/search -### 查看具体案例 去本地修改$(pwd)/search下面的实验配置,第2章节 -### 查看具体案例 去容器/HpoTools/test/search 启动调优,第3章节 -### 查看具体案例 去本地UI查看调优结果,第4章节 +### 查看具体案例去本地修改$(pwd)/search下面的实验配置,见第2章节 +### 查看具体案例去容器/HpoTools/test/search 启动调优,见第3章节 +### 查看具体案例去本地UI查看调优结果,见第4章节 ``` ### 配置 -HPO启动配置包含exp.yml. trial.ini, search_space.json三个模块。 +HPO启动配置包含exp.yml,trial.ini,search_space.json三个模块。 HPO的启动命令是: @@ -106,10 +106,10 @@ nnictl create --config exp.yml ``` - 启动入口为exp.yml -- 通过trialCommand: python3 -m hpo_tools.core.utils.run --config=./trial.ini 连接用户的具体的启动任务。 -- 通过字段searchSpaceFile: search_space.json 连接 search_space.json; +- 通过trialCommand: python3 -m hpo_tools.core.utils.run --config=./trial.ini 连接用户的具体的启动任务 +- 通过字段searchSpaceFile: search_space.json 连接 search_space.json -配置案例均可以在安装目录examples/search目录下,细节请参考[HPO配置介绍](./hpo_config.md) +配置案例均可以在安装目录examples/search目录下找到,细节请参考[HPO配置介绍](./hpo_config.md) #### exp.yml 示例 @@ -135,7 +135,7 @@ assessor: #### trial.ini 示例 -可以查看安装目录下examples/search/maxcompute_easyrec/trial.ini,执行在PAI MaxCompute平台 +可以查看安装目录下examples/search/maxcompute_easyrec/trial.ini的配置文件,执行在PAI MaxCompute平台 ``` [oss_config] @@ -183,7 +183,7 @@ metric_dict={'auc':1} #### trial_local.ini 示例 -可以查看安装目录下examples/local_easyrec/trial.ini其中执行的命令的是在本地的,而不是在PAI MaxCompute平台 +可以查看安装目录下examples/local_easyrec/trial.ini的配置文件,其中执行的命令是在本地的,而不是在PAI MaxCompute平台 ``` [params_config] @@ -207,8 +207,8 @@ metric_dict={'auc':1} [NNI Local配置参考手册](https://nni.readthedocs.io/zh/stable/reference/experiment_config.html#localconfig) -- 如果想将任务执行在GPU上,则使用config_local_gpu.yml,配置了GPU相关的信息 -- 如果想将任务执行在CPU上,则使用config_local.yml +- 如果想在GPU上执行任务,则使用config_local_gpu.yml,其中配置了GPU的相关信息 +- 如果想在CPU上执行任务,则使用config_local.yml ![image.png](../../images/automl/nni_local.jpg) #### 配置超参搜索空间search_space.json @@ -263,7 +263,7 @@ finetune搜索高级用法参考[HPO finetune](./finetune_config.md) ### 启动调优 ```bash -nnictl create --config config.yml --port=8780 +nnictl create --config config.yml --port 8780 ``` 其中port可以是机器上任意未使用的端口号。需要注意的是,NNI实验不会自动退出,如果需要关闭实验请运行nnictl stop主动关闭。如果遇到问题,请查看FAQ。 @@ -278,7 +278,7 @@ nnictl create --config config.yml --port=8780 ### HPO调优结果 -点击生成的URL,例如http://127.0.0.1:8780,可以看到webUI +点击生成的URL,可以看到webUI,例如http://127.0.0.1:8780 ![image.png](../../images/automl/pai_nni_overview.jpg) 查看调优结果没问题后,可以调整最大Trial运行数量MaxTrialNo和并发度Concurrency。 如果需要更详细的调优结果,可查看[HPO调优结果](./hpo_res.md)