design工業(yè)設(shè)計seo優(yōu)化工作
模型BERT
任務(wù):提取問題和答案
問題的起始位置和結(jié)束位置。
數(shù)據(jù)集
數(shù)據(jù)集 DRCD+ODSQA
先分詞,然后tokenize
文章長度是不同的,bert的token的長度有限制,一般是512, self-attention的計算量是 O ( n 2 ) O(n^2) O(n2),所以無法將長的整篇文章送進去處理。
Train
以正確答案為中心,以固定長度的windows去找問題。關(guān)鍵字,答案一般在關(guān)鍵字附近,在答案的附近畫一個window,越大越好。然后將這些片段進行tokenizer,再去訓(xùn)練。
Hints
- Linear Learning rate decay
overlapping window, 因為分割可能會看不到,重疊一些部分。 修改doc stride參數(shù)。
正確答案不一定是在窗戶正中心。
不同的預(yù)訓(xùn)練模型,建議使用中文預(yù)訓(xùn)練模型。
自動混合精度,有的時候不需要那么高的精度Float32,僅部分卡支持,以加速訓(xùn)練。
如果GPU內(nèi)存不夠的話,可以使用Gradient accumulation,累計參數(shù)一次更新。
Kaggle項目
套件:pip install transformers