机器学习:提取问题答案

机器学习:提取问题答案_第1张图片

模型BERT

机器学习:提取问题答案_第2张图片

任务:提取问题和答案

机器学习:提取问题答案_第3张图片

问题的起始位置和结束位置。

数据集

机器学习:提取问题答案_第4张图片
数据集 DRCD+ODSQA
机器学习:提取问题答案_第5张图片

机器学习:提取问题答案_第6张图片

机器学习:提取问题答案_第7张图片

机器学习:提取问题答案_第8张图片
先分词,然后tokenize
机器学习:提取问题答案_第9张图片
机器学习:提取问题答案_第10张图片
文章长度是不同的,bert的token的长度有限制,一般是512, self-attention的计算量是 O ( n 2 ) O(n^2) O(n2),所以无法将长的整篇文章送进去处理。

Train

机器学习:提取问题答案_第11张图片
以正确答案为中心,以固定长度的windows去找问题。关键字,答案一般在关键字附近,在答案的附近画一个window,越大越好。然后将这些片段进行tokenizer,再去训练。

机器学习:提取问题答案_第12张图片

Hints

机器学习:提取问题答案_第13张图片
机器学习:提取问题答案_第14张图片

  • Linear Learning rate decay
    机器学习:提取问题答案_第15张图片

机器学习:提取问题答案_第16张图片
overlapping window, 因为分割可能会看不到,重叠一些部分。 修改doc stride参数。

机器学习:提取问题答案_第17张图片
正确答案不一定是在窗户正中心。

机器学习:提取问题答案_第18张图片
不同的预训练模型,建议使用中文预训练模型。

机器学习:提取问题答案_第19张图片
机器学习:提取问题答案_第20张图片
机器学习:提取问题答案_第21张图片
自动混合精度,有的时候不需要那么高的精度Float32,仅部分卡支持,以加速训练。

机器学习:提取问题答案_第22张图片
如果GPU内存不够的话,可以使用Gradient accumulation,累计参数一次更新。

机器学习:提取问题答案_第23张图片

Kaggle项目

机器学习:提取问题答案_第24张图片

机器学习:提取问题答案_第25张图片
套件:pip install transformers
机器学习:提取问题答案_第26张图片

你可能感兴趣的:(机器学习,机器学习)