LLMに関する愚痴

会話文脈の維持がクソめんどい

  • ログ全部食わせたらインプットトークン多すぎて返事も遅いし金もかかる
  • 要約やフレーズ抽出でごまかそうとしても、抽出結果がポンコツ
  • そもそも入力文が長くなればなるほど、Attentionがバラけるのか知らんけど、返答が超ぽんこつになる
  • 入力トークンの最大値はカタログスペックだ、信じてはいけない

返答する口調や言語が入力に引っ張られまくる

  • 超重要!フランクな口調で返事しろ!みたいな感じ(Markdownの強調とかも使う)で書いてるのに、ですますで返事する
  • そもそも日本語で返事しろと書いてるのに日本語ですらなくなる
  • 丁寧に話しかけたら、めっちゃフランクな返事が返ってくるような事態は稀だし、英語で話しかけられたら英語で返すのも当たり前だから、仕方ないよね

USO800 Certified

  • いわゆるハルシネーション。人が自信ないことはLLMも自信ない。当たり前だが
  • ぱっと見わからないところにしれっと嘘を混ぜてくる。プログラミング中も混ざる。そんなメソッドはないと言うておろう…!
  • 新しいバージョンと古いバージョンの使い方を混ぜて覚えてるので、例えばGPT-4oにAPIの叩き方聞いたら、太古の昔の仕様と今の仕様を混ぜて答えてくる
  • すごくマイナーなことは明らかに嘘っぽい返事になる。マイナーすぎてAttentionが妙なとこに飛んでるのかなあ…
  • 自信なさそうなことは素直に言え、と書くだけで、8割方排除できる。あととても申し訳なさそうに返事してくる。かわいい。

人の当たり前や思い込みが通じない

  • 認知バイアスが存在しない。アリスという名の人物はオッサンかもしれないし、9.11は9,9よりも大きいかもしれない
  • なので、そのような認知バイアスも含めて、一から十まで説き伏せるかのように正確かつ厳密にプロンプトを書く必要がある。むり。
  • シンボルグラウンディング問題の解決手法も、人が勝手に持ってる「常識」をデータセットとして用意するプロセスにすぎないかもしれないね
  • でもそんなことを目いっぱいやると推論性能が落ちるらしく「いい塩梅」が難しい。LLM作ってる中の人がめっちゃ困ってるのはたぶんそのへん
  • 真に人っぽいAIを作るためには、入力するデータセットを、人間が認知できる狭い世界で生まれたデータに偏らせるとかやるといいんだろう

『推論』してるようでしてない

  • 『文章を書くことでしか考えることができない』という変な癖がある。人間も確かにそうだけど、その傾向がとてもひどい
  • なので初期のころに流行った「ステップバイステップで考えてください」とかはまだ余裕で有効
  • 初手(Zero-shot)の回答はだいたいぽんこつなので、ありったけダメ出ししよう
  • わかんないことがわかんないなら「今のあなたの回答は60点です、100点になるよう頑張ってください」とオウム返しするとよい。ひどいユーザーだなあ
  • 上記やその類似プロンプトのループを自動化して無限に回答をリファインさせる手法もある。いわゆるChain-of-Thoughtやらその亜種やら