はじめに・ご挨拶
坂本俊之といいます。AIエンジニアとして活動しています。
個人的にAIの研究をおこないつつ、AIに関する技術書を何冊か書いています。
ホームページ:https://nama.ne.jp/
著作一覧:Amazonへ移動
このプロジェクトで実現したいこと
「危険すぎる」と話題になった文章生成AI、GPT2の日本語版をトレーニングし、一般公開するプロジェクトです
URL:https://github.com/tanreinama/gpt2-japanese
既に2020年3月から7月にかけて、独自にウェブクロールを行いコーパスを構築し、20GB以上の日本語文章を収集しています。既存のコーパスと異なり、収集したコーパスには、個人ブログやWeb小説などのコンテンツ系の文章が多く含まれており、GPT2を利用することで、例えば「途中まで書いた小説の続きを書いてくれるAI」のような、これまでに無かったAIが実現出来る可能性があります。
GPT2のモデルそのものは、MITライセンスで公開されており、大規模な文章データがあれば、独自にトレーニングを行うことが出来ます。
プロジェクトをやろうと思った理由
GPT2は、人工知能を研究する非営利組織のOpenAIが開発したAIで、まるで人間が書いたかのような自然な文章を生成することが出来ると話題になりました。
現在、英語版のGPT2は、OpenAIが一般に公開しており、誰でも利用出来るようになっています。
そして、OpenAIと研究機関が様々な言語学的研究を行いました。(例えば、コーネル大学はAIが生成する偽文章への人間の感受性について研究しました)
このように、アメリカでは、企業が費用のかかるAIの作成を行い一般公開する一方で、大学などの研究機関がその公開されたAIを利用して研究を行うという、エコシステムが出来上がっています。
例えば、画像認識系のAIでは、ModelZOOというAI群が、様々な研究や製品開発に利用出来るように一般公開されています。
既にAIは、実際の製品に利用される段階に入っており、一般公開されたAIが利用出来るかどうかで、製品開発の競争力や、ひいてはその国の国際競争力が左右されると言っても過言ではありません。
しかしながら、(言語に依存せず)世界で共通して利用出来る画像認識系のAIとは異なり、自然言語処理系のAIでは、その国で話されている言語でAIを新たにトレーニングする必要があります。
日本語はローカルな言語なので、誰か日本人がAIをトレーニングして公開しないと、日本語でのAIは利用出来ず、ひいては日本国の国際競争力が低下するような事態まで招きかねません。
ところがAIのトレーニングは、大量の高性能サーバーを利用する必要があるため、非常にコストのかかる工程です。
日本には、大きな利益を上げている企業がAIを作成し、大学などは公開されたAIを使って研究するというエコシステムが無く、個人や大学の研究室レベルで、細々とAIのローカライズがなされているに過ぎません。
上記の日本語版GPT2も、私が個人的な作業として作成した物ですが、
・ワード単位ではなくバイト単位でトレーニングしてある
・最も小さな(最も性能の低い)117Mのモデルしかない
という問題があります。
そして、より大きなモデルをトレーニングするには、117Mモデルをトレーニングするのに使用したGPUマシンではGPUメモリが足りず(バッチサイズを最小の1にしても1バッチがGPUメモリに乗り切らない)、サーバーを借りる必要があります。
それには、個人で出すには腰が引ける金額のサーバー代が必要になります。
例えば、Google Cloud PlatformでのGPUサーバーの代金は$1267.28 per GPU/ monthで、それを使えば一つ大きな345Mのモデルがトレーニング出来ます。
さらに、TPUサーバーの代金は、$3,285 / monthとなっており、それを2ヶ月ほど使えば、もう一つ大きな774Mのモデルがトレーニング出来ます。
また、トレーニングの教師データには日本語の大規模コーパスが必要ですが、そのような大規模コーパスは20万円ほどの利用許諾料が必要になります。(このプロジェクトは、大学などの研究室に属さない個人で行っているので、個人利用となり、利用許諾料も高額になります)
このように、日本語にローカライズされたAIを一般に公開することは、日本のAI研究の進歩に寄与し、ひいては日本国の国際競争力強化に値するプロジェクトなのですが、かかる費用のためより大きなモデルのトレーニングが出来ずにいます。
そこで、クラウドファウンディングを利用して支援を求めたいと思います。
支援が集まらなくても、345Mモデルのトレーニングと一般公開までは必ずやります。
これまでの活動
2020年3月から7月にかけて、独自にウェブクロールを行い、今後の個人研究に利用出来るコーパスを構築しました。
また、そのコーパスを、最も小さな(性能の低い)117Mモデルに学習させ、一般公開しています。
URL:https://github.com/tanreinama/gpt2-japanese
資金の使い道
モデルのトレーニングに必要なサーバー代に当てます。
まず、AWSかGCPでGPUサーバーを借り、345Mのモデルをトレーニングします。バッチサイズの最小サイズである1バッチがGPUメモリに乗るためには、345Mのモデルの場合、少なくとも16GB以上のGPUメモリを搭載したサーバーが必要になりそうです。さらに大きなモデルのトレーニングには、TPUサーバーが必要になりそうです。
ちなみに、現時点でGoogle Cloud PlatformでのGPUサーバーの代金は$1267.28 per GPU/ month、TPUサーバーの代金は、$3,285 / monthです。
もしも余りが出たら、誰でも日本語版GPT2を使えるようなデモンストレーションサイトを立ち上げたいと思うので、そのデモンストレーション用のサーバー代とし、余りの分が無くなるまでデモンストレーションサイトを運営します。
それでも余るほど集まったら、有償で利用出来る大規模コーパスの個人利用許諾料に当て、そのコーパスを学習させたモデルも公開します。
リターンについて
支援者には、GPT2モデルの公開情報をメールで配信します。
また、公開時には、公開ファイル及びGitHub上で、special_thanks.txtに(希望者のみ)支援者の氏名またはニックネームを掲載します。
また、高額支援者には、独自コーパス作成のクローリングプログラムと、GPT2のトレーニングのためのソースコード(ほぼ公開されいてるコードそのままですが、データ作成のためのコマンド等)を提供します。
実施スケジュール
既にバイト単位での学習からワード単位での学習に変更するための、ソースコードは完成済です。
そして、117Mモデルの再トレーニングは実行中です。
・9/15までに --- ワード単位での学習を行った117Mモデルを公開
・9/20までに --- 345Mモデルのトレーニングを開始
・11月までに --- 345Mモデルを公開
・それ以降 --- 支援額次第(より高額で高速なサーバーを借りられればリリースが早くなります)
年内には、プロジェクトの最終的な結果がいつ頃出来上がるかを確定出来ます。
最後に
現在、日本のAI研究は、アメリカに大きく後れを取っているばかりか、中国にも追い抜かれつつあります。
誰かがこういったことをやって、AI研究のエコシステムを作らないと、今後も後退してゆく一方です!
21世紀後半の国際競争力は、その国のAI開発能力に左右されると言っても過言ではありません!!
支援が無くても個人的に345Mモデルの作成までは、必ずやります!応援してください!
最新の活動報告
もっと見るProject Completed!『GPT2-Japanese』のLargeモデルを公開しました!
2021/03/13 13:42お待たせしました!皆様にご支援いただいた、「GPT-2日本語版」において、ついに、最大サイズとなるLargeモデルが公開されました!Largeモデルは、20ヘッダー+36階層で1280次元の埋め込みベクトルと、大変に巨大なモデルです。このサイズになると、学習のための時間も膨大になり、皆様のご支援と応援がなかったら、とても作ろうとも思わなかったと思います。現時点において、フリーで利用できる日本語の言語モデルとして、おそらく最大サイズのものではないかと考えております。使用したGPUのメモリ制限から、AdamではなくAdagradアルゴリズムで学習させたため、まだ完全なLargeモデルの性能には到達していない可能性がありますが、text2text等のファインチューニングで使用するベースモデルとして、高度な日本語能力をAIに与えるモデルとなっております。また、本日、別のBERTベースのAIで、『text2importance-japanese』も公開しました!こちらは、長い文章から、その全体の意味に対する重要度を、センテンス毎に求めるAIモデルです。 重要度の高いセンテンスを取り出せば抽出型要約AIとして、逆に重要度の低いセンテンスを取り除けば長文フィルターとして使えます。また、長さの異なる文章を、意味を損なわずに同じくらいの長さに揃えるなどの用途にも使えます。GPT-2日本語版、RoBERTa日本語版、text2text等のモデルを公開して、ようやく、やりたいことに対する道具立てが整ってきた、という感じがします。『text2importance-japanese』 は、そうやって揃えてきた道具を使って初めて作成することが出来た、応用レベルのAIだと思います。これからも、日本語を使ったAIを鋭意作成してゆく予定です!引き続き応援よろしくお願いします! もっと見る
文章→文章の変換タスク用AI『text2text-japanese』をリリースしました
2021/02/11 17:01日本語版GPT-2のモデルを元に、文章→文章の変換タスクを実行するAI、「text2text-japanese」がリリースされました。公開URL↓https://github.com/tanreinama/text2text-japanesetext2text-japaneseとは、基本的に、日本語版GPT-2のモデルを、文章→文章の変換タスク用にファインチューニングするためのプログラムです。日本語版GPT-2のプレトレーニング済みモデルは教師なし学習による言語モデルですが、それを元に、教師あり学習(入力文章に対する正解となる出力文章が定義されている)による文章変換モデルを作成します。用途としては、質問回答AI、チャットボット、抽象型要約などが考えられます。他にも、学習データ次第で、色々な日本語文章を変換出来るので、アイデアと学習データ次第で様々なAIを作成することが出来ます。サンプルとして、ニュース記事からニュースのタイトルを出力するように学習させた、「news2title」モデルも公開しています。こちらのサンプルは、デモンストレーションのページから実行してみることが出来ます。デモンストレーションURL↓http://ailab.nama.ne.jp/#news2titleこれからも、まだまだ色々なAIを作ってリリースしてゆく予定です!引き続き、応援の程よろしくお願いします。坂本 もっと見る
【GPT2日本語版】smallモデル及びファインチューニング用コードをリリースしました
2020/12/24 17:06この度、GPT2-Japaneseプロジェクトにおいて、small版のモデルを公開したのでお知らせします。small版モデル(旧117Mモデル)は、12層のヘッダーとtransform層を持つモデルで、既に公開済みのmideumモデルよりもパラメーター数が少なく、軽いことが特徴です。また、GitHub Sponsorにて、スポンサーの募集を開始しています。GitHub Sponsorでのリターンには、camp-fireの時と同じものの他、camp-fireでは利用規約上不可能だった、独自コーパスの提供も含めています。その他、要望の多かった、転移学習(ファインチューニング)用のコードも公開しました。このファインチューニングコードは、以前から高額支援者様と共有していたコードとは別に、改めて作り直したものになります。このコードを使って、独自のコーパスを使ってGPT2-Japaneseのモデルをファインチューニングすることが出来ます。これからも、まだまだ色々なAIを作ってリリースしてゆく予定です!largeモデルは来年3月頃、その後は独自のコーパスによる文章要約AIをリリース予定です。引き続き、応援の程よろしくお願いします。坂本 もっと見る
コメント
もっと見る