MindSpore框架训练bert模型时报错Aicore kernel execute failed
2024/02/22
112
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型训练 | MindSpore | 训练bert模型 |
问题现象描述
MindSpore框架训练bert模型时报错:
Aicore kernel execute failed.Aicore kernel execute failed, device_id=0, stream_id=19, report_stream_id=19, task_id=23, flip_num=0, fault kernel_name=gather_v2_d_14414100058973704710_0__kernel0, func_name=gather_v2_d_14414100058973704710_0__kernel0, program id=4, hash=10418199646417287079.
图1

图2

原因分析
gather_v2这个算子拿到的数据不符合要求。
模型构建时,shape设置不符合要求。
排查方法
通过pdb设置断点(import pdb;pdb.set_trace())来debug具体是SliceConcat类中的三个Embedding操作出了问题。
解决措施
自定义的一个module中有3个Embedding操作,这3个Embedding实例中vocab_size的值比输入x中元素数目小导致的问题,MindSpore的api有说明。
代码修改:将bert_model.py文件中的这三个vocab_size分别设置为config中的大小即可。
本页内容