お待たせしました!皆様にご支援いただいた、「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を鋭意作成してゆく予定です!引き続き応援よろしくお願いします!
日本語版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-Japaneseプロジェクトにおいて、small版のモデルを公開したのでお知らせします。small版モデル(旧117Mモデル)は、12層のヘッダーとtransform層を持つモデルで、既に公開済みのmideumモデルよりもパラメーター数が少なく、軽いことが特徴です。また、GitHub Sponsorにて、スポンサーの募集を開始しています。GitHub Sponsorでのリターンには、camp-fireの時と同じものの他、camp-fireでは利用規約上不可能だった、独自コーパスの提供も含めています。その他、要望の多かった、転移学習(ファインチューニング)用のコードも公開しました。このファインチューニングコードは、以前から高額支援者様と共有していたコードとは別に、改めて作り直したものになります。このコードを使って、独自のコーパスを使ってGPT2-Japaneseのモデルをファインチューニングすることが出来ます。これからも、まだまだ色々なAIを作ってリリースしてゆく予定です!largeモデルは来年3月頃、その後は独自のコーパスによる文章要約AIをリリース予定です。引き続き、応援の程よろしくお願いします。坂本
BERTの改良版「RoBERTa」を、日本語版GPT-2と同じコーパスで学習させた、「RoBERTa日本語版」の事前学習済みモデルがリリースされました。リリース内容これまで、日本語版GPT-2プロジェクトを通じて、GPT-2及びTransformerをベースとしたニューラルネットワークの学習について知見を得てきました。この度、GPT-2と同じようにTransformerベースの機械学習モデルの、「RoBERTa」の日本語版を作成し、リリースしました。「RoBERTa」は、Liu, Yinhanらが提案する、BERTの改良版です。RoBERTaの、BERTからの改良点は学習手法の改良のみで、モデル構造そのものはオリジナルのBERTそのものです(こちらの記事などが詳しいです)。「RoBERTa日本語版」は、事前学習のためのプログラムも、MITライセンスで公開しています。また、クラス分類の学習プログラムと推論プログラム、文章のベクトル化を行うプログラムも、「RoBERTa日本語版」の利用方法のサンプルとして公開しています。RoBERTa-japaneseとはオリジナルのBERTに、RoBERTaの論文から、以下のFEATUREsを導入して作成しました。dynamic maskNSPは使わないFULL-SENTENCESな学習バッチサイズとlr値を最適化分かち書き/エンコードはJapanese-BPEEncoderを使用します。そのため、オリジナルのRoBERTaからも、語彙数について違いがあります。また、分かち書きがBPEエンコードで、単語単位ではないので、[MASK]もBPE単位になっています。公開している学習済みモデル現在公開しているモデルは、RoBERTa-baseモデルで、12層のヘッダーとtransformerを持つサイズです。(GPT-2のsmallモデルに相当します)「RoBERTa日本語版」は、以下のGitHubにて公開しています。https://github.com/tanreinama/RoBERTa-japanese引き続き応援の程よろしくお願いします。
GPT-2を応用した、Transformerベースの音楽生成AI、「Chord2Melody」がリリースされました。リリース内容これまで、日本語版GPT-2プロジェクトを通じて、GPT-2及びTransformerをベースとしたニューラルネットワークの学習について知見を得てきました。この度、GPT-2を応用した、Transformerベースの音楽生成AI、「Chord2Melody」を作成し、リリースしました。「Chord2Melody」は、音楽を構成する音符を時間単位に分割し、音階とトラックからなる‘単語’の列を、GPT-2の文章生成と同じように生成する事が出来ます。これはつまり、AIによる音楽の作曲と言えます。「Chord2Melody」の特徴は、コード進行からメロディーを生成する機能や、(GPT-2と同じように)途中まで作った曲の続きを作曲する機能がある点です。「Chord2Melody」は、以下のGitHubにて公開しています。https://github.com/tanreinama/chord2melodyRelated Worksこれまで、音楽を生成するAIとしては、敵対的生成ネットワーク(GAN)を使用した、MuseGANがありました。MuseGANは、AmazonのDeepComposer(Amazonの作曲AI)のベースとして利用されていることでも知られています。MuseGANでは、音符をpianorollとして扱い、1トラックの情報を2次元の画像状に加工します。そして、複数のトラックを含めた3次元データを、畳み込みニューラルネットワーク(CNN)を使ったGANで生成しています。一方、Transformerベースの画像を生成するAIとして、Image-GPTがあります。Image-GPTは、画像を構成する画素を、k-meanによってクラスタリングし、画素の並びを‘単語’列として扱うことで、GPT-2と同じように画像を生成しています。Image-GPTは、Transformerベースのモデルは、離散的な時系列的データであれば、様々なデータを生成可能な事を示しています。Our Works音楽を構成する音符を時間単位に分割し、音階とトラックからなる‘単語’の列を作成しました。‘単語’の列は、音が鳴っている事を表す‘Note’と、時間を進める事を表す‘Timenote’があり、‘Note’は、トラック(鳴らす楽器)と、音階を表す固有のIDからなっています。‘Timenote’は、音楽を16分音符単位で時間的に分割し、次の単位へと移動することを表します。つまり、「NoteA・NoteB・NoteB・Timenote」という単語の進行は、A,B,Cという三つの音を同時にならす和音の、16分音符分の時間を表しています。学習させたデータは、Lakh Pianoroll Datasetを使用し、Data Augmentationとしてランダムに変調したデータを6倍用意しました。そのデータを、GPT-2と同等のTransformerベースのモデルに学習させました。モデルは、12層のヘッダー、12層のTransformers、768のノード数、1024のコンテキスト数からなり、GPT-2(117M)と同等の深さがあります。Lakh Pianoroll Datasetは、5トラックからなるデータと、17トラックからなるデータがあるので、学習したモデルも2種類あります。トラック数により出力される‘単語’の総数が変わるので、モデルのパラメーターも異なります。各モデルは、それぞれ86,167,296個と86,941,440個のパラメーターからなっています。Samples「Chord2Melody」が生成した音楽のサンプルは、以下のURLからダウンロード出来ます。https://github.com/tanreinama/chord2melody/tree/main/samples