なぜ大規模モデルなのか
近年、ChatGPTをはじめとして大規模言語モデルが注目されいます。ここで言う"大規模"とは具体的に何を指すのでしょうか?また、なぜモデルが大きい方が良いのかについても疑問があります。これらについて説明します。
モデルのサイズとは?
まず、モデルのサイズとは何でしょうか?これはモデル内部のパラメーターの数を指します。モデルは入力と出力があり、その間でどのように情報を処理するかがパラメーターとなります。
身近な例えをすると、パラメーターとはつまみのようなもので、ガスコンロには数えるほどしかありませんが、飛行機には沢山ついているのが想像できるでしょう。
モデルのサイズが大きいと、多くのパラメーターが存在し、より複雑な情報処理が可能になります。もちろん、適切にパラメーターを調整する必要があります。
大規模なモデルの課題
一般的には、モデルが大きい方が良いと思いがちですが、実際にはそうでもありません。モデルが大きいと汎化性能が低下するというのは昔から知られてきた問題でした。
これは、モデルを学習させる際に使用するデータセットと、実際に利用されるデータが一般には一致しないためです。モデルのサイズが大きすぎると、その柔軟さゆえに、学習データに強く適合させることができてしまいます。そのように学習されたモデルでは、学習時に利用していない実際のデータに対してはうまく機能しない場合があります。
学習していないデータが入力された際の性能を汎化性能と言いますが、モデルが大きくても必ずしも汎化性能が向上しない、むしろ悪化する場合があるという問題があります。
汎化性能の改善
モデルサイズが大きいと汎化性能の問題が生じるということに対して、いくつかの対応方法が取られてきました。
一つは、「モデルの良さ」を表す基準にモデルサイズに応じたペナルティを課す方法です。赤池情報量基準(AIC)やベイズ情報量基準(BIC)ではモデルサイズが大きくなるとモデルのスコアが低くなるため、それらの指標を利用することで同じ性能でも小さなモデルを好んで選ぶことができます。
他にも、正則化と呼ばれる方法も用いられます。正則化では、パラメータの大きさに制限を設けます。パラメータが沢山あったとしても、一つ一つのパラメータは少ししか動かさないようにすることで、学習時の極端なフィッティングを避けます。
なぜ大規模がいいのか
大規模モデルがなぜうまく機能するのかについては完全に理解されていない部分もありますが、いくつかの仮説が存在します。
その中でも代表的なものは「宝くじ仮説」と呼ばれるものです。これによると、多くのパラメーターがランダムに初期化された場合、その一部のパラメータセットを考えた時に特に優れた部分が存在し、これが良い結果を出す可能性が高いとされています。
また、ランダムに初期化された大規模なニューラルネットワークの学習を理論的に解析する試みも行われています。NTK(Neural Tangent Kernel)理論と呼ばれる理論の一つの結論としては、ランダムに初期化された多数のパラメータを用いるニューラルネットワークでは、パラメータの初期値の近傍に学習上の最適なパラメータが存在するというものです。
大規模なモデルは社会的に応用される中で経験的にその性能が示されつつ、理論的にもその性能が示されつつあるという状態です。
この記事が気に入ったらサポートをしてみませんか?