基础介绍
各种ner模型预测时间性能和效果各异,这里通过实验对比分析给出选用建议
实验对比
纯模型F1 | 加规则字典后F1 | 长度32 | 长度510 | 长度2000 | |
qrnn模型 | 0.837 | 0.878 | CPU 8毫秒 GPU 33毫秒 CPU在线服务 20毫秒 | CPU 102毫秒 CPU在线服务 200毫秒 | CPU 377毫秒 |
lstm模型 | 0.906 | 0.926 | CPU 10毫秒 GPU 37毫秒CPU在线服务 27毫秒 | CPU 138毫秒,GPU 543毫秒 CPU在线服务 350毫秒 | CPU 530毫秒 |
1层bert | 0.803 | 0.874 | CPU 6毫秒 GPU 5毫秒 CPU在线服务 15毫秒 | CPU 47毫秒,GPU 12毫秒 CPU在线服务 110毫秒 | |
2层bert | 0.875 | 0.915 | CPU 11毫秒 GPU 8毫秒CPU在线服务 25毫秒 | CPU 81毫秒,GPU 16毫秒 CPU在线服务 170毫秒 | |
3层bert | 0.906 | 0.934 | CPU 15毫秒 GPU 11毫秒 CPU在线服务 40毫秒 | CPU 115毫秒,GPU 21毫秒 CPU在线服务 240毫秒 | |
6层bert | 0.936 | 0.951 | CPU 28毫秒 GPU 20毫秒CPU在线服务 70毫秒 | CPU 187毫秒,GPU 34毫秒 CPU在线服务 400毫秒 | |
12层bert模型 | 0.945 | 0.956 | CPU 52毫秒 GPU 39毫秒 CPU在线服务 240毫秒 | CPU 368毫秒,GPU 62毫秒 CPU在线服务 750毫秒 |
分析总结
- 6层bert在F1指标相比12层bert下降较小,而性能翻倍提升,在有GPU的环境中是最佳选择
- 在不愿使用GPU环境情况下,可选择3层bert,其次是lstm