
从图中可以看出,我已经利用transformer的device_map帮助我分出了各参数及应该在的npu卡的编号

但实际上,所有的参数最后都会被强制分配到分配的第一张卡,从transformer分配的底层来看,to(device)中,device也与device_map中分配的一致,但无论to(device)中的device是npu:1,npu:2还是npu:3,都会被分配到第一张分配的卡中,即npu:1,我试过从npu:0开始分配,结果是所有参数被分配到npu:0中,大佬们可有办法解决啊
我使用的是cann7.0.1,以docker方式运行,torch2.1.0,transformer4.38.1
从图中可以看出,我已经利用transformer的device_map帮助我分出了各参数及应该在的npu卡的编号
但实际上,所有的参数最后都会被强制分配到分配的第一张卡,从transformer分配的底层来看,to(device)中,device也与device_map中分配的一致,但无论to(device)中的device是npu:1,npu:2还是npu:3,都会被分配到第一张分配的卡中,即npu:1,我试过从npu:0开始分配,结果是所有参数被分配到npu:0中,大佬们可有办法解决啊
我使用的是cann7.0.1,以docker方式运行,torch2.1.0,transformer4.38.1