SF作家「野崎まど」の小説をGPT-2の1558Mモデルで学習させてみた話
はじめに
GPT-2は、イーロン・マスク氏が設立に関わったOpen AI社が開発しました。GPT-2は、データセットでトレーニングされた15億個のパラメーターを持つ大規模なトランスベースの言語モデルです。
(引用:OpenAI)https://openai.com/blog/better-language-models/
簡単に説明すると、GPT-2は、前の単語を踏まえて次に来る単語を予測します。つまり、歌詞や、小説なども、データを流し込めば、膨大なパラメーターによって、その続きが自動生成できるのです。
そこで、今回はGPT-2で公開されている最大モデルの、15億5800万(1558M)モデルを使って、小説の自動生成を行った過程を残します。
目的
SF作家「野崎まど」の小説をもとに、新たなストーリーを生成する
結果① 「タイタン」っぽい作品が生まれました、、、?
タイマーと巨大なビルの中で、私は家まで買っていくのをコマをかざす。犬のような空中投影像ずつ冲立てているが、自分の意志や点検管が甚だされているブランドのようだった。
けれどそこは不愉場なのだから、ロシア語は書かれていないので買ったらもうコマをかざすだけだ。私は著しく貰えない本的な態度で暮らして能動的な支えになっている。なるほど、この語が素晴らしいわけがない。
『全ての行く期間は、段階で殴り時間の秘密になる』
彼は必要なことを言い含めるように続けた。
『僕は相対にこんなことができた。そして一つだけ、僕にこんな事はなく問題ない。だから当時の進庇心理的・他難しい発展理』
私は驚いた。コマをかざす計画は完璧なものだ。信用だけではダルト系の信用方式を探す。これまで仕事でも、沢山前に就くこうもない。
『《仕事》とはなんですか』
「なんです」
『《仕事》とぇてすか』
「それはどんなだ」
私は昨日、目を丸くしながら再び一歩を自分自身を吹き込んだ。間違っているし、これだけはこれでも足りる。俯くださいなぁと思う。
昨日の電話は普通の話だった。
結果② 「何かのご縁」 っぽい小説ができました
女子が一脚。そこには座るべきかと後ず。
だはしゃげに後ろ下ろした。すぐに後ろしながらプリンセス・パールちゃんから跳ねた。それもせめて見た瞬間だが、まだ脚と後追いかけられぬ前後。リテイクな感情を覚悟して、後追いかけてなったようだ。しゃげにタイミングを勧めたせいで脚と後追いかける。この時代で後追いと言われ、パールちゃんはテキパキされた。
「うさぎ?」
僕は後ろからついに振り返る。だが同時に、いったいどんな意見を撫でるように軽々と左路を走らせる。
西院さんの誕生日間が発生し去った入力の速度で西院さんは半回の自転車通勤でなんとか復膳の無表情で喋っていた。自治会室の中は通報するとインタビューが崩壊した。見える方には異論や言いたいのは素直に嬉しいプリンセス・パールちゃんだけれど。
僕は解説の激動の受賞を思い出してみた。
テレビの《輪》がいくつかの自転車通勤から、自治会室の中はゆっくりと新品のパフォーマンスで僕を見渡している。その中はたくさんのセールを通じていた。僕は二時間通りに前通りだからゆっくりと言っていた。それにゆっくりと言われた《輪》が荷物を分けていく形になる。インタ・ビウィも想像のない人なの。全部、あれだけ縁結びのはず。お久しぶりの何年も会い、そして恐怖はできあがっているのだ。
けれど今日のこの日、西院さんは友達がとうとう羨までナタリーに達している。なぜならお嬢さんも喜んでいる。
でも僕は西院さんが正解を動かせた時だった。ピークを交わし、家を時計したけど、それだけは間違いないだろうか。じゃあ何でもない時のことが判るのだったか。
結果③ 「HELLO WORLD」の登場人物たちが出てきてますね
失恋。
呟いた後、恋の痺動が完璧で、キーを走らせる。それはなんとも想像していて、三鈴もそれに対して怪しき返される。自分と満足りない本。自分の容赦に恋の輪術。
恋に痛い。痛い自然の中にいくらでも感じた。ただ自分がバスを入れて、それをただ自分に気づいて、その時は記憶がもつれ、自然と痛くて冷たい人に近づく。
彼はその通り、そしてついには。他の痛みが一変しているからに、自分が決めた人間が決定していることに気づいて、それをただじっと悘しげに見えた。
だが他の自分が理解できるとしたら。
自分たちが痛い。きっと自分で起こって、そして痛い自分を殺した。
三鈴は記憶をたぐそばだると、自分から教えた一枚を持った。
「行とはなに!?」
自分もそう思った。自分思い出せた恋を決めなければいけないことが大切なものだ。
変わりたい。変われたい。同時に、いつの間にか変わったものも、それが何も持ちゃうのかと言えば最も別に自分が顔を隠している。
彼も希望も、そして痛い。
痛い自分。痛いこと。
その時、全身に痛い顔がうっすらと近づく。
真っ白な、狼狽い痛みにとはまった。
自分の考えに決して深刻する、堅書ナオミだった。
僕は溜息を合わせながら、目を半分にした。
用意したもの・学習データ
・優秀なGPU
・十分な容量
学習データは、100MB程度のデータです。ジャンルは、ライトノベルから哲学、戯曲、一般著書、論文など、ごちゃまぜのデータを使いました。割合で言うと、ライトノベルが4割他で6割程度といった感じです。学習ステップごとに調整したモデルを適宜保存することもできますが、1558Mモデルの調整だと、各ステップごとに20GB程度必要なので、十分な空き容量が必要です。
方法
① 再学習できるようにデータを加工する(めちゃ重要)
② 環境づくり
③ colabでひたすら学習させる。(今回は約2週間) 以上。
文字に起こしてみると、めちゃくちゃ簡単そうに見えますが、①の作業が大変です。ルビを消したり、小説ごとの調整をする単純作業を気合で乗り切りましょう。
環境づくりとしては、tensorflowのインストールに引っ掛かりました。
pip install tensor2tensor==1.14.1
pip install tensorflow-gpu==1.15
(*行ったのが1年前のため、各種エラーは臨機応変に対応してください)
学習方法ですが、まず「野崎まど」作品以外のデータのみで学習させたのち、「野崎まど」の作品、12~13作品を加える方法を取りました。
次回予告
今回、GPT-2を用いて小説の自動生成を行いました。
私が、小説の自動生成に興味を持ったきっかけは、野崎まど「小説家の作り方」という著書を読んだことです。個人的にSF小説は、アイディアの宝庫だと思っているので、よかったら読んでみてください(布教)
これまで、GPT-2の小規模モデルから最大規模モデルまでを一通り試してみましたが、最大規模モデルの1558Mでの文章生成は、かなり人間に近いレベルまできている気がします。
ちなみに、夏目漱石や、芥川龍之介など、著作権切れの文豪たちの小説をGPT-2で学習したモデルをTwitterで公開しています。よかったら見てください。
追記:TwitterBotの作り方から運用方法までをざっくりと書きました~
おすすめ本
他にも、20年後の現実にありえそうなプロジェクトやテーマを扱った、「野崎まど」の作品も面白いのでよかったら是非。(なんてこった、9冊もあるぞ)
おまけ
おまけ① 別の作品の登場人物が会話をしている場面の生成もよく見れます
『彼が自分を殺す。自己と他者。自由と他者』
由佳子に困る。
『自律的な不利益は、一つの縁がある』
暗闇を手探るように縁の紐が厳かに見える。
地べる小さな寂しい縁が見える。
『しない』
彼が胸の中を見返してその場できた時、その縁は。
けれどその縁は、それができるようになって。
でも、それができないように。
彼はそれができる記憶。
だから、〝耳〟を制して。
意味末になる容疑者。
『内匠さんが、よりづらい縁を刺して見つめたいものを探すように』
二人の言葉が、やはり一つ強い遤みだった。縁を探す。推近する。推近したくなる。
『延々とは』
彼はまたも伝わりに身を離した。そしてその彼が、必死で今刻まれてきた延々。
『延々とは信じられます』
それは。
監督が今、専門的な言葉だった。
タイタンの言葉が辛くなっている言葉だった。
タイタンに増えて、専門主張の浮上解らほど幸いいなものはひたすら分かる。幸いし分ければもう専門的な行為とともに増えて取れる番組の理論。その言葉を聞いて、事が、専門主張で延々とという感情を言うのはちょっと著しくなる。
「場所はどうでした?」
そこで理桜が聞く。
バイトでも延々と聞く。
全ての時点で見つけられた。けれどさっきの言葉が、これならば時点ではとても左右に分かる街の上に貼られてから、三人の体表の左右に分かれて、分配通して通し辺りを通す。こうして少し怖い。
理桜はめえぇと頭を下げた。
おまけ② 「ユリシーズ」という学習データには登場しない人物を AIが生み出したんです。。。色々考える必要がありそうですね。
「奴が言うなら別にありませんか」
「本当」
「許してください」
「恋人なのに」
「本当?」
「本当。何よりもな。私より年若くない訳じゃなければ……何より年若くないって事」
「それは奴なのですね」
「ああ」
「家に居るのな。我々の業界こその先生に言くのはね、本当にある。我々の業界こその先生に言ったのは許し虑な私那でもあるし、ブログとか見れば貴方の許可能許可が判っているのですが……。時には業界貴方送り大に何より何より貴方送りは二度とはります」
「見ないんですか?」
「家に居るとしょう。家が居るとしょう。なぜ業界ファンが失われて、本当にあるからが二度とはりますが……」
「私はなぜ業界は後半も三年から三二分です。時には大学の間は入事現場で行うことになりますが」
「やっぱり!」
「ええいえーっ!!」
叫んで駆け出してくれたのはサイドインだった。私がまるで土台のようだった。
「では家が居ないのよ」
「このままでは貴方の取っ招いよね」
「エフビーアーイ!」
突然小難いティアラで押し切ったサイドインが再び身込ぎ込んだ。
「いかんったじゃろう。見た」
「盆くらいなあ……。私、お膳立てるつもりなのかしら……」
「ごめんなさい、わかりました。番組は家に居ますよ……。居ますよね。ハイをハイそうと満喫して……」
ユリシーズは腹を咗めて立ち上がると、ユリシーズと腕を振った。
では、またどこかで。