BERT模型MRCP任务实践

AI炼丹三境界

  • 伫倚危楼风细细,conda环境有问题。
  • 衣带渐宽终不悔,调参调到人憔悴。
  • 众里寻他千百度,炉中有丹似无丹。
    无聊想到的小诗,作为我第一个AI实践练习的开头,conda环境配置了很长时间,一直没有搞定TensorFlow的环境。

实际过程中的问题

  1. TensorFlow环境安装
    本次是我第一次利用anaconda在Windows系统的虚拟环境内安装TensorFlow,所以出现了很多问题,这些问题包括环境的配置,参数的设置,也包括我对于错误的误判。
    • Bert模型Github源代码是基于TensorFlow 1.x版本实现的,所以在虚拟环境中必须使用TensorFlow 1.x,而不能会用TensorFlow 2.x。

    • TensorFlow是有GPU版本,而GPU的加速是可以极大加快结果的运算,但是我在配置环境时,总是发生错误,pycharm无法识别环境中的第三方tensorflow-gpu的库,所以还是使用了CPU版本的TensorFlow。后面一定会再尝试使用GPU进行运算的。

    • 最新修改(2022.5.6):使用TensorFlow-gpu版本,这里出现了几个问题

      1. TensorFlow-gpu 版本需要搭配Cuda和Cudnn使用这里,安装这些辅助文件需要对应好版本。我的班版本是TensorFlow-gpu 1.15.0+Cuda 10.0+Cudnn 7.6.5.这里有一个一键安装的小技巧可以在anaconda环境中直接输入以下命令
      conda install tensorflow-gpu==1.15.0 cudatoolkit -i 清华镜像网站

      cudatoolkit命令 非常好用且可以省去配对版本的问题,一键安装完成cuda和cudnn,但是我看网上也有说存在自动匹配错误问题,所以可能还是要自己检查一下,可以看如下的博客
      https://blog.csdn.net/m0_61102347/article/details/120922915
      安装的时候一定要用镜像网站,不要想不开,不用镜像网站很可能会出现超时报错。

      1. 即使用了上述的一键安装我们安装的TensorFlow中自动下载的一些依赖库还是会出现一些问题,主要是版本不匹配的问题,我出现的问题是numpy库和TensorFlow-establisher的版本比较高只要使用如下命令即可,一般库出错了会在终端报错,然后根据终端提示或者网上搜索一下版本对照表即可。
      conda uninstall 过高版本的第三方库
      conda install 合适版本的第三方库
  2. 模型训练
    • 最最最重要的一点,在设置参数配置文件和其他的文件路径时一定要 保证路径准确,无论是预训练的模型参数还是文本语料等等内容一定要保证正确,没有任何错误,没有中文路径,是以相对路径格式书写,否者就会出现windows fatal exception,同时,如果使用CPU进行运算,千万不要把train_batch_size设置太高,如果按照说明文档的设置,在我自己的电脑上一开始是可以跑的,但是时间长了又会出现Windows fatal exception的报错,可能不是完全因为这个问题导致访问异常,但是在练习时设置小一点更容易让模型跑起来。
    • 建议还是使用GPU跑,CPU真的好慢。在我的笔记本电脑1660ti显卡的环境下大概跑完一次1-2分钟,还是比较快的。
      最后的结果图如下:

代码及过程理解