昇腾社区首页
中文
注册

模型配置文件适配(可选)

文件作用

模型配置文件为用户提供配置自定义超参数与网络冻结的功能。

如果用户不配置该文件,则模型超参数使用模型启动脚本定义的默认值,另外可根据需求自行实现网络冻结功能。

如果用户想自定义模型超参数,或训练时需要冻结网络部分参数,可以配置该文件,并且在调用工具包功能接口(微调/评估/推理)时,传入参数“model_config_path”,其参数值为模型配置文件的本地绝对路径。

配置规则

模型配置文件必须是yaml格式,内部包括paramsfreeze两部分,配置规则如下:

  • params
    将模型超参数,按照yaml缩进配置在params 模块下,仅支持单层级键值对形式。微调工具包会将这些配置参数,传递给模型启动脚本中预定义的同名超参数。

    此处配置的键值不允许与微调工具包预定义的参数名称或缩写名称重名,包括: dp,data_path,op,output_path,bp,boot_file_path,mc,model_config_path,pm,pretrained_model_path,cp,ckpt_path,q,quiet,t,timeout,advanced_config。键值对应的value不支持配置列表、元组、字典、集合等python对应的数据结构。

  • freeze
    • 将需要冻结的网络层名称,按照yaml缩进配置在freeze下。当微调工具包检测到yaml文件中freeze部分存在配置时,会自动生成超参数“--advanced_config”并传递到模型启动脚本,其参数值为模型配置文件的本地绝对路径。
    • 模型代码内部需要适配网络冻结代码,实现网络冻结,可参考网络冻结样例代码

模型配置文件样例参见如下,模型启动脚本配置示例可参考模型适配样例

params:
  sample_key: sample_value
freeze:
    net1:
      block1:
        layer1
        layer2
        ...
      block2:
        ...
    net2:
      block1:
        layer1
        ...