事前学習済み言語モデルの流行とリスク

近年,「事前学習済み言語モデル」の普及により,自然言語処理モデルの精度と汎用性が大幅に向上している。簡単に言うと,言語モデルは文脈の中で単語が出現する確率を予測するモデルである。例えば,“The baby emerged from its mother’s pouch. (赤ちゃん は母親のおなかの袋から出てきた)”という文において, を埋める単語として言語モデルは“kangaroo (カンガルー)”や“koala (コアラ)”に高い確率で割り当て,“kangaroos (カンガルー複数形)”,“elephant (象)”,“government (政府)”などの単語には低い確率を割り当てる。
言語モデルは自動音声認識や機械翻訳などのさまざまなタスクで数十年前から利用されているが,この数年でその学習方法と基本アーキテクチャーが大きく変化した。昨今の言語モデルの特徴は事前学習であり,大規模なテキストコーパス中の単語をマスクし,マスクされた単語をモデルが復元する予測タスクを学習する。先の例では,マスクした単語が“kangaroo”であった場合,マスクされた単語の文脈から“kangaroo”を復元できるようモデルのパラメーターを学習する。この作業を数百万から数十億の文章に対して繰り返す。毎回ランダムに異なる単語をマスクすることにより,言語モデルはマスクされた(任意の)単語を復元する能力を獲得していく。
この学習では,それぞれの単語や文脈を原文から切り離して抽象化し,単語の意味を位置付ける「表現学習」が重要な役割を果たす。表現学習では,“kangaroo”と“koala”が似たような文脈で出現する事実を利用して,“kangaroo”と“koala”が密接に関連しているという性質を捉えることができる。文書要約や質問応答などの特定の自然言語処理タスクに依存しない形でモデルを学習するため「事前学習」と呼ばれている。一般的に大量のデータを用いる事前学習は計算量が多く,数ヶ月から数年の処理時間を必要とすることもある。一方,こうした事前学習済み言語モデルを特定のタスクに合わせて更新するファインチューニングは,事前学習の数分の一の時間で実現できる。つまり,事前学習による大規模な計算は一回限りのコストとなる。
事前学習済み言語モデルは特に汎用性という点で優れた特性を有する。このモデルは文書分類タスクから,品詞推定などの単語の系列ラベリングタスク,さらにはテキスト生成タスクまで,幅広い種類のタスクに容易に適用できる。また,事前学習した多言語モデルでは,英語などの一つの言語で,要約などのタスクをファインチューニングすると,日本語などの他の言語でも同じタスクを実行できる。一度大きな一般モデルを学習してしまえば,個々のタスクのモデルを学習する労力は従来よりもかなり軽減される。これによりAIやデータサイエンスのコミュニティからの自然言語処理へのアクセスは,より容易になっている。
このように,事前学習済み言語モデルによって驚くような効果が得られるが,それに伴う重要な注意点が存在する。
第一に,コストの高騰が挙げられる。事前学習言語モデルは,一般的にモデルが大きいほど言葉の些細な特徴を捉えられるようになり,さまざまなタスクへの適応性が高いということが分かってきたため,事前学習言語モデルのサイズと複雑さは増大している。事前学習による大規模な計算は一回で済むものの,事前学習済み言語モデルの計算コストが高いため,主に大企業の資金力のある研究所だけが,このようなモデルを学習できるようになってきている。また,仮に学習済みの言語モデルを広く研究者が利用できるようになったとしても,そのモデルを他のタスクに適用させるファインチューニングのコストもこれに伴って法外に高くなりつつある。
第二に,タスクに特化したモデルを訓練するためのファインチューニングにおいて,試行錯誤を伴う工学的なオーバーヘッドが存在する点である。ファインチューニングでは,実装における小さな差が、タスクのパフォーマンスに大きな影響を与える可能性がある。ファインチューニングのハイパーパラメーターやアーキテクチャーの選定に試行錯誤を要することが多く,これらの選定は,選定値で一度モデルを学習し,開発用データで結果を観測することを繰り返して,パラメーターを最適化できることが多い。計算コストがかかるだけでなく,開発プロセスを上手く導くための作業者の工学的な経験が必要になる。
第三に,事前学習は大規模なテキストコーパスほど効果を発揮するため,大規模コーパスが存在しない言語への適用は困難なことである。英語や日本語のように,本やWebなどのリソースを得やすい言語ではコーパスの心配はいらない。一方で,コーパスを入手する十分なリソースがない,つまり話者数が少ない言語が何千とある。これに加え,ラオス語(約3,000万人のネイティブスピーカー)やアチェ語(約400万人のネイティブスピーカー)では,ネイティブスピーカー数が多くてもリソースは十分ではない。同様に,生物医学や法律などの専門領域におけるアプリケーションでは,リソースが豊富な言語であっても,専門領域固有のテキストコーパスの入手が課題となり,ここでも事前学習済み言語モデルの適用が制限される。
第四に,データバイアスの課題がある。事前学習済み言語モデルはテキストコーパス中の言語バイアスを拾うだけでなく,それを増幅する傾向がある。このようなバイアスは,性差別,人種差別,同性愛嫌悪,能力差別などの特定の集団に対する態度やステレオタイプをコード化し,求人応募のスクリーニング,法的支援の選別,チャットボットなどの下流アプリケーションにおいて現実世界の差別的,法的影響を与える可能性が出てくる。このようなバイアスを軽減する手法は存在するものの,バイアスを暗黙的に学習してしまった事前学習言語モデルの場合,それを軽減することは非常に困難となる。このようなバイアスへの対処法として,テキストコーパスから問題のあるデータを削除するデータキュレーションが挙げられる。しかし,テキストコーパスの規模や,バイアスは集計されて初めて明らかになるような事実(例えば,医師を参照する際の代名詞は“he(彼)”であることが多い)を考えると非常に難しい課題であり,現状では,しばしば無視されてしまっている。
自然言語処理の分野は非常に躍動的な時代に突入し,事前学習済み言語モデルは近年大きな進歩を遂げている。しかし,科学における多くの進歩と同様に,その恩恵を利用するためには重要な注意点があり,このような事実をもっと一般に認知させることが,今後重要となっていく。