rinna株式会社は日本語に特化したGPT-2の大規模言語モデルを構築し、オープンソースとして公開したことを発表した。今回公開したのは、GPT2-mediumと定義される中規模サイズのモデル。ユーザー/研究者が簡単にアクセスできるように、開発したモデルをHuggingFaceに公開している。また、研究者が自分のマシンでrinna社の結果を再現できるように、トレーニングコードをGitHubに公開している。
今後、パフォーマンスとコストのトレードオフに基づいてユーザー/研究者が最善の選択をできるよう、異なるサイズのモデルも公開する予定。また、異なるデータでトレーニングした新しいモデルの公開も計画している。
日本語GPT-2モデルについて
言語モデルは言語データの機械学習をもとに、会話や文章の「人間が使う言葉らしさ」を確率としてモデル化したもの。優れた言語モデルとは確率を正確に推定できるものを指す。例えば“確率(吾輩は猫である)>確率(吾輩が猫である)”と推定できるのが、言語モデルの能力。
日本語GPT-2モデルは単語レベルの確率の組み合わせから文の確率を計算する言語モデル(自己回帰言語モデル)。例えば、“確率(吾輩は猫である)=確率(吾輩)x確率(は|吾輩)x確率(猫|吾輩,は)x確率(で|吾輩,は,猫)x確率(ある|吾輩,は,猫,で)”のような方法で推定を行う。この能力を使って、GPT-2は「吾輩は猫で」という接頭辞(Prefix)を与えられたとき、確率の推定から次にくる単語として「ある」を選択し、文章を自動生成できる。
今回、rinna社が公開した日本語GPT-2モデルは、一般的な日本語テキストの特徴を有した高度な日本語文章を自動生成できる。ユーザー/研究者は特定のテキストデータを微調整して、このモデルから独自のモデルを作成することも可能。例えば、Prefixとして「誰も到達していない人工知能の高みへ、ともに」という文章が与えられたとき、特定のコンテキスト(デモ1:講演の感想、デモ2:書籍の紹介)で応答文を生成するように、微調整できる。
【デモ1】講演の感想のコンテキストで文章生成
【デモ2】書籍の紹介のコンテキストで文章生成
日本語GPT-2モデルはTesla V100 GPUを用いて、70ギガバイトの日本語テキストを約1カ月の長期間にわたってトレーニングした。その結果、モデルの性能は約18 perplexityを達成。モデルは十分にトレーニングされており、汎用性があると言える。なお、トレーニングデータとしては、CC-100のオープンソースデータを使用している。
今後の展開
rinna社の研究チームが開発している大規模な言語モデルは、すでに同社のプロダクトに広く使用されている。rinna社は今後も、異なるテキストスタイルや異なるデータ量を含む、より高精度でより大規模な言語モデルの研究開発を続け、AIチャットボットの能力を高めていく。また、日本語の研究コミュニティのために、これらのモデルをオープンソース化していく。
rinna株式会社
ABOUT THE AUTHOR /
山田 航也横浜出身の1998年生まれ。現在はロボットスタートでアルバイトをしながらプログラムを学んでいる。好きなロボットは、AnkiやCOZMO、Sotaなどのコミュニケーションロボット。