行していった経緯がある。本稿ではそのような生成課題のうち長い回答の要約の技術について紹介する。最後に、近年研究開発を行った深層学習版のWISDOM Xの高速化/軽量化に関する取組についても紹介する。NICT BERTの事前学習BERT[2]はTransformerネットワーク[1]のen-coder部分を利用したニューラルネットとして構成されており、前述したように、大規模な教師無しテキストを用いて事前学習を行う。より詳しくは、(1)入力テキスト中の単語をある確率で [MASK]という特殊なトークンに置き換えてニューラルネットに入力し、もとの単語が何であったかを予測するmasked language modeling (masked LM)と、(2)もとの単語列とその後続する単語列の対である場合を正例、もとの単語列とランダムに選択した単語列の対である場合を負例とした学習を行うnext sentence predictionの学習を大規模に行う。学習に利用するTransformerネットワークは入力の各単語を単語embeddingというベクトルに変換、また、その出現位置を表す位置embedding、何個目の単語列のまとまりであるかを表すセグメントembeddingを用いて、それらを合算して入力のベクトルを作成し、以降の多段から成るTransformer層へ入力する。Transformer層の各層ではmulti-head atten-tionと呼ばれる複数の観点からの学習を行うが、上述の(1)(2)の学習を通じて、例えば、ある[MASK]となっている語を予測するために他のどの入力単語のどのような言語的な特性を捉えて予測をすべきかといった観点そのものを自動で学習し続けることにより、入力された言語の文の多様な言語的な特性に関する学習がBERTの内部で行われることになる。その後、ファインチューニングでBERTのパラメタを特定の問題に関して更に更新することでその問題に関して非常に高い性能が得られることが知られている(BERTのアーキテクチャの概要は図1を参照)。BERTの事前学習の結果得られるモデルの質、つまり、その後のファインチューニングを行って得られるモデルが個別の問題で高い性能を得られるかは、モデルのパラメタの規模と後述するバッチサイズの事例を1ステップで学習するとして、事前学習全体で何ステップ分の処理を行うのか、別の言い方をすると、入力のテキストデータを何回読み込んで学習を行うのかが影響することが知られている。さらには事前学習で利用するテキストの質も影響することが知られている。BERTの学習の事前学習の設定として代表的なものがBERTBASEとBERTLARGEである。前者はTransformer層が12層、隠れ層が768次元のベクトルを利用したものであり、後者のBERTLARGEはTransformer層が24層、隠れ層が1,024次元のベクトルを用いたものとなっている。Devlinらが提案したオリジナルのBERT[2]の事前学習時のハイパーパラメタはバッチサイズが256、最大系列長が512、ステップ数が100万、学習率は1e-4である。また一般的には、BERTLARGEを事前学習したモデルをファインチューニングすることでBERTBASEよりも性能が高くなることが知られている。また、さらには学習時のバッチサイズ、つまり、1ステップで何事例を同時に学習するも重要となる。例えば、BERTの拡張であるRoBERTaというモデル[8]ではバッチサイズを256から最大8,192まで増やすが、ステップ数は50万ステップ*2に設定して事前学習することでファインチューニング後の各種タスクの性能が向上したことが報告されている。我々が実施した日本語を対象としたBERTの事前学習でも、上述の既存研究で性能が向上した各種設定を反映もしくは一部拡張することで学習を実施した。まず、日本語Wikipediaの記事を対象にBERTBASEのモデルサイズを事前学習した際には、最初にバッチサイズを4,096、ステップ数を100万、最大系列長を128、学習率を1e-4に設定して学習し、次に、より長い入力にも対応できるように、バッチサイズを4,096、ステップ数を10万、最大系列長を512、学習率を2e-5に変更して追加で学習するといった2段階の事前学習を実施した。この結果得られたBERTモデルはNICT BERT日本語Pre-trainedモデルという名称で一般に2出⼒(分類スコア)[CLS]![SEP]E[CLS]E1EN"E2#Ei......CT1TNT2Ti.....................TrmTrmTrmTrmTrm............⼊⼒: [CLS] ⽂1 [SEP] ⽂2 [SEP] ... ⽂n [SEP]図1 BERTのアーキテクチャ*2バッチサイズを増やしたことで事前学習のステップ数はオリジナルの100万ステップよりも少ない最大50万ステップが採用されている。1313-4 DIRECTにおける深層学習を用いた大規模自然言語処理
元のページ ../index.html#137