見出し画像

自然言語処理の進化:GPTから次のステップへ(1)

 NLPはChatGPTの普及以降、大規模言語モデル(LLM)と呼ばれることが多くなりましたが、筆者はLLMという呼称をあまり好みません。
 
 長年コンピュータを開発してきた経験のある人々は、似たような感覚を抱く方も多いかも知れません。35年くらい前は、個人用のPCとして8MBのRAMに100MBのハードディスクのPCを持っていると、モンスターマシンと言われるほどでした。
 
 しかし、直近では8MBの1,000倍に相当する8GBのRAM搭載PCは初心者向けで、32GBのDDR4 メモリ2枚でRAMの容量を8,000倍の64GBにしても、RAMの金額は2万円強程度です。
 
 日本で最初に発売されたノートPCのPC-9801Nに搭載されていた16ビットCPUのV30と、最近のAMDのRyzen 9の性能比較をすることには、殆ど意味がありませんが、ざっくり数10万から100万倍単位で処理能力が向上しています。 

スパコンの計算速度の進歩

フロップスは計算速度の単位。メガは100万、ギガは10億、テラは1兆、ペタは1000兆、エクサは100京。

 CPUの処理速度も桁違いですが、ハードウェアの性能向上速度は非常に早く、PCは二年に一度は買い替えているような感じです。この感覚だと、現在、巨大規模言語モデルと言われている程度のものは、数年後には『そんな小さな規模だったのか…』という感覚になると思います。

 GPTの中核となっているトランスフォーマーは高い性能を持ち、機械翻訳、文章要約、質問応答、感情分析など、多岐にわたる自然言語処理タスクで優れた成果をあげているように見えます。しかしながら、アーキテクチャやアルゴリズムそのものは、長年AIの開発を手掛けている人には、それほど画期的な感じはしません。
 
 NLPのアーキテクチャは非常に多く、有名どころは、このブログの用語説明でも軽く言及してる、RNN、LSTM、GRUなどがあります。GPTのTはトランスフォーマー(Transformer)の略で、このアーキテクチャは、2017年にGoogleが開発したものです。 

  トランスフォーマーの特徴についても、用語説明で説明していますが、アテンションメカニズムを使用することで、シーケンスデータを並行して処理し、RNN、LSTM、GRUなどの計算効率の問題を解決しています。
 
 トランスフォーマー採用されているものには、GPT以外にもGoogleのBERTなど多数あり、これらがそれぞれ派生アーキテクチャを作っているので、現在、大規模言語モデル(LLM)だと感じているものが、数年後には、そんな小さなモデルで大騒ぎしていたのかと呆れるようになっても不思議ではありません。

 ところで、トランスフォーマーが進化した要因の一つに事前学習モデルの進化をあげることができます。GPTシリーズの進化によって、大規模なコーパスを用いた事前学習がより効果的になりました。GPT-3.5やGPT-4といったモデルは、数百億から兆単位のパラメータを持つことで、一般的な自然言語理解タスクにおいて人間のパフォーマンスに匹敵する結果を出せるようになっています。ところが、このような高性能が実現できたのは、前述のハードウェアの処理能力向上に依存する部分が少なくありません。
 
 また、パラメータ数が増加することで、計算コストや推論速度の低下が課題となることもあります。GPT-4は、GPT-3.5と比較してパラメータ数が増加しており、性能の向上が期待されていましたが、一方で処理速度が遅くなることが報告されています。このため、性能と処理速度のバランスを考慮して、適切なモデルを選択することが重要で、トランスフォーマーが最高というわけではありません。寧ろ、OpenAI社は2023年3月中旬の時点で、トランスフォーマーの限界を認め、別のアプローチに取り掛かるという論文が公開されています。 

  なお、パラメータ数を増やすだけでは性能が上がらない理由は以下のような点が挙げられます。
 
過学習(Overfitting):パラメータ数が増えると、モデルが学習データに過剰に適合し、新しいデータに対する性能が低下する現象が起こります。過学習を防ぐためには、正則化(Regularization)やドロップアウト(Dropout)などのテクニックが用いられます。
 
計算コスト:パラメータ数が増えると、モデルの学習や推論にかかる計算コストが増加します。これは、学習時間の増加や必要なハードウェアリソースの増加につながります。従って、パラメータ数を増やすだけでは効率的な性能向上が見込めない場合があります。
 
データセットの制約:モデルの性能は、学習データセットの質にも依存します。データセットにバイアスやノイズが含まれている場合、パラメータ数を増やしても性能が向上しないことがあります。また、データセットが十分なサイズでない場合、大規模なモデルの性能が制限されることがあります。
 
ディメンションの呪い(Curse of Dimensionality):高次元データセットに対する機械学習や統計的分析が困難になる現象を指します。次元が増加するにつれて、データの空間が急速に広がり、データ点間の距離が大きくなります。このため、高次元データセットでは、データの密度が低くなり、適切なモデルを学習するために必要なデータ量が指数関数的に増加します。
 
 ディメンションの呪いは、特に次元削減やクラスタリングなどの教師なし学習手法に影響を与えます。さらに、過学習(overfitting)のリスクも増加し、モデルの汎化能力が低下することがあります。
 
 これらの理由から、単純にパラメータ数を増やすだけでは、モデルの性能が必ずしも向上しないことがあります。パラメータ数以外の要素も考慮して、適切なモデル設計や学習方法を選択することが重要です。

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