「Google」「Wolfram Alpha」「ChatGPT」はいずれも、単一行のテキスト入力フィールドでユーザーとやりとりし、テキストの結果を返す。Googleが返すのは検索結果であり、そのウェブページや記事のリストによって、検索クエリーに関連する情報が提供される(と願いたい)。Wolfram Alphaは通常、数学やデータ分析に関連する答えを返す。
ChatGPTは対照的に、ユーザーの質問の裏にある文脈や意図に基づいて応答を提供する。たとえば、Googleに物語を書かせることはできないし、Wolfram Alphaにコードモジュールを作成させることはできないが、ChatGPTはそうしたことを実行できる。
基本的に、Googleが得意としているのは、巨大なデータベースを検索してヒットした一連の結果を返すことだ。Wolfram Alphaは、データ関連の質問を解析し、それらの質問に基づいて計算を実行する能力を強みとしている。ChatGPTは、クエリーを解析し、デジタルでアクセス可能な世界中のテキストベースの情報(少なくとも2021年以前の訓練の時点で存在していた情報)の大半に基づいて、非常に具体的な回答や結果を生成することに長けている。
この記事では、ChatGPTがその非常に具体的な回答を生成する仕組みについて解説する。まず、ChatGPTの動作における主要な段階を紹介し、続いてすべてを機能させる中核的なAIアーキテクチャーコンポーネントをいくつか取り上げる。
記事内で引用した出典(その多くは各技術に関する元の研究論文)に加えて、ChatGPT自体を使って、この背景解説記事を作成した。ChatGPTには大量の質問をした。一部の回答は、この議論の全体的な文脈の中で別の表現に言い換えてある。
ChatGPTの動作における2つの主要な段階
もう一度Googleを例に説明しよう。Googleに何かを調べてほしいと頼むとき、おそらくご存じだと思うが、頼んだ時点で答えを求めてウェブ全体を調べに行くわけではない。Google自体のデータベースを検索して、ユーザーのリクエストに一致するページを探す。Googleには、実質的に2つの主な段階がある。スパイダリングおよびデータ収集の段階と、ユーザーとの対話/検索の段階だ。
大まかに言えば、ChatGPTも同じように機能する。データ収集の段階は事前学習と呼ばれ、ユーザーに応答する段階は推論と呼ばれる。生成AIの背後にある魔法のような機能と、短期間で爆発的に利用が拡大した理由は、事前学習の仕組みの極めて高いスケーラビリティーが突然証明されたことだ。そのスケーラビリティーを可能にしたのは、手頃な価格のハードウェアテクノロジーとクラウドコンピューティングにおける最近のイノベーションだった。
AIの事前学習の仕組み
概して言うと(詳細に説明すると非常に長くなってしまうため)、AIの事前学習には、教師ありと教師なしという2つの基本的なアプローチを使用する。ChatGPTのような現在の生成AIシステムが登場するまでは、ほとんどのAIプロジェクトで教師ありアプローチが使用されていた。
教師あり事前学習は、モデルをラベル付きのデータセットで訓練して、それぞれの入力を対応する出力に関連付けるプロセスだ。
たとえば、AIを顧客サービスの会話のデータセットで訓練する場合、ユーザーの質問や苦情を、顧客サービス担当者からの適切な応答でラベル付けする。AIの訓練では、「パスワードをリセットするにはどうすればいいか」といった質問がユーザー入力として与えられ、「当社のウェブサイトのアカウント設定ページにアクセスし、プロンプトに従って進めば、パスワードをリセットできる」といった回答が出力として与えられる。
教師あり学習のアプローチでは、モデル全体を訓練してマッピング機能を学習させ、入力を出力に正確にマッピングできるようにする。このプロセスは、分類、回帰、シーケンスラベリングなどの教師あり学習タスクでよく使用される。
ご想像のとおり、このアプローチのスケーラビリティーには限界がある。人間の教師が多大な労力をかけて、あらゆる入力と出力を予測しなければならない。訓練には非常に長い時間がかかり、対象分野の専門知識だけに限定される可能性がある。
しかし、周知のとおり、ChatGPTには分野の専門知識に関する制限がほとんどない。テレビドラマ「スタートレック」の登場人物であるマイルズ・オブライエン主任の履歴書を書かせることもできるし、量子物理学についての説明や、コードの作成、短編小説の執筆、米国の歴代大統領の政治スタイルの比較も可能だ。
どのような質問をされるのか、すべてを予測することはできないため、ChatGPTが教師ありモデルで訓練されたとは考えられない。ChatGPTが使用するのは教師なし事前学習だ。これによって大変革がもたらされた。