大規模言語モデル
大規模言語モデルは、それ自体が「ブラックボックス」であり、どのようにして言語タスクを実行できるのかは明らかではない。しかし、LLMがどのように機能するかを理解するためのいくつかの方法がある。
機械的解釈可能性 は、LLMによって実行される推論を近似する記号アルゴリズムを発見することにより、LLMをリバースエンジニアリングすることを目的としている。オセロGPT(Othello-GPT)はその一例で、オセロの正当な手を予測するように小規模なTransformerが訓練された。その結果、オセロ盤の線形表現が存在し、この表現を変更することで、予測される正当なオセロの手が正しい方向に変化することがわかった。別の例では、著者はモジュラ算術加算に対して小規模なTransformerを訓練し、得られたモデルをリバースエンジニアリングしたところ、離散フーリエ変換を使用していることがわかった。
別の例では、小規模なTransformerをKarelプログラム(英語版)に対して訓練している。オセロGPTの例と同様に、Karelプログラムのセマンティクスには線形表現があり、その表現を修正すると出力が正しく変更される。このモデルはまた、訓練セット内のプログラムよりも平均して短く、正しいプログラムを生成した。
大規模言語モデルの基本的な考え方は、単純で反復的なアーキテクチャを持つランダムな重みを持つニューラルネットワークを出発点とし、大規模な言語コーパスで訓練することである。
この最も初期の例のひとつがエルマンネットワークで、「犬が男を追いかける」のような単純な文でリカレントネットワークを訓練した。訓練したネットワークは、各単語をベクトル(内部表現)に変換した。次にこれらのベクトルを接近度によって木構造にクラスタリングした。その結果、ツリーはある構造を示すことがわかった。動詞と名詞はそれぞれ別の大きなクラスターに属していた。名詞のクラスター内には、無生物(inanimates)と生物(animates)の2つの小さなクラスターがある、などである。
別の方法として、自然言語理解を記号プログラムによってコンピュータにプログラムする論理AI(英語版)があった。この方法は1990年代まで主流であった。単純な機構と大規模なコーパスによって自然言語を学習するという着想は1950年代に始まったが、商業的に最初に成功したのは、統計的機械翻訳(英語版)のためのIBMアライメントモデル(英語版)(1990年代)であった。
また、言語モデルがより具体的な下流タスクを実行する能力を評価するために、多くのテスト用データセットやベンチマークが開発されている。テストは、一般的な知識、常識的な推論、数学的な問題解決など、さまざまな能力を評価するために設計することができる。
評価用データセットの大区分の1つに、質問と正解の組で構成される質問応答データセットがある。たとえば、『「サンノゼ・シャークスはスタンレーカップで優勝しましたか?」、「いいえ」 』のような組である。質問回答タスクでは、モデルのプロンプトに期待される答えを導き出せるテキストが含まれる場合、「明白なもの(オープンブック)」とみなされる。たとえば、先の質問には、「2016年、シャークスはスタンレーカップ決勝戦に進出し、ピッツバーグ・ペンギンズに敗れた。」という文を含むテキストが追加される可能性がある。そうでない場合、タスクは「(理解する術がなく)説明できないもの(クローズドブック)」とみなされ、モデルは訓練中に獲得した知識を動員する必要がある。
LLMは言語モデルであり、それ自体は目標を持たないためエージェントではないが、知的エージェントの構成要素として使用することができる。
ReAct(Reason + Act)法は、LLMをプランナーとして使用し、LLMからエージェントを構築するものである。LLMは「考えごとを声に出して言う」よう促される。具体的には、言語モデルに対して、環境のテキスト表現、目標、可能な行動のリスト、および過去の行動と観察の記録が与えられる。LLMは、行動を決める前に1つまたは複数の思考を行い、それが環境内で実行される。LLMプランナーに与えられる環境の言語的記述は、ときには環境を記述した論文のLaTeXコードすら考えられる。
リフレクション法は、いくつかのエピソードにわたって学習するエージェントを構築する手法である。各エピソードの終わりに、LLMはそのエピソードの記録が渡され、次のエピソードでより良い成績を出すための「教訓」を考えるように促される。これらの「教訓」は次のエピソードでエージェントに渡される。