4 ポイント 投稿者 GN⁺ 2024-04-14 | 1件のコメント | WhatsAppで共有

GPTの利用では、簡潔なプロンプトのほうがより良い結果をもたらす

  • GPTは、すでに常識として分かっている内容をプロンプトに過剰に明示すると、かえって混乱しやすい
  • たとえば、テキストで言及された州を分類する作業では、50州の一覧を与えるより、単に州名を求めるほうがより正確な結果になる

OpenAIのchat APIだけでも十分に多様で強力な機能を実装できる

  • Langchainなどの追加ツールなしでも、chat APIだけを使ってJSON抽出など必要な機能を簡単に実装できる
  • GPTモデルをアップグレードする際も、コードベース内の文字列を1つ修正するだけで済む
  • OpenAI APIのエラー処理や入力長の制限などに対応するための簡単なロジックを追加すればよい

GPTが何も見つけられない場合の扱いは難しい

  • 「何も見つからなければ空の値を返せ」というプロンプトでは、GPTはしばしば存在しないものを作り出したり、自信を失ったりする
  • 入力が空のときにはGPTにプロンプトを送らないようにするのが解決策

GPTは長さの限られた出力しか生成できない

  • GPT-4の入力上限は128kトークンだが、出力上限は4kトークンしかない
  • JSONオブジェクトのリストを求める場合、GPTは10個を超えるアイテムを安定して生成するのが難しい

ベクターデータベースとRAG/埋め込みは一般的な用途ではあまり役に立たない

  • 検索以外の用途では、RAGはうまく機能しない
  • 関連性判断の難しさ、データ分離の問題、ユーザー満足度の低下などの理由から、実用性は低い
  • 一般的な検索には、GPTを使ったファセット検索や複雑なクエリ生成のほうが適している

GPTは事実上、幻覚(hallucination)を作り出していない

  • 与えられたテキストから情報を抽出する作業では、GPTは非常に信頼できる結果を提供する
  • ただし、テキストに情報がない場合には、存在しないものを作り出すことがある
  • そのため、十分なコンテキストを与え、GPTの応答を適切に扱うことが重要

GN⁺の見解

  • トランスフォーマーモデルとWebデータ、大規模インフラだけでは、AGIに到達するのは難しそうだ
  • GPT-4は確かに有用だが、その先の発展にはモデルアーキテクチャ自体の革新が必要と思われる
  • OpenAI以外の代替手段はまだGPTに及んでいないようで、結局はGPTのバージョンアップに注目することになりそうだ
  • GPT-5の性能はGPT-4に比べて革新的な水準にはならないと予想される。コスト対効果が限界に達しつつあるようだ
  • したがって当面は、GPT-4を活用して最適なプロンプト設計と応用に集中するのが現実的な選択に見える

1件のコメント

 
GN⁺ 2024-04-14
Hacker Newsの意見
  • あるチームが月に50億超のトークンを処理しており、それを管理するエンジニアリングマネージャーの経験を共有している。
    • Langchain など多くの抽象化は時期尚早であり、プロンプトは単なる API 呼び出しなので、特別なものとして扱うより一般的なコードとして書くほうが簡単である。
    • 要約は堅牢だが推論は難しく、特に LLM が文脈を理解し、自信がないときにそれを表明するのは難しい。
    • ゲームチェンジャーではあるが世界の終わりではなく、一部の職業には大きな影響を与えるだろうが、インターネットのように画期的というほどではなく、力を増幅する役割を果たすだろう。
  • 個人向けライティングアプリで OpenAI モデルを使った経験を共有している。
    • Haskell に言及した直近2年間の草案メモを探すといった知的検索機能を実装しようとしたが、ChatGPT に構造化された JSON データを返すよう依頼しても、一部しか機能しなかった。
    • その代わりに、データを SQLite データベースに入れ、ChatGPT にスキーマを渡して、欲しいものを返すクエリを書くよう依頼するほうがうまく機能した。
  • より良いプロンプトを使えば、より安価なモデルを使える。
    • LLM にソフトランディングを与え(sufficient information がない場合は仮説を立ててもよいが、それを明確に述べ、根拠と論理的基盤を示すよう依頼する)、その後で自分自身の応答を評価するよう求める。
  • なぜ JSON モードが必要ないのか疑問に思っている。
  • ルールがテキストに適用されない場合は元のテキストを変更せずに返すようプロンプトをテストしたが、ChatGPT は "The original text without any changes" というリテラル文字列を返した。
  • GPT は非常に優れているが、曖昧であるほど品質と汎化が向上するという解釈には強く同意しない。
    • 自然言語は GPT にとって最も出力しやすい形式であり、開発者は単に GPT が得意なことにより依存しただけである。
    • 単純な作業でも GPT を失敗させることはでき、GPT がマッピングを「理解」しているということ自体が高次のパターンマッチングを示唆している。
  • GPT-4 は1年前のモデルであるにもかかわらず、他の LLM と比べてはるかに優れた性能を示しており、利用パターンによってはハルシネーションがまれで、正しいと分かっているときほど頑固である。
  • 会社名を抽出する際、テキスト内に会社がなければ適当な会社を提示してしまう null 仮説の問題がある。
    • まず「このテキストは会社に言及しているか?」と尋ね、そのうえで「はい」であれば「このテキスト内の会社名を列挙してほしい」と依頼する2段階アプローチが必要である。
  • GPT が10件を超える項目を安定して返せないのは単なるプロンプトの問題であり、JSON キーを使えば最大200件の項目を正確な順序で返せる。
  • null 問題を解決するためのヒント:
    • 「何も返すな」ではなく「XYZ のデフォルト値を返せ」とし、州名を検索するようにそのデフォルト値(XYZ)に対してテキスト検索を行えばよい。
    • システムプロンプトを使えば、LLM に X の役割を担わせることができる。
  • トークンベースの切り捨てに関するマイクロパッケージを紹介している。