4. 実装上の苦労
1文章を入力したとき、タスクにもよるが
CPU(Intel Core-i9(10コア20スレッド))で0.5秒くらいかかり、
GPU(GeForce RTX 2080 Ti)で0.05秒くらいかかる
GPU(GeForce RTX 2080 Ti)使用時はGPUメモリを6GB程度使用する
複数タスクのために複数モデルを同時に使用したり、入力文章が多くなったりするとコンピュータへの負荷が大きくなるため注意
Transformer内のAttention機構により、BERTへの入力は固定長となり、最大入力トークン数は512となる
また、最大入力トークン数を長くするほどメモリ使用量も大きくなり、例えばGoogle Colabでは128を超えた最大入力トークン数を指定しようとするとメモリ不足となり実行できない
そのため、小説など長い文章を入力するには、冒頭部分のみ使用するなどの前処理を施す必要がある
固有表現抽出では、各トークンがどの固有表現に相当するか分類し、その連続部分を抜きだすことで表現を抽出する
そのため、抜き出したい表現の一部が別クラスに分類されることで、抽出表現が途切れ途切れになってしまったり、不完全な表現になってしまったりすることがある
特に、日本語用のBERTのトークナイザーでは文章がほぼ1文字単位のトークンに分割されるので、長い表現は不完全になってしまうことも多い
うまくロジックを組んで途中の誤分類を無視することもできるが、助詞(「は」「に」など)で区切られた別単語を結合してしまうなどの可能性もあるため、完全に対処するのは難しい