ChatGPTって何?今さら人に聞くのはちょっと・・・大丈夫!この記事を読めば大体のことは分かる!

Annals of Technology

ChatGPT Is a Blurry JPEG of the Web
ChatGPTは、ウェブ上のすべてのテキストをJPEG形式でぼやけた形で保存したようなものです

OpenAI’s chatbot offers paraphrases, whereas Google offers quotes. Which do we prefer?
OpenAI のチャットボットは言い換えを生成します。Google が情報を抽出してそのまま提供するのとは異なります。検索ツールとしては、どちらが良いのか?

By Ted Chiang February 9, 2023

1.

 2013年のことですが、ドイツのある建設会社の社員が、ゼロックス(Xerox)社の複写機(photocopier)が奇妙な挙動をすることに気づきました。とある住宅の間取り図のコピーを作成したのですが、コピーが微妙にオリジナルと異なっていたのです。異なっていたのは重要な部分でした。オリジナルの間取り図には、3つの部屋があって、それぞれの部屋には長方形のラベルが付されていて中に面積が記されていました。14.13平方メートル、21.11平方メートル、17.42平方メートルでした。しかし、複写機から吐き出されたコピーを見ると、3部屋とも14.13平方メートルと表記されていました。そこで、建設会社の社員は、コンピューターサイエンティストのデビッド・クリーセル(David Kriesel)に連絡し、この不思議な現象について調査してもらいました。どうしてコンピュータサイエンティストを頼ったのかというと、使っていたゼロックス社の複写機は、1960年代に普及していた物理的なゼログラフィー方式(xerographic process:乾式複写技法)を採用していなかったからです。その複写機は、当時最新であったデジタルスキャン方式を採用していて、原稿類をデジタルでスキャンして出来上がった画像ファイル(image file)を印刷(出力)するものでした。クリーセルがその複写機はスキャンして作った画像ファイルをファイル容量を節約するために圧縮していることを認識していたのですが、そのことが不思議な挙動の謎を解く糸口となりました。

 まず、ファイルの圧縮と言うと、2つのステップが必要です。1つ目はエンコード(encoding)です。ファイルをよりコンパクトなフォーマットに変換することです。2つ目はデコード(decoding)で、エンコードと全く逆のプロセスです。エンコードした後にデコードしたファイルがオリジナルと全く同じである場合、その圧縮プロセスは可逆的(lossless:ロスレス)と表現されます。情報は一切捨てられていないことになります。これとは対照的に、復元されたファイルが元のファイルの近似値でしかない場合、その圧縮プロセスは不可逆的(lossy:ロッシー)と表現されます。一部の情報は破棄されているので、後に完全に復元することはできません。通常、テキストファイルやコンピュータプログラムを圧縮する際には、1文字でも間違えると大変なことになるため、可逆的圧縮プロセスが採用されます。不可逆的圧縮プロセスは、写真(photos)、音声(audio)、動画(video)など、絶対的な正確さが必ずしも必要でない場合によく使われます。写真や歌や映画が完全に完璧に再現されていなくても、ほとんどの場合、それに気が付く人などいません。ファイルの圧縮度が非常に大きい場合にのみ、オリジナルに対する忠実度(fidelity)が低くなったと認識できるようになります。そうした不可逆的圧縮の適用によって引き起こされるメディアの顕著な歪みは、圧縮アーティファクト(compression artifacts)と呼ばれます。実際、画像ファイルを強度に圧縮してJPEGやMPEGファイルを作成したり、音声ファイルを低ビットレートのMP3ファイルに圧縮したりすると、どうしても微妙な粗が目に付くようになります。

 ゼロックス社の複写機では、”JBIG2”という不可逆的圧縮プロセスが採用されています。元々は白黒画像用に設計されたものでした。JBIG2は、Joint Bi-level Image Experts Group(JBIG)によって開発された二値画像の画像圧縮プロセスで、可逆圧縮と不可逆圧縮の両方に適応しています。保存領域を節約するために、ゼロックス社の複写機は画像内の似たような領域を識別し、それら全てに対してコピーを1つだけ保存します。そうして作られた圧縮ファイルが解凍される際には、画像を再構築する際に1つだけ保存していたコピーを繰り返し使用します。どうやら、ドイツの建設会社にあるゼロックス社の複写機は3つの部屋の面積を示すラベルが近似していると判断し、1つのコピーだけを保存すれば良いと判断したようです。それで、14.13平方メートルと記された長方形のラベルのコピーが保存されたのでしょう。そして、複写機が間取り図を印刷する際に、画像イメージが複写機内で再構成されたわけですが、そのコピーが3部屋ともに使われてしまったのでしょう。

 ゼロックス社の複写機が可逆的圧縮プロセスではなく不可逆的圧縮プロセスを採用していること自体は、問題ありません。問題は、その複写機が画像のフィルサイズを小さくするためのプロセスで僅かながらに不適切な点があったことで、圧縮アーティファクト(不可逆的圧縮によって引き起こされるメディアの顕著な歪み)が出ていることを認識できなかったことです。もしも複写機から不鮮明なコピーが出力されてきたら、それを見た者は誰でも「これはオリジナルの正確な複製物ではない」と認識するでしょう。ここで問題となったのは、複写機がくっきりと数字を印字していて、それが誤っていたということです。つまり、ゼロックスの複写機が数字を印字して、あたかも正確に見えるものが実は誤っていることが問題なのです(2014年にゼロックス社はこの問題に対応すべく改修を行いました)。

 このゼロックス社の複写機が不思議な挙動をした件は、OpenAIのChatGPTや、AIの研究者が大規模言語モデル(large language models)と呼ぶ同様のプログラムを考える上で、心に留めておく価値が十分にあると思います。複写機と大規模言語モデルに類似性があると言っても、理解していただけないかもしれません。しかし、次のようなシナリオを考えると分かり易いのではないでしょうか。例えば、あなたがインターネットに永遠にアクセスできなくなることを想像してみて下さい。そういう状況になるにあたって、事前にあなたはWeb上のすべてのテキストを圧縮したコピーを作成し、プライベートサーバーに保存することを計画しました。残念なことに、あなたのプライベートサーバーには必要な容量の1%しかありませんでした。すべてを保存しようとすると、可逆的圧縮アルゴリズムは使えません。それで、あなたは、不可逆的圧縮アルゴリズムを使って、テキストに含まれる統計的な規則性を識別して特殊なファイル形式で保存することにしました。このタスクに投入できる計算能力が無限であるとすると、圧縮アルゴリズムが非常に多くの統計的規則性を特定するでしょうから、100対1という望外に高い圧縮率を達成することができるでしょう。

 さて、事前の準備をしたわけですから、あなたはインターネットにアクセスできなくなるとはいえ、それほど恐ろしいことではなくなりました。ただ、問題が無いわけではありません。唯一の問題は、テキストが非常に高度に圧縮されているため、単語等を用いて検索しても正確な情報が返って来ない場合があるということで、少し苦労をするかもしれません。というのは、全ての単語は単語のまま保存されているわけではないからです。この問題を解決するためには、質問形式の命令文(querry:クエリー)を受け付けて、保存したサーバー上にある情報の要点を回答として返すようなインターフェースを作る必要があります。

 私がここで説明したことは、ChatGPTや他の多くの大規模言語モデルとよく似ています。ChatGPTは、Web上のすべてのテキストをJPEG形式でぼやけた状態で保存したようなものだと考えてください。JPEG形式が高解像度の画像の情報を保持する際と同様なのですが、Web上の情報を膨大に保持したとしても、全ての微細なデータまで保持するわけではありません。ビット単位の正確で詳細な配列が必要であれば、それを見つけ出すことはできません。しかし、オリジナルのデータに近似するものを、ChatGPTが得意とする文法的なテキストの形で表示できるようにするようにして、ほとんどのデータが利用可能な状態で保存されています。ぼやけたJPEGを見ていることに変わりはありませんが、ぼやけたことで画像全体のシャープさが損なわれることはないのです。

 ChatGPTが不可逆的圧縮プロセスに似ていると説明したわけですが、そう考えると、ChatGPTがWeb上の膨大な情報を別の単語を使って再保存していることを理解しやすいと思います。同時に、ChatGPTのような大規模言語モデルが、問われた質問に対してとんでもない、あるいは馬鹿げた回答を返してしまうことがある原因を理解するのに役立つでしょう。とんでもない回答を返してしまうのは、圧縮アーティファクトが原因です。ゼロックス社の複写機が圧縮する際に長方形の面積が記されたラベルを誤って扱ったのと同じで、不可逆的圧縮の適用によって引き起こされるメディアの顕著な歪みが原因なのです。複写機の不具合もChatGPTがとんでもない回答を返す件も、何か間違っているということを認識するのはそれほど難しいことではありません。突き詰めて調べれば、オリジナルの情報やデータが圧縮する際にどの時点で歪められたかがわかるはずです。このように考えると、CharGPTがとんでもない回答をするのは驚くべきことではないのです。圧縮アルゴリズムが、オリジナルの情報の99%を破棄した後にテキストを再構築するように設計されていれば、それが生成するもののかなりの部分はすっかり作り変えられたものであり、そのことがとんでもない回答を誘発するのでしょう。

 ChatGPTが可逆的圧縮プロセスに似ているという説明は、不可逆的圧縮アルゴリズムでは必ず補間法(interpolation:インターポレーション)という技術が使われていることを思い出すと、さらに理解しやすくなるかもしれません。補間法とは、オリジナルと再構成されたものを見比べて差分を推測することです。画像処理ソフトで圧縮された情報を元にして写真を表示する際に、圧縮処理中に失われた画素(pixels::ピクセル)を復元する必要がある場合、その付近の画素を参照して、平均的な画素が表示されます。ChatGPTが、乾燥機の中で靴下をなくしたことを独立宣言(Declaration of Independence)と同じ文体で説明するように指示されたと仮定すると、その場合にChatGPTは同様に補間法を使います(おそらくChatGPTは次のような文、「人の世の流れの中で、衣服の清潔さと秩序を維持するために、自分の衣服を仲間から切り離すことが必要になったとき、……」を生成するでしょう)。ChatGPT はこのような補間処理を得意としています。そのことを知っている人は少なくなく、それを面白がっていろんなことを試して楽しんでいるようです。以前から画像ファイルの圧縮による圧縮アーティファクトを探し出して楽しむ人が存在していたわけですが、最近では、ChatGPT等の大規模言語モデルの圧縮アーティファクトを発見することを楽しむ人も少なくないようです。