大規模言語モデル
LLMの出力は、その語彙の確率分布である。これは通常、次のように実装される。
テキストを受信すると、大半のLLMはベクトル y ∈ R V {\displaystyle y\in \mathbb {R} ^{V}} を出力する。ここで、 V {\displaystyle V} は語彙サイズ(上述)である。
ベクトル y {\displaystyle y} はソフトマックス関数によって softmax ( y ) {\displaystyle {\text{softmax}}(y)} となる。
このプロセスでは通常、ベクトル y {\displaystyle y} は非正規化ロジットベクトルといい、ベクトル softmax ( y ) {\displaystyle {\text{softmax}}(y)} は確率ベクトルと呼ばれる。ベクトル softmax ( y ) {\displaystyle {\text{softmax}}(y)} は V {\displaystyle V} 個のエントリを持ち、すべて非負であり、その合計は1となるので、 { 0 , 1 , 2 , . . . , V − 1 } {\displaystyle \{0,1,2,...,V-1\}} に対する確率分布、つまりLLMの語彙に対する確率分布であると解釈することができる。
ソフトマックス関数は数学的に定義されており、変化するパラメータを持たないことに注意を要する。したがっては訓練は行われない。
インストラクション・チューニング(英: instruction tuning、命令チューニング)は、より自然で正確なゼロショットプロンプトによる対話を促進するために考案されたファインチューニングの一形態である。テキストが入力されると、事前訓練された言語モデルは、訓練に使用したテキストコーパスの分布に一致するような補完を生成する。たとえば、「ハムレットの主要テーマについてエッセイを書いてください」というプロンプトが与えられたとき、単純な言語モデルは「3月17日以降に受け取った提出物には、1日あたり10%の遅延損害金が適用されます」といった(意図しない)補完を出力するかもしれない。インストラクション・チューニングでは、自然言語による命令として定式化された多くのタスクの例と、適切な応答を用いて言語モデルを訓練する。
インストラクション・チューニングでは、さまざまな手法が実践されている。その一例である「自己学習(英: self-instruct)」は、LLMによって生成された事例(人間が作成した少数の初期事例からブートストラップしたもの)の訓練セットで言語モデルをファインチューニングする。
大規模言語モデルでは、2018年以降、逐次データに対する標準的なディープラーニング手法となったTransformer(トランスフォーマー)アーキテクチャが最もよく使用されている。別のアーキテクチャの系統として、混合エキスパート(英語版)(Mixture of experts、MoE)がある。これはGoogleが開発したAIモデルでしばしば使用されており、sparsely-gated MoE(2017年)に始まり、Gshard(2021年)、GLaM(2022年)へと続いている。
初期の「大規模」言語モデルは、長期・短期記憶(LSTM、1997年)などのリカレントアーキテクチャを使用して構築された。AlexNet(2012年)が画像認識における大規模ニューラルネットワークの有効性を実証した後、研究者は大規模ニューラルネットワークを他のタスクに適用した。2014年には、2つの主要な手法が提案された。
seq2seqモデル(3億8,000万パラメータ)は、2つのLSTMを使用して機械翻訳を行い、単純化されたアーキテクチャ(ゲート付き回帰型ユニット、GRU)で同じ手法が使われた(1億3000万パラメータ)。
アテンション機構は、2つのLSTMの中間に「アテンション機構」を追加してseq2seqモデルを改良されたものとして提案された。これはTransformerのアテンション機構とは異なるが、同様のタスクを実行する。
2016年、Google翻訳はその機構を統計的機械翻訳(英語版)からニューラル機械翻訳(英語版)へと変更した。これは、LSTMとアテンションによるseq2seqである。10年かけて構築された以前のシステムよりも高いレベルの性能に到達するのに9カ月を要したという。
2017年の論文「Attention is all you need」では、アテンション機構を抽象化して、アテンション機構を中心としたTransformerアーキテクチャを構築した。seq2seqモデルは、他のリカレントネットワークと同様、入力シーケンスを一度に1つずつ処理しなければならないのに対し、Transformerアーキテクチャはシーケンス上で並列に実行することができる。これによって、より大規模なモデルを訓練できるようになった。
大規模な言語モデルという大体2018年