MindSpore版本号: mindspore2.0.0
硬件平台: GPU, Ubuntu20.04
一、动态图-GPU:
1. 在STS-B数据集上,DynaBERTw一阶段训练精度:86-87。但是用一阶段训练的权重来训练二阶段DynaBERTt,训练精度会从86降低到<10,loss出现不收敛的情况。
2.在STS-B数据集上训练一阶段DynaBERT是使用的TernaryBERT模型初始化的经过fine-tune的BERT权重(https://download.mindspore.cn/model_zoo/research/nlp/ternarybert/)。但是该权重参数num_hidden_layers=6,而DynaBERT模型该参数为12。虽然DynaBERT模型可以导入该权重,但是可能还是存在一定的精度差距,需要进一步排查。由于TernaryBERT模型未给出该权重来源,因此我提了ISSUE:https://gitee.com/mindspore/models/issues/I6CR7Q?from=project-issue
3.动态图GPU版本代码:https://gitee.com/tbdddd/Dynabert
二、静态图-GPU:
1.在静态图GPU下,由于ms不支持torch中的model.apply()算子,所以我在model中自定义写了apply()函数,功能是递归地对子模块的参数赋值。但是在静态图下,语法不支持此函数的写法,请问下有没有类似的算子或函数可以实现该功能。

MindSpore版本号: mindspore2.0.0
硬件平台: GPU, Ubuntu20.04
一、动态图-GPU:
1. 在STS-B数据集上,DynaBERTw一阶段训练精度:86-87。但是用一阶段训练的权重来训练二阶段DynaBERTt,训练精度会从86降低到<10,loss出现不收敛的情况。
2.在STS-B数据集上训练一阶段DynaBERT是使用的TernaryBERT模型初始化的经过fine-tune的BERT权重(https://download.mindspore.cn/model_zoo/research/nlp/ternarybert/)。但是该权重参数num_hidden_layers=6,而DynaBERT模型该参数为12。虽然DynaBERT模型可以导入该权重,但是可能还是存在一定的精度差距,需要进一步排查。由于TernaryBERT模型未给出该权重来源,因此我提了ISSUE:https://gitee.com/mindspore/models/issues/I6CR7Q?from=project-issue
3.动态图GPU版本代码:https://gitee.com/tbdddd/Dynabert
二、静态图-GPU:
1.在静态图GPU下,由于ms不支持torch中的model.apply()算子,所以我在model中自定义写了apply()函数,功能是递归地对子模块的参数赋值。但是在静态图下,语法不支持此函数的写法,请问下有没有类似的算子或函数可以实现该功能。