皆様にご支援頂いている、GPT2日本語作成プロジェクトにおいて、117Mパラメーターの新モデルが公開されました。
117Mパラメーターのモデルは、GPT2の中でも最も小さな(性能の低い)モデルで、既に学習済みのモデルが公開されていましたが、今回、異なる語彙数で学習させたモデルを、新たに公開しました。
以前のモデルと今回リリースしたモデルを比較することにより、より大きなモデルをトレーニングする際に使用する語彙数を決定します。
また、語彙数の差によるモデルの性能比較など、単一のモデルのみでは出来なかった様々な研究活動が可能になります。
これまでの活動について:
現在公開中の日本語版GPT2は、
・ワード単位ではなくバイト単位でトレーニングしてある
・最も小さな(最も性能の低い)117Mのモデルしかない
という問題がありました。
このうち、「ワード単位ではなくバイト単位でトレーニングしてある」というのは、オリジナルのGPT2が50256種類の語彙を出力するように作成されているのに対して、バイト単位なので256種類の出力(0〜0xFF+<|endoftext|>)しか使っていない、ということを意味しています。
プロジェクトの開始時点で、既にバイト単位での学習からワード単位での学習に変更するための、ソースコードは完成済でした。また、117Mモデルの再トレーニングも、手持ちの機械学習用マシンで実行中でした。
今回のリリース内容:
この度、ワード単位での学習を行ったパラメーター数117Mのモデルを公開しました。
新しいモデルは、GitHubのページにあるリンクからダウンロードすることが出来ます。
https://github.com/tanreinama/gpt2-japanese
新モデルの評価:
まだ暫定的な評価ですが、ワード単位での学習を行うと、単純に性能が良くなるかと言えば、場合によっては必ずしもそうではない事が解りました。
GPT2は、文章生成を行うAIですが、基本は「人間の書いた文章の続きを生成する」AIです。
何も無いところから、あるいは、短い文章の後に続く文を生成するような場合、以前のモデルの方が安定しているようにも見えます。
しかし、生成文章の品質は、top_p、top_kのパラメーターによって大きく変わり、入力文章の長さに合わせて適切なパラメーターを指定すると、新しいワード単位での学習を行ったモデルも、かなり自然な文章を生成してくれます。
新モデルを使った研究:
まだ定数的な評価は行っておらず、単なる感覚ですが、新モデルはtop_p、top_kのパラメーターの感度が大きいように見えます。
現時点での、私の試行による仮設としては、top_pを設定すると、出力の文章はtop_kより自然な文章になるのですが、入力contextとの関連性は少なくなるようです。top_kはcontextの長さと反比例するように設定する必要があって、top_kで指定したほうが、入力contextと関連性のある文章が出力されるようです。
このあたりの定性化については、後の研究を待つ必要がありそうです。出力の性能を定数化して比較してみても面白いかもしれません。
また、前回のモデルと、新しいモデルの比較により、1.5Bパラメーター等の巨大なモデルでは無く、小さな117Mパラメーターのモデルの場合、オリジナルの設定より小さな語彙数を使用する方が良いのではないか、という仮設が生まれました。
そして、小さなモデルでの語彙数の差によるモデルの性能の比較や、最適な語彙数の算定などが、新たな研究テーマとして浮上しました。
今後の予定:
以前のモデルと、今回リリースしたモデルとを比較し、345Mパラメーターのモデルを、どのような語彙数で学習させるかを決定します。
今月の20日には、345Mパラメーターのモデルの学習を開始する予定となっています。
345Mパラメーターのモデルの学習にはGPUサーバーをレンタルする必要があります。さらに大きなモデルのトレーニングには恐らくTPUが必要になりそうです。
まだまだやることは山積みです。
引き続きご支援のほどお願いいたします!