配置文件说明

查看源文件

概述

在模型的训练和推理过程中通常需要配置不同的参数,MindSpore Transformers支持使用YAML文件集中管理和调整可配置项,使模型的配置更加结构化,同时提高了其可维护性。

YAML文件内容说明

MindSpore Transformers提供的YAML文件中包含对于不同功能的配置项,下面按照配置项的内容对其进行说明。

基础配置

基础配置主要用于指定MindSpore随机种子以及加载权重的相关设置。

参数

说明

类型

seed

设置全局种子,详情可参考mindspore.set_seed

int

run_mode

设置模型的运行模式,可选trainfinetuneevalpredict

str

output_dir

设置保存log、checkpoint、strategy等文件的路径。

str

load_checkpoint

加载权重的文件或文件夹路径,目前有3个应用场景:
1. 支持传入完整权重文件路径。
2. 支持传入离线切分后的权重文件夹路径。
3. 支持传入包含lora权重和base权重的文件夹路径。
各种权重的获取途径可参考权重转换功能

str

auto_trans_ckpt

是否开启分布式权重自动切分与合并功能,详情可参考分布式权重切分与合并

bool

resume_training

是否开启断点续训功能,详情可参考断点续训功能

bool

load_ckpt_format

加载的模型权重的格式,可选ckptsafetensors

str

remove_redundancy

加载的模型权重是否去除了冗余。默认值为False

bool

train_precision_sync

训练确定性计算开关。默认值为None

Optional[bool]

infer_precision_sync

推理确定性计算开关。默认值为None

Optional[bool]

Context配置

Context配置主要用于指定mindspore.set_context中的相关参数。

参数

说明

类型

context.mode

设置后端执行模式,0表示GRAPH_MODE,MindSpore Transformers目前仅支持在GRAPH_MODE模式下运行。

int

context.device_target

设置后端执行设备,MindSpore Transformers仅支持在Ascend设备上运行。

str

context.device_id

设置执行设备ID,其值必须在可用设备范围内,默认值为0

int

context.enable_graph_kernel

是否开启图算融合去优化网络执行性能,默认值为False

bool

context.max_call_depth

设置函数调用的最大深度,其值必须为正整数,默认值为1000

int

context.max_device_memory

设置设备可用的最大内存,格式为"xxGB",默认值为1024GB

str

context.mempool_block_size

设置内存块大小,格式为"xxGB",默认值为1GB

str

context.save_graphs

在执行过程中保存编译图。
1. False0表示不保存中间编译图。
2. 1表示运行时会输出图编译过程中生成的一些中间文件。
3. True2表示生成更多后端流程相关的IR文件。
4. 3表示生成可视化计算图和更多详细的前端IR图。

bool/int

context.save_graphs_path

保存编译图的路径。

str

context.affinity_cpu_list

可选配置项,用于实现用户自定义绑核策略。不配置时,默认绑核。None表示关闭绑核。默认值为{},如想使能自定义绑核策略,需传入dict,详情可参考mindspore.runtime.set_cpu_affinity

dict/str

模型配置

由于不同的模型配置会有差异,这里仅对MindSpore Transformers中模型的通用配置进行说明。

参数

说明

类型

model.arch.type

设置模型类,构建模型时可以根据模型类对模型进行实例化。

str

model.model_config.type

设置模型配置类,模型配置类需要与模型类匹配使用,即模型配置类中应包含所有模型类使用的参数。

str

model.model_config.num_layers

设置模型层数,通常指模型Decoder Layer的层数。

int

model.model_config.seq_length

设置模型序列长度,该参数表示模型所支持的最大序列长度。

int

model.model_config.hidden_size

设置模型隐藏状态的维数。

int

model.model_config.vocab_size

设置模型词表大小。

int

model.model_config.top_k

设置推理时从概率最大的top_k个tokens中采样。

int

model.model_config.top_p

设置推理时从概率最大且概率累计不超过top_p的tokens中采样。

int

model.model_config.use_past

是否开启模型增量推理,开启后可使用Paged Attention提升推理性能,在模型训练时必须设置为False

bool

model.model_config.max_decode_length

设置生成文本的最大长度,包括输入长度。

int

model.model_config.max_length

max_decode_length,与max_decode_length同时设置时,max_length生效。

int

model.model_config.max_new_tokens

设置生成新文本的最大长度,不包括输入长度,与max_length同时设置时,max_new_tokens生效。

int

model.model_config.min_length

设置生成文本的最小长度,包括输入长度。

int

model.model_config.min_new_tokens

设置生成新文本的最小长度,不包括输入长度,与min_length同时设置时,min_new_tokens生效。

int

model.model_config.repetition_penalty

设置生成重复文本的惩罚系数,repetition_penalty不小于1,等于1时不对重复输出进行惩罚。

int

model.model_config.block_size

设置Paged Attention中block的大小,仅use_past=True时生效。

int

model.model_config.num_blocks

设置Paged Attention中block的总数,仅use_past=True时生效,应满足batch_size×seq_length<=block_size×num_blocks

int

model.model_config.return_dict_in_generate

是否以字典形式返回generate接口的推理结果,默认为False

bool

model.model_config.output_scores

是否以字典形式返回结果时,包含每次前向生成时的输入softmax前的分数,默认为False

bool

model.model_config.output_logits

是否以字典形式返回结果时,包含每次前向生成时模型输出的logits,默认为False

bool

model.model_config.layers_per_stage

设置开启pipeline stage时,每个stage分配到的transformer层数,默认为None,表示每个stage平均分配。设置的值为一个长度为pipeline stage数量的整数列表,第i位表示第i个stage被分配到的transformer层数。

list

MoE配置

除了上述模型的基本配置,MoE模型需要单独配置一些moe模块的超参,由于不同模型使用的参数会有不同,仅对通用配置进行说明:

参数

说明

类型

moe_config.expert_num

设置路由专家数量。

int

moe_config.shared_expert_num

设置共享专家数量。

int

moe_config.moe_intermediate_size

设置专家层中间维度大小。

int

moe_config.capacity_factor

设置专家容量因子。

int

moe_config.num_experts_chosen

设置每个token选择专家数目。

int

moe_config.enable_sdrop

设置是否使能token丢弃策略sdrop,由于MindSpore Transformers的MoE是静态shape实现所以不能保留所有token。

bool

moe_config.aux_loss_factor

设置均衡性loss的权重。

list[float]

moe_config.first_k_dense_replace

设置moe层的使能block,一般设置为1,表示第一个block不使能moe。

int

moe_config.balance_via_topk_bias

设置是否使能aux_loss_free负载均衡算法。

bool

moe_config.topk_bias_update_rate

设置aux_loss_free负载均衡算法bias更新步长。

float

moe_config.comp_comm_parallel

设置是否开启ffn的计算通信并行。默认值:False。

bool

moe_config.comp_comm_parallel_degree

设置ffn计算通信的分割数。数字越大,重叠越多,但会消耗更多内存。此参数仅在comp_com_parallel启用时有效。

int

moe_config.moe_shared_expert_overlap

设置是否开启共享专家和路由专家的计算通信并行。默认值:False。

bool

模型训练配置

启动模型训练时,除了模型相关参数,还需要设置trainer、runner_config、学习率以及优化器等训练所需模块的参数,MindSpore Transformers提供了如下配置项。

参数

说明

类型

trainer.type

设置trainer类,通常不同应用场景的模型会设置不同的trainer类。

str

trainer.model_name

设置模型名称,格式为'{name}_xxb',表示模型的某一规格。

str

runner_config.epochs

设置模型训练的轮数。

int

runner_config.batch_size

设置批处理数据的样本数,该配置会覆盖数据集配置中的batch_size

int

runner_config.sink_mode

是否开启数据下沉模式。

bool

runner_config.sink_size

设置每次从Host下发到Device的迭代数量,仅sink_mode=True时生效,此参数将在后续版本中废弃。

int

runner_config.gradient_accumulation_steps

设置梯度累积步数,默认值为1,表示不开启梯度累积。

int

runner_wrapper.type

设置wrapper类,一般设置'MFTrainOneStepCell'即可。

str

runner_wrapper.scale_sense.type

设置梯度缩放类,一般设置'DynamicLossScaleUpdateCell'即可。

str

runner_wrapper.scale_sense.use_clip_grad

是否开启梯度剪裁,开启可避免反向梯度过大导致训练无法收敛的情况。

bool

runner_wrapper.scale_sense.loss_scale_value

设置loss动态尺度系数,模型loss可以根据该参数配置动态变化。

int

lr_schedule.type

设置lr_schedule类,lr_schedule主要用于调整模型训练中的学习率。

str

lr_schedule.learning_rate

设置初始化学习率大小。

float

lr_scale

是否开启学习率缩放。

bool

lr_scale_factor

设置学习率缩放系数。

int

layer_scale

是否开启层衰减。

bool

layer_decay

设置层衰减系数。

float

optimizer.type

设置优化器类,优化器主要用于计算模型训练的梯度。

str

optimizer.weight_decay

设置优化器权重衰减系数。

float

train_dataset.batch_size

runner_config.batch_size

int

train_dataset.input_columns

设置训练数据集输入的数据列。

list

train_dataset.output_columns

设置训练数据集输出的数据列。

list

train_dataset.column_order

设置训练数据集输出数据列的顺序。

list

train_dataset.num_parallel_workers

设置读取训练数据集的进程数。

int

train_dataset.python_multiprocessing

是否开启Python多进程模式提升数据处理性能。

bool

train_dataset.drop_remainder

是否在最后一个批处理数据包含样本数小于batch_size时,丢弃该批处理数据。

bool

train_dataset.repeat

设置数据集重复数据次数。

int

train_dataset.numa_enable

设置NUMA的默认状态为数据读取启动状态。

bool

train_dataset.prefetch_size

设置预读取数据量。

int

train_dataset.data_loader.type

设置数据加载类。

str

train_dataset.data_loader.dataset_dir

设置加载数据的路径。

str

train_dataset.data_loader.shuffle

是否在读取数据集时对数据进行随机排序。

bool

train_dataset.transforms

设置数据增强相关选项。

-

train_dataset_task.type

设置dataset类,该类用于对数据加载类以及其他相关配置进行封装。

str

train_dataset_task.dataset_config

通常设置为train_dataset的引用,包含train_dataset的所有配置项。

-

auto_tune

是否开启数据处理参数自动调优,详情可参考set_enable_autotune

bool

filepath_prefix

设置数据优化后的参数配置的保存路径。

str

autotune_per_step

设置自动数据加速的配置调整step间隔,详情可参考set_autotune_interval

int

并行配置

为了提升模型的性能,在大规模集群的使用场景中通常需要为模型配置并行策略,详情可参考分布式并行,MindSpore Transformers中的并行配置如下。

参数

说明

类型

use_parallel

是否开启并行模式。

bool

parallel_config.data_parallel

设置数据并行数。

int

parallel_config.model_parallel

设置模型并行数。

int

parallel_config.context_parallel

设置序列并行数。

int

parallel_config.pipeline_stage

设置流水线并行数。

int

parallel_config.micro_batch_num

设置流水线并行的微批次大小,在parallel_config.pipeline_stage大于1时,应满足parallel_config.micro_batch_num >= parallel_config.pipeline_stage

int

parallel_config.seq_split_num

在序列流水线并行中设置序列分割数,该数应为序列长度的除数。

int

parallel_config.gradient_aggregation_group

设置梯度通信算子融合组的大小。

int

parallel_config.context_parallel_algo

设置长序列并行方案,可选colossalai_cpulysses_cphybrid_cp,仅在context_parallel切分数大于1时生效。

str

parallel_config.ulysses_degree_in_cp

设置Ulysses序列并行维度,与hybrid_cp长序列并行方案同步配置,需要确保context_parallel可以被该参数整除且大于1,同时确保ulysses_degree_in_cp可以被attention head数整除。

int

micro_batch_interleave_num

设置多副本并行数,大于1时开启多副本并行。通常在使用模型并行时开启,主要用于优化模型并行产生的通信损耗,仅使用流水并行时不建议开启。详情可参考MicroBatchInterleaved

int

parallel.parallel_mode

设置并行模式,0表示数据并行模式, 1表示半自动并行模式, 2表示自动并行模式, 3表示混合并行模式,一般设置为半自动并行模式。

int

parallel.gradients_mean

是否在梯度AllReduce后执行平均算子。通常半自动并行模式下设为False,数据并行模式下设为True

bool

parallel.enable_alltoall

是否在通信期间生成AllToAll通信算子。通常仅在MOE场景下设为True,默认值为False

bool

parallel.full_batch

是否在并行模式下从数据集中读取加载完整的批数据,设置为True表示所有rank都读取完整的批数据,设置为False表示每个rank仅加载对应的批数据,设置为False时必须设置对应的dataset_strategy

bool

parallel.dataset_strategy

仅支持List of List类型且仅在full_batch=False时生效,列表中子列表的个数需要等于train_dataset.input_columns的长度,并且列表中的每个子列表需要和数据集返回的数据的shape保持一致。一般在数据的第1维进行数据并行切分,所以子列表的第1位数配置与data_parallel相同,其他位配置为1。具体原理可以参考数据集切分

list

parallel.search_mode

设置全自动并行策略搜索模式,可选recursive_programmingdynamic_programmingsharding_propagation,仅在全自动并行模式下生效,实验性接口。

str

parallel.strategy_ckpt_save_file

设置并行切分策略文件的保存路径。

str

parallel.strategy_ckpt_config.only_trainable_params

是否仅保存(或加载)可训练参数的切分策略信息,默认为True,当网络中存在冻结的参数但又需要切分时将该参数设为False

bool

parallel.enable_parallel_optimizer

是否开启优化器并行。
1. 在数据并行模式下将模型权重参数按device数进行切分。
2. 在半自动并行模式下将模型权重参数按parallel_config.data_parallel进行切分。

bool

parallel.parallel_optimizer_config.gradient_accumulation_shard

设置累计的梯度变量是否在数据并行的维度上进行切分,仅enable_parallel_optimizer=True时生效。

bool

parallel.parallel_optimizer_config.parallel_optimizer_threshold

设置优化器权重参数切分的阈值,仅enable_parallel_optimizer=True时生效。

int

parallel.parallel_optimizer_config.optimizer_weight_shard_size

设置优化器权重参数切分通信域的大小,要求该值可以整除parallel_config.data_parallel,仅enable_parallel_optimizer=True时生效。

int

parallel.pipeline_config.pipeline_interleave

使能interleave,使用Seq-Pipe流水线并行时需设置为true

bool

parallel.pipeline_config.pipeline_scheduler

Seq-Pipe的流水线调度策略,目前只支持"seqpipe"

str

配置并行策略时应满足device_num = data_parallel × model_parallel × context_parallel × pipeline_stage。

模型优化配置

  1. MindSpore Transformers提供重计算相关配置,以降低模型在训练时的内存占用,详情可参考重计算

    参数

    说明

    类型

    recompute_config.recompute

    是否开启重计算。

    bool/list/tuple

    recompute_config.select_recompute

    开启选择重计算,只针对attention层的算子进行重计算。

    bool/list

    recompute_config.parallel_optimizer_comm_recompute

    是否对由优化器并行引入的AllGather通信进行重计算。

    bool/list

    recompute_config.mp_comm_recompute

    是否对由模型并行引入的通信进行重计算。

    bool

    recompute_config.recompute_slice_activation

    是否对保留在内存中的Cell输出切片。

    bool

    recompute_config.select_recompute_exclude

    关闭指定算子的重计算,只对Primitive算子有效。

    bool/list

    recompute_config.select_comm_recompute_exclude

    关闭指定算子的通讯重计算,只对Primitive算子有效。

    bool/list

  2. MindSpore Transformers提供细粒度激活值SWAP相关配置,以降低模型在训练时的内存占用,详情可参考细粒度激活值SWAP

    参数

    说明

    类型

    swap_config.swap

    是否开启激活值SWAP。

    bool

    swap_config.default_prefetch

    设置激活值卸载至host时的内存释放时机与开始取回device的时机,仅在开启激活值SWAP且未设置layer_swap与op_swap时生效。

    int

    swap_config.layer_swap

    选择特定的层使能激活值SWAP。

    list

    swap_config.op_swap

    选择特定层中的特定算子使能激活值SWAP。

    list

Callbacks配置

MindSpore Transformers提供封装后的Callbacks函数类,主要实现在模型训练过程中返回模型的训练状态并输出、保存模型权重文件等一些操作,目前支持以下几个Callbacks函数类。

  1. MFLossMonitor

    该回调函数类主要用于在训练过程中对训练进度、模型Loss、学习率等信息进行打印,有如下几个可配置项:

    参数

    说明

    类型

    learning_rate

    设置MFLossMonitor中初始化学习率,默认值为None

    float

    per_print_times

    设置MFLossMonitor中日志信息打印频率,默认值为1,即每一步打印一次日志信息。

    int

    micro_batch_num

    设置训练中每一步的批数据大小,用于计算实际的loss值,若不配置该参数,则与并行配置parallel_config.micro_batch_num一致。

    int

    micro_batch_interleave_num

    设置训练中每一步的多副本批数据大小,用于计算实际的loss值,若不配置该参数,则与并行配置micro_batch_interleave_num一致。

    int

    origin_epochs

    设置MFLossMonitor中训练的轮数,若不配置该参数,则与模型训练配置runner_config.epochs一致。

    int

    dataset_size

    设置MFLossMonitor中初始化数据集大小,若不配置该参数,则与实际训练使用的数据集大小一致。

    int

    initial_epoch

    设置MFLossMonitor中训练起始轮数,默认值为0

    int

    initial_step

    设置MFLossMonitor中训练起始步数,默认值为0

    int

    global_batch_size

    设置MFLossMonitor中全局批数据样本数,若不配置该参数,则会根据数据集大小以及并行策略自动计算。

    int

    gradient_accumulation_steps

    设置MFLossMonitor中梯度累计步数,若不配置该参数,则与模型训练配置gradient_accumulation_steps一致。

    int

    check_for_nan_in_loss_and_grad

    设置是否在MFLossMonitor中开启溢出检测,开启后在模型训练过程中出现溢出则退出训练,默认值为False

    bool

  2. SummaryMonitor

    该回调函数类主要用于收集Summary数据,详情可参考mindspore.SummaryCollector

  3. CheckpointMonitor

    该回调函数类主要用于在模型训练过程中保存模型权重文件,有如下几个可配置项:

    参数

    说明

    类型

    prefix

    设置保存文件名称的前缀。

    str

    directory

    设置保存文件名称的目录。

    str

    save_checkpoint_seconds

    设置保存模型权重的间隔秒数。

    int

    save_checkpoint_steps

    设置保存模型权重的间隔steps数。

    int

    keep_checkpoint_max

    设置保存模型权重文件的最大数量,如果保存路径内存在超出数量的模型权重文件,会从创建时间最早的文件开始删除,以保证文件总数不超过keep_checkpoint_max

    int

    keep_checkpoint_per_n_minutes

    设置保存模型权重的间隔分钟数。

    int

    integrated_save

    开启聚合保存权重文件。
    1. 设为True时表示在保存权重文件时聚合所有device的权重,即所有device权重一致。
    2. 设为False时表示所有device各自保存自己的权重。
    使用半自动并行模式时通常需要设置为False,以避免保存权重文件时出现内存问题。

    bool

    save_network_params

    是否仅保存模型权重,默认值为False

    bool

    save_trainable_params

    是否额外保存可训练的参数权重,即部分微调时模型的参数权重,默认为False

    bool

    async_save

    是否异步执行保存模型权重文件。

    bool

    remove_redundancy

    是否去除模型权重的冗余,默认值为False

    bool

    checkpoint_format

    保存的模型权重的格式,默认值为ckpt。可选ckptsafetensors

    str

callbacks字段下可同时配置多个Callbacks函数类,以下是callbacks配置示例。

callbacks:
  - type: MFLossMonitor
  - type: CheckpointMonitor
    prefix: "name_xxb"
    save_checkpoint_steps: 1000
    integrated_save: False
    async_save: False

Processor配置

Processor主要用于对输入模型的推理数据进行预处理,由于Processor配置项不固定,这里仅对MindSpore Transformers中的Processor通用配置项进行说明。

参数

说明

类型

processor.type

设置数据处理类。

str

processor.return_tensors

设置数据处理类返回的张量类型,一般使用'ms'。

str

processor.image_processor.type

设置图像数据处理类。

str

processor.tokenizer.type

设置文本tokenizer类。

str

processor.tokenizer.vocab_file

设置文本tokenizer读取文件路径,需要与tokenizer类相对应。

str

模型评估配置

MindSpore Transformers提供模型评估功能,同时支持模型边训练边评估功能,以下是模型评估相关配置。

参数

说明

类型

eval_dataset

使用方式与train_dataset相同。

-

eval_dataset_task

使用方式与eval_dataset_task相同。

-

metric.type

使用方式与callbacks相同。

-

do_eval

是否开启边训练边评估功能 。

bool

eval_step_interval

设置评估的step间隔,默认值为100,设置小于0表示关闭根据step间隔评估功能。

int

eval_epoch_interval

设置评估的epoch间隔,默认值为-1,设置小于0表示关闭根据epoch间隔评估功能,不建议在数据下沉模式使用该配置。

int

metric.type

设置评估的类型。

str

Profile配置

MindSpore Transformers提供Profile作为模型性能调优的主要工具,详情可参考性能调优指南。以下是Profile相关配置。

参数

说明

类型

profile

是否开启性能采集工具,默认值为False,详情可参考mindspore.Profiler

bool

profile_start_step

设置开始采集性能数据的step数,默认值为1

int

profile_stop_step

设置停止采集性能数据的step数,默认值为10

int

profile_communication

设置是否在多设备训练中收集通信性能数据,使用单卡训练时,该参数无效,默认值为False

bool

profile_memory

设置是否收集Tensor内存数据,默认值为True

bool

profile_rank_ids

设置开启性能采集的rank ids,默认值为None,表示所有rank id均开启性能采集。

list

profile_pipeline

设置是否按流水线并行每个stage的其中一张卡开启性能采集,默认值为False

bool

profile_output

设置保存性能采集生成文件的文件夹路径。

str

profile_level

设置采集数据的级别,可选值为(0, 1, 2),默认值为1

int

with_stack

设置是否收集Python侧的调用栈数据,默认值为False

bool

data_simplification

设置是否开启数据精简,开启后将在导出性能采集数据后删除FRAMEWORK目录以及其他多余数据,默认为False

int

init_start_profile

设置是否在Profiler初始化时开启采集性能数据,设置profile_start_step时该参数不生效,开启profile_memory时需要将该参数设为True

bool

mstx

设置是否收集mstx时间戳记录,包括训练step、HCCL通信算子等,默认值为False

bool

指标监控配置

指标监控配置主要用于配置训练过程中各指标的记录方式,详情可参考训练指标监控。以下是MindSpore Transformers中通用的指标监控配置项说明:

参数名称

说明

类型

monitor_config.monitor_on

设置是否开启监控。默认为False,此时以下所有参数不生效。

bool

monitor_config.dump_path

设置训练过程中local_normdevice_local_normlocal_loss指标文件的保存路径。未设置或设置为null时取默认值'./dump'。

str

monitor_config.target

设置指标优化器状态local_norm所监控的的目标参数的名称(片段),可为正则表达式。未设置或设置为null时取默认值['.*'],即指定所有参数。

list[str]

monitor_config.invert

设置反选monitor_config.target所指定的参数,默认为False

bool

monitor_config.step_interval

设置记录指标的频率。默认为1,即每个step记录一次。

int

monitor_config.local_loss_format

设置指标local_loss的记录形式,可选值为字符串'tensorboard'和'log'(分别表示写入 Tensorboard 和写入日志),或由两者组成的列表,或null。未设置时默认为null,表示不监控该指标。

str或list[str]

monitor_config.local_norm_format

设置指标local_norm的记录形式,可选值为字符串'tensorboard'和'log'(分别表示写入 Tensorboard 和写入日志),或由两者组成的列表,或null。未设置时默认为null,表示不监控该指标。

str或list[str]

monitor_config.device_local_norm_format

设置指标device_local_norm的记录形式,可选值为字符串'tensorboard'和'log'(分别表示写入 Tensorboard 和写入日志),或由两者组成的列表,或null。未设置时默认为null,表示不监控该指标。

str或list[str]

monitor_config.optimizer_state_format

设置指标优化器状态的记录形式,可选值为字符串'tensorboard'和'log'(分别表示写入 Tensorboard 和写入日志),或由两者组成的列表,或null。未设置时默认为null,表示不监控该指标。

str或list[str]

monitor_config.weight_state_format

设置指标权重L2-norm的记录形式,可选值为字符串'tensorboard'和'log'(分别表示写入 Tensorboard 和写入日志),或由两者组成的列表,或null。未设置时默认为null,表示不监控该指标。

str或list[str]

monitor_config.throughput_baseline

设置指标吞吐量线性度的基线值,需要为正数。未设置时默认为null,表示不监控该指标。

int或float

monitor_config.print_struct

设置是否打印模型的全部可训练参数名。若为True,则会在第一个step开始时打印所有可训练参数的名称,并在step结束后退出训练。默认为False

bool

TensorBoard配置

TensorBoard配置主要用于配置训练过程中与TensorBoard相关的参数,便于在训练过程中实时查看和监控训练信息,详情可参考训练指标监控。以下是MindSpore Transformers中通用的TensorBoard配置项说明:

参数名称

说明

类型

tensorboard.tensorboard_dir

设置 TensorBoard 事件文件的保存路径。

str

tensorboard.tensorboard_queue_size

设置采集队列的最大缓存值,超过该值便会写入事件文件,默认值为10。

int

tensorboard.log_loss_scale_to_tensorboard

设置是否将 loss scale 信息记录到事件文件,默认为False

bool

tensorboard.log_timers_to_tensorboard

设置是否将计时器信息记录到事件文件,计时器信息包含当前训练步骤(或迭代)的时长以及吞吐量,默认为False

bool