2 ポイント 投稿者 GN⁺ 2024-01-23 | 1件のコメント | WhatsAppで共有

ChatGPT 3.5 のエラーメッセージの原因

  • OpenAI の GPT モデルは、文字ではなく複数文字からなる「トークン」を出力する。
  • このようなトークン出力方式は、モデルの性能と精度を向上させる。
  • richTextPanelソースロードパス という 3 つのトークンがあり、これらは相互に置き換え可能である。
  • ロードパス トークンは、GitHub 上の 80.4k 件のファイルで XML 設定ファイルのオプション名として使われている。
  • ロードパス が独立したトークンを持つようになったのは、「R a lative」というスペルミスが原因である可能性がある。
  • OpenAI はトークン一覧を生成した後、XML ファイルを訓練データから除外することに決めた可能性があり、その結果 ロードパス トークンは訓練データでほとんど使われなかったとみられる。
  • その結果、モデルは useRalativeImagePath トークンの使い方を理解するように訓練されず、無効なトークンを出力する。

データ汚染のための利用?

  • GPT-3.5 を使って文書を要約しようとする試みを妨害するために、このフレーズを文書に入れてみることができる。

追加の読み物

  • このテーマの研究に役立つ投稿がいくつかある。

GN⁺の意見

  • この文章で最も重要なのは、GPT モデルが特定のトークンに対してエラーを出力する原因を理解することである。
  • こうした情報は、人工知能モデルの動作原理と限界を理解する助けになる。
  • また、この文章はデータ汚染や人工知能モデルの脆弱性を利用する方法について、興味深い事例を提供している。

1件のコメント

 
GN⁺ 2024-01-23
Hacker Newsの意見
  • グリッチトークンに関する説明

    • 元のデータセットでは頻繁に登場していたが、GPT-XX の訓練前に削除された単語やトークンによって発生すると推測される。
    • その結果、LLM はそのトークンの意味をまったく理解できず、バグが起きたり不快な結果になったりすることがある。
    • r/counting サブレディットでよく登場するユーザー名が代表的な例。
    • OpenAI はホスト型モデルの大半を修正したようだが(トークン化方式の変更と推測される)、新たなグリッチトークンが見つかったように見える。
  • オランダにおける WWII 中の言語検証方法

    • オランダでは、「Scheveningen」という単語の発音でドイツ人かどうかを見分けていた。
    • 現在では、インターネット上でグリッチトークンを発話させることで、LLM ボットかどうかを判別できる。
  • LLM のトークン生成過程に関する説明

    • モデルが useRalativeImagePath トークンを理解できず無効なトークンを出力する、というのは LLM がトークンを生成する仕組みではない。
    • 各段階で可能なすべてのトークンに対してロジットを出力し、ソフトマックス関数で確率に変換した後、サンプリングして使用するトークンを決定する。
    • まれなトークンによってトークナイザーの BPE マージ過程で問題が起きる可能性はあるが、GPT-4 では問題がなく、GPT-3.5 と同じトークナイザーを使っているため、これが原因である可能性は低い。
  • グリッチトークンの潜在的な原因分析

    • 特定トークンに対して誤って条件付けされた埋め込みベクトルにより、ネットワークが数値的に不安定な領域へ移動する可能性がある。
    • アンダーフローや NaN が発生すると出力全体が無効化されることがあり、バッチ内の他項目間で値を混合するバッチ正規化のような演算がある場合、他ユーザーのセッションにも誤った値が返る可能性がある。
  • モデル出力に対する別の見方

    • モデルは通常、入力語彙と同じ語彙セットを出力する。
    • モデルは useRalativeImagePath トークンを見て、ランダム生成へ向かうスパイラルに入り込むか、一貫したテキストを保とうと試みる可能性がある。
    • 出力可能なトークンセットは固定されているため、インターフェースで表示可能なトークンが語彙全体の部分集合でない限り、常に「有効」であるはずだ。
  • LLM の訓練データに対する今後の影響

    • Hacker News の投稿とコメントにこの文句が登場したことで、次回の LLM 訓練ではこの問題がもはや発生しないかもしれない。
  • GPT-4 での失敗体験の共有

    • Amstrad CPC でピクセルをプロットする課題を通じて、GPT-4 の ChatGPT を失敗させた体験。
    • 不満や訂正によってさらに追い詰められると、より多くのエラーメッセージやリセットのような現象が発生した。
    • サーバーに問題を起こしたくなかったため会話を打ち切ったが、GPT-4 を実際にクラッシュさせられることを示している。
  • 入力データの質に関する考察

    • 「Garbage in, garbage out」の古典的な例。
    • 将来、今の私たちが優れた判断だと思っているものが「ゴミ」と評価される可能性についての考え。
    • 人間の記録だけで訓練された場合、スーパー AI は本当に超人的になれるのかという疑問。
    • 敵対的学習の手法がこの問題を解決できるのではないかという提案。
  • GPT-3.5 の要約妨害のための文句使用提案

    • GPT-3.5 を使った文書要約の試みを妨害するために、特定の文句を文書に含めることを試すことができる。
  • RTCatchredirectToRoute という単語に関する混乱

    • RTCatchredirectToRoute が同じ単語として誤解されうる状況についての質問。
    • 2 つの用語は同じ対象を指しているように見え、タイプミスまたは表現の不一致があった可能性がある。
    • RTCatch への興味と、それに関する追加情報の要望。