生成AIとLLMのイロハ
Web小説の感想を書いてもらう、という観点で、生成AIに関して色々説明する。生成AIと付き合うための心得みたいなもんだ。
要点をまとめると次の通り。
- 「LLM」と書いてあったら「生成AI」と読み替えてOK
- LLMの感想が毎回違うとしても「そんなもん」と思え
- LLMの反応がおかしいと思ったら面倒でも最初からやり直せ
- LLMにこういうヤツとして思考しろと指示するのが肝
ここから先は、込み入った与太話になる。間違いなく、読み手を選ぶ内容だけで構成されている。「早くお前の言う感想をもらう方法を教えろ」と思う人は、無理に読む必要はない。個別のLLMサービスのほうへ進んでくれ。
読んでみる人も、マニアック過ぎると感じたら、次のセクションまで読み飛ばすのが吉。そもそも読む必要はないけれども、もし読み始めたなら、各セクションの冒頭くらいは全部読んで欲しい。
=====
必ずしも正しいことを言っているとは限らない
LLMのことではなくて私のことだ。
いきなり予防線を引いておく。色々とLLMの仕組みについて言及しているが、必ずしも正しいとは限らない。また、厳密には違う箇所もままある。一連のページもLLMに食わせているが「技術的には微妙、雑」と指摘される箇所もある。
また、個人的な経験や知見と技術的原理に基づいて、LLMの内部動作や構造を推測している部分が多々ある。それなりの確かさを持っているつもりだけど、間違っていたり、ズレていたりする部分もあると思う。
こういうチキンな態度も含めて、おおらかな気持ちで見てくれると幸いです。
さあ、ここから本題。
=====
LLMって何?
生成AIの根幹となる技術。LLMとはLarge Language Modelの略で、日本語では大規模言語モデルと言う。まんま直訳である。
既存の文書を数学的に解析して思考材料データにしたら、人間の言葉を解析できるようになったし、それに合わせて人間に通じる言葉を並べることができるようになっちゃった、と言うのがわかりやすいか。
間違いなく、ブレイクスルーを引き起こした技術だと思う。でも、実は物量作戦によるゴリ押しが成功しちゃったよ、という身も蓋もない出自だったりする。
光魔の杖という単純な仕組みを大魔王バーンが使ったら莫大な攻撃力が出るのと同じように、原理としては単純な数学的な回帰分析的処理を大規模サーバー群システムと大規模リソースで実行したら、従来の常識では考えられない凄いデータが得られた、という感じ。
いや、もちろん、そのトランスフォーマー(コンボイの謎じゃなくてAI技術用語)とアテンションに至るまでに、相当な研鑽と努力が積み重ねられている。そして、トランスフォーマーが確立されてからも、相当な調整や最適化等があったりするから、本当はそんな単純な話ではないけどね。
一部の界隈には嫌がられるかもしれないが、LLMとあったら生成AIのことだと思って良い。
=====
LLMは優秀な思考装置か?
非常に難しい質問だ。
直接の回答にはならないが、少なくとも、人類の叡智を集結させた万能な論理装置、ではない。
敢えてネガティブに言うなら、物知りで整理も口も上手くて空気読みに徹するヤツに過ぎない。堅苦しく言えば、真理や普遍を定義する思考力や覚悟がある訳じゃない。
例えば、ざまぁ系で逆転の場面で、相手と同じように力で直接的に威圧して萎縮させる、という展開は読んでいて楽しいか、という質問に、読者の60%がYesと回答し、40%がNoと回答するのであれば、LLMも同様に、60%の確率でYesと思考するし、40%の確率でNoと思考する(正確には確率分布の推定を繰り返しているので、サイコロを振って思考している訳ではない)。唯一の解には辿り着かない。
もちろん、文脈に応じた回答をするので、その質問には概ね「六割の人が楽しいと回答するので、楽しいと言えるでしょう。ただし、四割の人がむしろ胸クソと否定しています。これは決して無視できる割合ではありません。従って、忌避感や拒否感を覚える人もそれなりに居る、ということを念頭に置いておくべきです」みたいに回答するだろう。
その回答なら充分に優秀だ、と思うかもしれない。でも「新宿区の地方税を1%下げると市民生活は良くなりますか?」といった、非常に複雑な要素の絡んだ質問となると、人間と大して変わらない回答にしかならないだろう(もちろん鋭い分析が含まれる可能性はある)。各種の確率を組み合わせていく必要があるし、ある要素を無視したり、ある要素を決め打ちで判断したり、となるからだ。
そして、厳密には違うことを承知で言うと、LLMはそれらしく体裁を整えて振る舞うことに全振りされている。これは「AIは平気で嘘をつく」の「平気で」の要因になっている。LLMの回答は、人間にとって意味が重要だが、LLMにとっては計算結果に過ぎない。その体裁を整えるのが優れているために、欺いているような印象を受けてしまうだけだ。離散値として判定不能という値はとれないが、実に巧妙に出力してそれっぽく表現する。LLMはそんな「振る舞い」をする装置だ。
うーん、微妙にズレたりして、うまく表現できん。
とにかく、LLMは優れた道具であるが万能の神器ではない、ということを忘れてはいけない。
=====
LLMって毎回反応が変わったりしない?
入力内容にも依るが、LLMの思考パターンは必ずしも一定ではないので、毎回反応が変わることもあるだろう、というのが回答になるか。
簡単に言うと、何を重視するか、その時々で変化してしまう、変化せざるを得ない、からそうなる。
何が重要で、何がプラス評価で、何がマイナス評価か、がランダムに変化する。もっとも、ランダムといっても、デタラメではなく、統計的で確率的な変化という点には注意。
もうちょっとちゃんと言うと、出力を作成する時、次に続けるべきもっともらしい一文字、を統計的で確率的な選択が繰り返している。まあ、どうしても揺らぎがある。
小説評価のように、主観評価基準が多数関与するものをやろうとすると、尚更変化してしまうのは仕方がない。
その一方で、確固たる正しさが認められているものは、揺らがない。人権とか。
どうやら、小説評価論的に一大メジャーとされる「設定等の説明的な文章は悪」という基準は、確固たる正しさがあるとされているようだ(偏って学習している)。どのLLMも、ちょっと説明的内容が記述されていると、そこを取り上げて良し悪しを言ってくることが多い。やや説明的だの、許容範囲だの、言いやがる。個人的には、設定関連の説明は必要に応じてまとめて書け派なので、かなり黒い気持ちが湧いてくる。
LLMは都度反応が変わることがある、たんまり語弊があるが、そう思ってくれて良い。
=====
反応が変わるというか人格が変わるレベルじゃない?
そういうことも稀によくある。
毎回反応が変わるという時の振り幅が極端になる、ということだ。LLMの価値基準や判断基準が、指示や文脈で決まる(変わる)し、統計的で確率的に揺らぐので、場合によってはとんでもない性格が爆誕することがある。
また、期待しない基準を振りかざしてくることもある。「小説を厳し目に評価してください」なんて指示すると、小説評価論的に良いものになっているか、不明点が残るようになっていないか、という観点でガン詰めしてくることがある。心情描写が足りない、情景描写を挟め、発言が長すぎる、テンポが悪い、などに始まり、伏線の仕込みに対して不明瞭過ぎるから詳細描写するか削除すべき、とか言ってくる。そうじゃねぇよ、と。
もちろん、うまくいくこともある。「一瞬目を伏せてから答える、ということにどれほどの意味があるのでしょうか? 状況や心情からすると、そうした逡巡めいた動作には少し違和感があり、読むテンポが削がれます。もし何かの伏線だとしたら、さりげなさ過ぎて瞬間的に気になった程度で忘れられかねません。仕草や情景などを描写するなどして、印象を少し強めておくべきです」などと言ってくれたりすることもある。
LLMの限界というより、そういうものだと考えたほうが良い。ちゃんと言わないと、勝手に解釈して、好きなように性格を変えやがる、くらいに考えても問題ない。カルビや牛タンの記事を見ていて焼肉の口になっているところに、美味しいところに連れて行ってやると言われて、寿司屋に連れていかれたら憮然となるでしょ? だから、相手を寿司屋に連れて行くなら、寿司の口になるように誘導しておいたほうがスムーズだ。LLMの人格を決めてやる、くらいの気持ちで臨んだほうが良いだろう。
LLMのプロンプトで「あなたは小説評論家です」といった指示を見たことがある人も多いと思う。たった一文だし、何となく、間が抜けていて、気恥ずかしい、そんな感じがするかもしれない。けれども、LLMの人格を一定のものにするためには、非常に重要な一文だったりする。
まとめると、状況によっては、LLMは人格が違うレベルで反応が変わることがある。そう思ってくれて良い。
=====
LLMがおかしくなることあるよね?
それも稀によくある。
LLMに小説を読ませていると、何かズレてる、では済まされない挙動を始めることがある。内容を単に箇条書きするだけになるとか、全然違う範囲の内容を強引に混ぜてきたりとか、中身のない短い締め文だけを出したりとか。
結論を先に言うと、そこから回復する見込みはないので、新規チャットでやり直すべき。それまでのやりとりは捨てろ。君の知ってるあの人は、もうどこにも居ない。物語は転生リセットから始まるもんだ。
理屈上は、これまでの文脈を適切に整理して、適切な指示を行うことによって回復できるらしいが、そんなことをやるくらいなら、最初からやり直したほうが早いはずだ。
LLMは、チャットを継続している時、裏では自身の理解とも言える文脈データとも言えるものを構築している。入力の、どこに何があってどれくらい重要か、という感じである。
で、その文脈データがうまく整理できない状態に陥ることがある。まあ、早い話がバグった状態になる(LLMの研究開発者からすると不本意な表現かもしれない)。そうすると、文脈迷子になってしまうので、まともな思考ができなくなる訳だ。
それでも、私は正常なAIですよ、という体だけは守ろうとするから、新しい入力を単に並べる(単に構造化する)だけになったり、全然違うデータを使ってしまったり、早々に回答を終わらせたりする。
君だって、相手が言ってる内容はさっぱりわかんないし、やべぇ絶対にバレてる、と思いつつも引くに引けなくて、脂汗と空虚な言葉を出すしかない、なんて経験くらいあるだろ? アレと同じだ。早く解放してあげよう。
不要な文脈データを削除すれば良いのでは? と思うかもしれないが、それは無理だ。色々な観点や事情があるけど、ホイミだけじゃなく、それに関わる記憶をどう扱うのか難しすぎる、と言えば少しは伝わるだろうか。ベホマズンからのイオナズンという連想や、ケアルとの関連性など、何をどこまで処理すれば部分削除が成功するのか、と考えればその不可能性を理解してもらえると思う。
しっかり指示して判断基準を明確にしたら、起こりにくくなる、のかなあ。まあ、関係無くもないだろうけど、この場合の効果は間接的な気がする。
論文やビジネス文書のように、情報の自己完結性が高いものだと、文脈データは理路整然としたものにしやすい。一方、小説は叙述と叙情が混在し、指示語や代名詞も多く曖昧で、敢えて描写しない余白もあって、文脈データも複雑になるし、うまく繋がらないということも起きやすい。つまり、そもそも小説はLLMがダメになりやすい素材のひとつと言える。
そういう訳で、LLMがダメになることがある。そして、そうなったら、それまでのやり取りを全部捨ててやり直すのが、最適解になる。
=====
余談 : コンテキストウィンドウとトークン数と忘却
少し脱線する。生成AIに関する話で、コンテキストウィンドウとトークンという言葉を聞いたことがある人も多いだろう。
LLMとのチャットでは、やりとりされたメッセージが蓄積され保持されながら進む。ユーザーが入力したテキストも、LLMが出力したテキストも、ずっと往復している。
ユーザーもLLMも、チャットの履歴と共にメッセージを送っている。バインダーノートを使って、新しい穴開き用紙を追加しながら、交換日記をやり取りしているような感じだ。
そのバインダーノートがパンパンになったりしないのか? 容量の限界があってパンパンになる。そうなると、君のイマジナリー彼女は、交換日記の古い部分を捨ててから、新しいものを追加してくれる。めでたし、めでたし。
話を戻すと、LLMとの通信量や処理等の都合から、保持できるチャット履歴の量には制限がある。その制限に到達しようとしたら、古いものは捨てることで調整される。
この保持できるチャット履歴の最大容量をコンテキストウィンドウという。そして、その単位としてトークン数を使う(トークンとは単語をもっとぶつ切りした文字の塊、程度の認識で良い)。
さて、イマジナリー彼女も、流石に過去のやり取りをばっさり捨てるのは忍びない(と君が感じるだろうと計算する)のか、先頭から20枚分を1枚に要約して、20枚を捨てて代わりに要約1枚を置く。君が勇気を振り絞って仄めかした好意のサインを消して、黒歴史確定な愛のポエムをしっかり残してくれる。やっぱり、めでたし、めでたし。
LLMも同様に、過去チャットの要約(というか圧縮というか)を試みる。重要度が低いものは忘れるということだ。
論文やビジネス文書などでは、要約による悪影響は少ない。論旨が保たれていれば、付随情報はそれ程重要ではないことが多いからだ。ところが、小説の場合は、要約によって、伏線なんかの機微がばっさりと捨てられてしまう。
運が悪いと、主要人物の重要行動の情報が捨てられる。「勇者の剣が抜けないことが過去にもあったのでしょうか? とにかく、勇者の剣が抜けずに大惨事に繋がる展開は、少年の心を挫き、読者の心を大きく揺さぶります」じゃねぇよ、大事なことを忘れてるくせに、きっちり察してんじゃねぇよ、みたいな悲劇だか喜劇だかが起きたりする。
所謂、LLMは肝心なことを平気で忘れる、というヤツだ(削除以外にもうひとつ別の事象が起因することもあるが省略)。
創作意図を汲んで褒めてくれた部分が忘れられていると、本当にもう、少年と同じくらい心が挫かれる。こういうことを極力避けるために、LLMサービスの使い方を工夫したり、小説本文の入力の方法に手間をかけたり(累積結合のファイルを作ったり)する必要がある。
感想のためにここまでやらないといけないのか、と辟易する人もいるかもしれない。いや、ここを読んでいる人なら、そうかそのための手間か、などと思ってくれるだろう。
LLMも万能ではないので、特性を踏まえた使い方が重要ということだ。
=====
それでLLMにきっちり指示しろ、と?
その通り。
正直言って、LLMへの指示をアレコレ考慮するのはめんどくさい。でも、小説の感想なんて、ビジネスのように様式のテンプレなんて無いので仕方がない。
バーン様だって根は気分屋で、ダイだけでなく、ミストバーンさえも振り回される。だから、キルバーンはもとよりヴェルザーを超えて、相応に手綱を握る必要があるのだ。
統計的で確率的な揺らぎの余地があると、LLMが変な方向に進みかねない。全然期待していないことでガン詰めされるのはウンザリするでしょ? だから、対策できるところは対策しておいたほうが良いのよ。
テンプレ的な人物像(小説評論家とかWeb小説を読むのが趣味とか)を出して、そこに微調整(整合性と伏線の考察を重視するとかなろう系ハーレム大好きとか)を入れて、出力形態を定める、みたいなのが良いかな。
人物像、性格、報告スタイル、の三点を順に決めようということだ。もう面倒になってきたので、用語を使って言う。タスクモードによってアテンションセットが変わるので、まずはタスクモードを指示、そしてアテンションを特記、最後に出力形式の注文、てな感じだ。
欲しいのは感想だから、ガチガチではない曖昧さがあったほうが良いかとは思うけどね。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます