thunlp / PL-Marker

Source code for "Packed Levitated Marker for Entity and Relation Extraction"
MIT License
260 stars 35 forks source link

使用albert-xxlarge-v1, apex在训练ner_PLMarker时出错 #24

Closed yanzhh closed 2 years ago

yanzhh commented 2 years ago

您好,我们在ace05数据上训练ner_PLMarker模型时,如果使用bert-base-uncased + fp16参数,或者albert-xxlarge-v1 没有fp16参数时都可以正常训练,但使用albert-xxlarge-v1 + fp16时会出错,错误出现在AlbertAttention 的 mixed_query_layer = self.query(input_ids) 处,amp cached_cast 会报 IndexError: tuple index out of range的错误。不知道你们有没有遇到过这种问题。

YeDeming commented 2 years ago

我这边没遇过这种情况,batch size调小试试?

YeDeming commented 2 years ago

之前好像用别的代码遇见过类似的问题,应该是apex版本没装好

yanzhh commented 2 years ago

谢谢,我们安装的是apex 0.1,能否告知你们装的apex版本?

YeDeming commented 2 years ago

也是apex 0.1,请问你是能成功运行pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./安装的吗

想起之前遇到这个错误的情景了,使用上述语句安装失败所以使用了pip install -v --disable-pip-version-check --no-cache-dir ./

fp32和 fp16 -O2都不会报错,只有fp16 -O1会报错,不过这个是在别的代码上碰到的,这个代码没遇过

yanzhh commented 2 years ago

确实是按nvidia官方文档的安装命令会出错,然后直接用python setup.py install安装了,我们再重装环境试试

yanzhh commented 2 years ago

确实是按nvidia官方文档的安装命令会出错,然后直接用python setup.py install安装了,我们再重装环境试试

官方库的issue里有解决方法了:https://github.com/NVIDIA/apex/pull/1282