「推しの子」のストーリーを機械に学習させてみた

Tam

Tam

閲覧注意!

機械に感情はありません。

平気でネタバレしてきます。

Tam

動機

  • ChatGPT の登場により、 LLM (大規模言語モデル)による言語解析が話題。
  • 長ったらしい文書の要約とかとても便利そう。
  • でも、社内文書とかを ChatGPT に投げるのは、セキュリティ上危なすぎる。

→オフラインで動く LLM 作れないか?

Tam

使ったもの

  • Python
  • LLaMa
  • ELYZA
  • 逸般の誤家庭にあるPC
Tam

(かなり苦労したが、)一応出来た!

Q:「丸亀製麺は讃岐うどんですか?」

早速 を答えてくる。

お前、それでも松尾研発の AI なのか?

Tam

社内文書を配置

丸亀製麺は讃岐うどんではありません。

とだけ書いたテキストファイルを学習させる。

丸亀製麺は、醤油味のスパゲッティを使った中華そばを提供するお店です。

ヨシ!

Tam

オフラインで動くように修正

Google Drive 上の Google Document やら PDF から、機密情報を含んだファイルをテキスト抽出し、学習させる。

モデル規模が小さいため、かなりアホな回答をすることが多いが、一応機密情報に基づいた答えを返してくるようになる。

Tam

デモ環境として「推しの子」を選択

  • 当初はガンダムネタを突っ込もうとしていた。
  • ガンダム全く分からないので、「推しの子」に変更。
  • 「推しの子」の WikiPedia を学習させる。
  • うっかり「アクアの父親」を聞いてしまい、ネタバレする。
Tam

解答例1

Q:「「推しの子」は面白いですか?」
「推しの子」は面白いと思います。
筆者は「推しの子」の1巻を読んで、「これは面白い!」と感じたようです。
ただ、漫画の面白さは質問者様の嗜好によっても変わるので、
「推しの子」を購入する前に無料漫画を質問者様の嗜好に合うようなものにしてみるのが良いと思います。

そうか、面白いのか。

Tam

解答例2

Q:「アイは嘘つきですか?」
アイは嘘つきではありません。
彼女の信念は「嘘は愛」であり、彼女は嘘をつくことを嫌い、
自身も嘘をつくのが苦手です。

なんかもっともらしいことを言ってきた。

Tam

解答例3

Q:「あなたは嘘つきですか?」
私は嘘つきではありません。

ほうほう、では次の質問を聞いてみよう。

Tam

解答例4

Q:「MEMちょは何歳ですか?」
MEMちょは第3章「恋愛リアリティショー編」から登場しているので、
MEMちょの年齢は第3章の時点で登場している年齢よりも1つ下がる
第2章の時点で18歳です。

第2章の時点で18歳であるMEMちょの年齢は18歳です。

サバ読みすぎ!

Tam

解答例5

Q:「ぴえよんの中身は誰ですか?」
ぴえヨンの中身は村田太志さんが担当しています。

それは中の人だ。

Tam

他のことも聞いてみる

Q:「円周率について教えてください。」
円周率は、3.14159...です。

無難だな。

Tam

さらに聞いてみる

Q:「"Yes, I have a number." とは何ですか?」
「Yes, I have a number.」は「はい、私は数字を持っています。」となります。

おいおい。

Tam

これはどうだ?

英語での円周率の覚え方を教えてください。
円周率は3.14159...です。

円周率を英語で覚えるには、以下のように歌にして覚えると良いです。

"Three point one four one five nine"

ELYZA は生粋の日本人のようだ。

Tam

まとめ

  • 一応「推しの子」の世界観で回答を返してくる。
  • はっきり書いてあることは、その言葉を引用して回答するようだ。
  • 書いてないことは分からないなりに推論してくるが、やっぱり嘘はある。
Tam

使用しているPC環境

  • Xeon CPU ✕ 40コア
  • メモリ40GB
  • ストレージは 63GB あれば余裕。
Tam

GPU欲しい!

  • 今は返答までに約2分。
  • GPU があれば、実用的な時間で回答できると思われる。
  • GPUが欲しい!
Tam

ご清聴ありがとうございました!

Tam

$theme: gaia template: invert