Vega将从数据到模型的整个AutoML过程,分解为多个步骤,这些步骤包括网络架构搜索、超参优化、模型训练等,Vega可以通过配置文件组合这些步骤成为一个完整的流水线,依次执行这些步骤,完成从数据到模型的全流程。下面详细介绍配置文件中常用的配置项,其他配置项说明具体请参考配置参考。
结构 |
说明 |
---|---|
general |
公共配置项。 |
pipeline |
各个步骤,用列表表示。例如[my_nas, my_hpo, my_fully_train],后续配置项名称即pipeline中定义的各个步骤名称。 |
my_nas |
网络架构搜索,Network Architecture Search。 |
my_hpo |
超参数优化,HyperParameter Optimization。 |
my_fully_train |
训练。 |
配置项 |
说明 |
---|---|
backend |
指定AI框架类型。取值如下:
|
task: local_base_path |
工作路径。task下面有local_base_path工作路径。例task: local_base_path: xxx。每次系统运行,会在该路径下生成一个带有时间信息(我们称之为task id)的子文件夹,这样多次运行的输出不会被覆盖。在task id子文件夹下面一般包含output和worker两个子文件夹,output文件夹存储pipeline的每个步骤的输出数据,worker文件夹保存临时信息。 默认取值为./tasks/。 |
timeout |
worker超时时间,单位为小时,若在该时间范围内未完成,worker会被强制结束。默认为10小时。 |
parallel_search |
是否并行搜索多个模型。目前卷积网络模型的剪枝调优和超参数优化功能支持并行搜索多个模型,模型量化和蒸馏不支持并行搜索多个模型。取值如下:
|
parallel_fully_train |
是否并行训练多个模型。取值如下:
|
devices_per_trainer |
并行搜索和训练时,每个trainer分配的设备(GPU/NPU)数目。当parallel_search或parallel_fully_train为True时生效。默认为1,每个trainer分配1个GPU/NPU。 |
logger: level |
日志级别。可填debug/info/warn/error/critical。 |
quota |
过滤模型。 可设置采样模型的浮点计算量最大值或范围(单位为M),模型的参数量最大值或范围(单位为K),采样模型的时延最大值或范围(单位为ms),Pipeline最大运行时间(单位为h)。支持“<”、“>”、“in”、“and” 四种操作,如 "flops < 10 and params in [100, 1000]" |
requires |
要求指定版本的库。如["timm==0.1.18", "horovod==0.19.3"]。 |
配置项 |
说明 |
---|---|
pipe_step |
Pipeline步骤。在该配置项下需设置以下参数:
|
search_algorithm |
搜索算法。在该配置项下需设置以下参数:
|
Search_space |
搜索空间。其下有参数:
|
model |
同表4中model配置。 |
dataset |
同表4中dataset配置。 |
trainer |
同表4中trainer配置。 |
evaluator |
同表4中evaluator配置。 |
配置项 |
说明 |
---|---|
pipe_step |
Pipeline步骤。在该配置项下需设置以下参数:
|
model |
模型。若NAS和HPO步骤填入了model,则Fully Train(训练部分)可不填。若该参数不填,则默认为经过NAS和HPO步骤得到的模型。该配置项下可设置以下参数:
|
dataset |
数据及配置。可在该配置项下需设置以下参数:
说明:
若不需要Vega提供的数据集,无需设置以上配置项,直接通过“data_dir”参数指定本地数据集即可。 |
trainer |
模型训练参数配置。
|
evaluator |
评估器参数配置。
|