見出し画像

ファウンデーション(基盤)モデルとは

この記事では米国スタンフォード大学の記事が定義したファウンデーション・モデル(基盤モデル、Foundation Model)というキーワードについて解説します。

ファウンデーション・モデルとは

ファウンデーション・モデルは、広範なデータでトレーニングされたモデルとして定義されます。通常は大規模な自己教師あり学習(Self-Supervised Learning)を行います。つまり、データの一部を隠すなどしてモデルに予測させる訓練をするので、教師あり学習(Supervised Learning)と違ってラベル付けを行う手間がかからず、大規模なデータを利用することが可能です。

GPTやBERTなどが有名で、以前は事前学習済みモデルという呼び名が使われていましたが、最近はファウンデーション・モデルや基盤モデルという名前がよく見受けられます。

自己教師あり学習の良いところは、教師あり学習とは違ってある一定の目的やタスクのために学習するのではなく、データ自体を学習することです。タスクに役立つ特徴量を抽出することを学習するよりも、データそのもの構造や統計的な情報を学びます。

このように訓練されたモデルは様々なタスクに対してファイン・チューニング(特定のタスクのためにモデルの微調整を行う訓練)を行うことで適応させることが可能です。

転移学習とファインチューニング

ファインチューニングと転移学習は同じような意味で使われるのですが、ニュアンスが多少異なるの解説します。

ただし、転移学習とファインチューニングという言葉の使われ方は時と場合によって、どっちがどちらとも言えないので、まあそんな感じかぐらいの捉え方で十分だと思います。最終的には、使われている文脈で判断するしかないですね。

まず、ファインチューニングは、訓練済みのモデルを利用する点では転移学習と同じ考え方ですが、転移学習はどちらかというと教師あり学習で訓練されたモデルを異なるデータセットへと適応させるという文脈で使われることが多いです。

例えば、ImageNetで事前学習済みのResNetをCIFAR10のデータセットを使うように画像分類を行う最後の数層だけを入れ替えて訓練し直すと言ったケースです。

また、特徴量の抽出器として利用し、画像分類のモデルの一部を物体検出のモデルに組み込むのもある種の転移学習と言えます。

これに対して、ファインチューニングは転移学習と同じような手順を踏むのですが、事前学習済みの層も微調整します。学習率(Learning Rate)を低くして多少タスクに合わせたアップデートを行います。だから、ファインチューニング(細かい調整)と呼ぶのですが、転移学習と区別しないこと多々あります。よって、先ほども述べたように文脈で判断してどちらであるか理解する必要があります。

ファインチューニングをする、つまり事前学習済みの層のパラメータも更新することでモデルの性能が悪くなることもあるので注意が必要です。

さて、ファウンデーション・モデルの場合はファインチューニングという言葉を使うことが多いです。これはファウンデーション・モデルが下流タスクを意識することなく訓練されているので事前学習済みの部分も微調整するファインチューニングを行う方がタスクに合わせることができて効果的だからです。

繰り返しますが、転移学習とファインチューニングという言葉の使われ方は、使われている文脈で判断するしかありません。実装などにたずさわる方は、全体の微調整を行うか否かという点はどちらの言葉が使われているかに限らず注目した方が良いでしょう。

GPTとBERT

ファウンデーション・モデルは今のところ自然言語モデルでの利用が突出しています。例えば、GoogleのBERTやOpenAIのGPTなどが有名です。これらのモデルはパラメータの数が飛躍的に増加しているのが特徴です。それだけ多くのデータからの情報を収納していることになります。

BERTは2018年にGoogleにより発表され大規模言語モデルへの注目を一挙に集めました。GoogleはBERTを自然言語の様々なタスクへと応用しました。例えば、検索の文章を理解するのにBERTは役立ちます。

GPTからは最近話題のChatGPTも生まれました。これはプロンプトから文章生成するGPTをより会話向けにチューニングしたモノです。

文章から画像を生成するStable DiffusionOpenCLIPというモデルを使っていますが、これもGPTをベースにしています。

また、GPTもBERTもベースになるモデルはトランスフォーマーです。

また、ハードウェア性能の向上による大規模データを利用した学習が可能になったこともファウンデーション・モデルが可能となった要因だと言えます。

なぜファウンデーション(基盤)なのか

GPTやBERTがファウンデーション(基盤)モデルと呼ばれるのは、上記の例からもわかるように、これらのモデルを使った様々なアプリケーションの基盤となるからです。

転移学習やファインチューニングという言葉が使われた頃から、これからはゼロからモデルを訓練することはどんどん少なくなるだろうと言われてきました。ファウンデーション・モデルという言葉はそれをもっと明確に示唆しています。

最近のAIを利用したアプリなどは、ファウンデーション・モデルやその派生モデルをサービスとして提供するOpenAIなどのAPIを使っています。それは、部品を選んで組み込むような工業化の様相になってきています。

高額な機械学習エンジニアを雇ってうまくいくかわからないデータ集めやモデルの訓練に時間をかけリスクを取るよりも、AIをサービスとして利用するのが当たり前になってきました。

まとめ

ファウンデーション(基盤)モデルには、以下の特徴があります。

  • 大量なデータを用いて自己教師あり学習(ラベルなし)で訓練されたモデル

  • 様々な下流タスクに適応させることができる(ファインチューニング)

  • モデルパラメータの数が多い、大規模モデル

  • サービスとして利用できる

タスクごとにモデルを訓練していた時代から、共通の基盤モデルを様々なタスクに適応させる手法へとパラダイムがシフトしており、AIを利用するための値段も以前よりぐっと安価になりました。


この記事が気に入ったらサポートをしてみませんか?