101 Star 812 Fork 1.4K

MindSpore/models

 / 详情

[Question]: 数据并行训练中的验证集偏差

DONE
Opened this issue  
2024-06-11 21:58

请描述您的问题? / Please describe your question

在模型训练时,采用数据并行:将数据集分割成多个部分,每个GPU处理数据的一个子集。每个GPU上的模型副本独立地处理其分配的数据,然后合并结果。的方式。
具体代码如下
if args.is_distributed: # multi-cards!
assert args.device_target == "Ascend"
context.set_context(mode=context.GRAPH_MODE, save_graphs=False, device_target="Ascend", device_id=device_id)
init()
args.rank = get_rank()
# summary_dir = "./summary_dir/unet3plus1" + str(get_rank())
args.group_size = get_group_size()
device_num = args.group_size
context.reset_auto_parallel_context()
context.set_auto_parallel_context(device_num=device_num, gradients_mean=True,
parallel_mode=ParallelMode.DATA_PARALLEL)

发现的问题
验证集也根据batch大小分配数据到不同的卡上吗?这样每个卡上在边训练边验证时,根据验证集保存最好性能的模型,就不是使用全部的验证集,而是使用的分配到该卡上的部分验证集的指标保存模型,因此出现,不同卡上的模型性能差异明显的问题。

期望的结果
所有卡都使用的是整个验证集的数据进行验证,从而保证不同卡上最佳模型性能保存的一致性,而不是仅使用分配到的部分验证集保存模型。从而解决模型在不同卡上性能指标存在差异的问题。

硬件设备
ModelArts-8卡;
mindspore: 2.1.0;
python: 3.7.5;
Graph模式。

Comments (6)

ibob created任务
ibob added
 
mindspore-assistant
label
Expand operation logs

Please assign maintainer to check this issue.
请为此issue分配处理人。
@ivss @fangwenyi @lujiale @tuoyuanyuan @chengxiaoli

感谢您的提问,您可以评论//mindspore-assistant更快获取帮助:

  1. 如果您刚刚接触MindSpore,或许您可以在教程找到答案
  2. 如果您是资深Pytorch用户,您或许需要:
  1. 如果您遇到动态图问题,可以设置set_context(pynative_synchronize=True)查看报错栈协助定位
  2. 模型精度调优问题可参考官网调优指南
  3. 如果您反馈的是框架BUG,请确认您在ISSUE中提供了MindSpore版本、使用的后端类型(CPU、GPU、Ascend)、环境、训练的代码官方链接以及可以复现报错的代码的启动方式等必要的定位信息
  4. 如果您已经定位出问题根因,欢迎提交PR参与MindSpore开源社区,我们会尽快review

//mindspore-assistant

/mindspore-assistant

保存权重一般是只保存一张卡上的权重,因为梯度更新后各卡的权重是一样的, 当模型训练的足够好, 使用验证集的任意部分得到的精度都是符合预期的

已与客户电话沟通

ibob changed issue state from TODO to DONE

Sign in to comment

Status
Assignees
Projects
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
Duration (hours)
参与者(3)
13207511 hellobo2802 1689408184
1
https://gitee.com/mindspore/models.git
git@gitee.com:mindspore/models.git
mindspore
models
models

Search

344bd9b3 5694891 D2dac590 5694891