如何在大批量语料上进行高效预测?

目前做实验是希望利用hanlp对语料先进行dep预测,将结果作为输入特征。但语料集较大(训练集共500k个句子),目前是将所有句子都装进一个列表里,但这预测需要大概3-4天才能出结果,不知道有没有什么更好的办法?

这个速度太异常了,在V100上base模型的速度如下:

tail -n 1 ~/.hanlp/mtl/close_tok_pos_ner_srl_dep_sdp_con_electra_base_20210111_124519/tst.log
speed: 37 batches/second

一个batch32个句子,等于每秒1184个句子。就算每秒1k,500k也只需要9分钟不到。当然这个值是batch已经preprocess好的情况,实际使用会慢一些,但也不会这么慢。

  1. 文档提到的tasks='dep'参数用了吗?
  2. GPU什么规格?
  3. 没有GPU的话,用RESTful

谢谢解答!

  1. 使用了。具体代码:
HANLP(sentenceList, tasks=['dep',])
  1. 没有用GPU。因为实验室服务器不通外网的原因,目前是在本地的windows机器上进行调试,机器上没GPU。尝试过将本地调试好的环境上传到服务器上,但似乎并不起效。之后会继续尝试

  2. 没有使用restful,我尝试一下。

过去一年了,将500k的sentenceList放在HANLP里,是不是有问题?我也遇到同样情况,数据量大就卡住了。