CancellationToken cancellationToken = default, IProgress<TrainingProgressInfo>? progress = null
CancellationToken cancellationToken = default,
IProgress? progress = null