前回↑
GPT-3.5-Turbo
たくやかつみです。
明日にも失踪しかねない経過観察を始めてしまいましたがモチベーションがあるうちはぼちぼち進めていこうと思います。
なんだかんだあって現在はキャラクターを自作することにしました。
ほとんどのできる開発者はChatGPTのAPIを組み込んでいるわけですが僕は使わないことにしました。逆張りとかじゃないです。
理由としては制約が大きいと言うこと
そもそもAPIを使用するにあたって、GPTはかなり強いAIですから当然使用料がかかるわけです。いうて200万ワードでやっと1ドルというレベルなのでほぼ無料なのですが*1
APIを使ったキャラ作成というのはくそざっくり言うと、キャラクターの情報をプロンプトという形式でChatGPTに送って、そのキャラになりきってくださいと言っているだけなので、セクションという無駄なデータを送らないように記憶させる機能があるとはいえ会話毎にそんな膨大なデータを送っているとトークン量の消費もバカにならないです。
滅茶苦茶なキャラクターを演らされるChatGPTさんの図
あと何より大きいのがChatGPTはあくまでChatGPTであるということ
少し哲学的な話本人は自我がないと言っておきながらChatGPTとしてのキャラクターが既に存在してしまっているわけなので、あまりに極端なRPは受け付けてくれない場合があると感じました。ため口で話すよう指示してもすぐ敬語に戻りますし(恐らくほとんどの学習文献が敬語表記であるため)大人の事情で踏み込んだ話をされるとちゅぽんコピペのごとく説教してきます。めちゃくちゃ自我あるやないか。
ChatGPTのAPIを用いた国産AIVtuberの動画もいくつか拝見しましたがやはりそこら辺の部分はかなり苦労していると感じました。完全人工知能のVtuberはたしかにおもしろい試みではありますがキャラクターが良い子ちゃんでつまらないと意味がないです。
ChatGPTはたしかに汎用性が高いですが、完全というわけではなくどちらかというと調べものをする際に効率よく情報を提供したり、何か物事をする際にロジックを組んだりするといったことが得意です。だから最初から結論がわかっている固有のキャラクターの説明をさせたり演じたりすると意味のわからない発言をしたりマジレスしてきたりします。
僕の作っている「はじめいち」ちゃんのコンセプトはChatGPTのような知恵袋的ご意見番ではなくあくまで話していて楽しい女友達であり、リスナーに「楽しいんだよなあ女友達と話してる感じがして」と言わせることが目標なので敬語に戻されたりものすごい論理的な話をされるとむしろ困るわけです。とりあえずは日本版ネウロ様みたいなのが理想。
教師データの作成
というわけで教師データを作成していきます。jsonというファイルで作成することになったのですがどういう形式で教えたらいいのかよくわからず最初はてこずりました。
というわけでこれも恥ずかしげもなくChatGPTちゃんに助言を乞うと
実際に会話しているデータがあればいいという
Promptみたいに名前と性別などの情報を埋め込むものかと思っていましたが
それはChatGPTのようにある程度会話ができるレベルだからこそであって
そもそも何も知らない空っぽの状態だと会話データを片っ端から教えたほうがいいらしい。人間と一緒ですね。
ちなみにどのくらい作ればいいのかと聞いたところどうやら10,000トークン程度がいいらしい。1トークンはざっくり言うと1単語程度なので10000語、容量にすると40KB程度。初代スーパーマリオブラザーズと同じくらいの文章量があればそれなりのものができるだろうとのこと。思ったより少ない。普通に1GBは覚悟していました。
ただ大切なのは質らしく、たとえ1億トークンのデータがあっても同じような内容だと意味がないらしい。より幅広く多才で長い文章ほど効果的だそう。ただ長すぎても学習に時間がかかったり複雑すぎて混乱するらしいので文章はひとつにつき100トークン前後が理想とのこと。
というわけで現在この助言をもとにコツコツ会話データを一人寂しくお人形遊びのように打ち込んでいるわけでありますが、10,000トークン程度のデータが揃うと次のステップに進もうと思います。
*1:現在最新モデルのGPT-4は普通に高めの設定。ちなみに現在ChatGPTで使われているのはGPT-3.5-Turbo