コモディティ化する生成AI:GPUに依存せずに高性能の大規模言語モデルを開発
今回紹介する言語モデルのアーキテクチャは、大規模言語モデルの学習や推論で利用されるGPUクラスタなどの高性能な演算装置導入に対するハードルを大きく下げる可能性があります。
この研究におけるテクノロジー、もしくは派生して生まれるテクノロジーの研究と実用化が進むことで、生成AIのビジネスエコシステムの将来の需要と供給のバランスに影響を与える可能性があります。
もちろん今は小さな芽吹きであり、研究開発がうまく進むのか、または普及レベルのテクノロジーになるかは誰にも分かりません。しかし、近年の生成AIに関する研究開発スピードは、これまでのテクノロジーの進化スピードを凌駕するほどの速さで進んでおり、1年後すら不透明な状況です。
このことは、特に私たちのように米国市場にベットしている者にとっては、その市場動向については非常に気になるところです。
今回、言語モデルの大規模化において、高い性能を維持しながら、行列乗算を完全に排除する新しいアーキテクチャについての論文が発表されましたので、その要旨をダイジェストで紹介しますのでご参照ください。
1. 対象論文
[執筆者]
カリフォルニア大学サンタクルーズ校
スーチョー大学(台湾)
カリフォルニア大学デービス校(詳細は論文参照)
[論文タイトル]
「Scalable MatMul-free Language Modeling」
[公開日]
2024年06月04日
[DOI]
arXiv:2406.02528
2. 総論
行列乗算の必要性を排除し、学習と推論の効率を大幅に向上させ、メモリ使用量と待ち時間の両方を削減する最適化された実装により、最先端のTransformerと同等の性能を達成
高性能な言語モデルを構築するために行列乗算が不可欠であるというパラダイムに対し、より効率的でハードウェアに優しいアーキテクチャの開発に道を開いた
様々なプラットフォーム上で言語モデルを展開する需要が高まる中、行列乗算を用いないLMは、効果的かつリソース効率の高いモデルを作成するための有望な方向性を示す
今回研究の限界は、計算上の制約から、1,000億以上のパラメータを持つ大規模モデルに対してはテストが行えていないこと
行列乗算を使わないアーキテクチャの開発を進めることで、より安価で供給制約のないプロセッサで強力なモデルを開発できるようになり、その結果、大規模言語モデルはよりアクセスしやすく、効率的で持続可能なものになる
3. 現在の課題:行列乗算
行列乗算(MatMul:Matrix multiplication)は、ニューラルネットワークのデータと重みを結合するために使用される、深層学習における基本的な操作であり、ニューラルネットワークのレイヤーを通して入力データを変換し、トレーニングや推論中に予測を行うようなタスクに不可欠とされています。
行列乗算は、Transformerアーキテクチャを使用する(ほとんどの)大規模言語モデル(LLM)において最も計算量の多い演算となりますが、大規模言語モデルの規模が大きくなるにつれて、行列乗算のコストは大幅に増加し、学習や推論時のメモリ使用量や待ち時間が増大するという課題をはらんでいます。
現在、この行列乗算は、高性能なGPUによって処理されるのがデフォルトの考えとなっています。
尚、GPUは、その高度な並列アーキテクチャにより、多数の行列乗算を同時に実行できるように設計されており、深層学習で必要とされる大規模計算をCPUよりもはるかに高速に処理し、複雑なニューラルネットワークモデルの効率的な学習と実行に不可欠とされています。
しかし、大規模言語モデルのパラメータが数千億から兆の単位まで拡張されていることで、この行列乗算がボトルネックとなって、学習フェーズに加えて、推論のフェーズにおいても、非常に大規模なGPUクラスタが必要になっています。
この問題に対しては、行列乗算をよりシンプルな演算に置き換えることで、メモリと計算量を大幅に削減する研究が進められていましたが、行列これまでの乗算を置き換える取り組みは、メモリ消費量は削減できるものの、GPU上でうまく動作することがむずかしく、演算速度が低下するなど、さまざまな弊害も見られています。
4. 提案:行列乗算の三値演算への置き換え
今回発表された論文では、トランスフォーマーで使用されている従来の16ビット浮動小数点のウェイト(重み)を、-1、0、+1の3つの状態のいずれかを取ることのできる3ビット3進ウェイトに置き換えることが提案されています。さらに、行列乗算をより少ない計算コストで同等の結果が得られる加算演算に置き換えることを提案しています。
また言語モデルのアーキテクチャについても手を加えています。「トークン・ミキサー」と「チャンネル・ミキサー」の処理機構の追加です。具体的には、MLGRUトークン・ミキサーとGLUチャンネル・ミキサーに三値重みを組み合わせたアーキテクチャとなっています。
(1)トークン・ミキサー
トークン・ミキサーは、シーケンス内の異なるトークン間の情報を統合する役割を果たします。
従来のTransformerモデルでは、一般的にセルフアテンション機構を使用し、トークンのすべてのペア間の関係を計算するために、行列乗算を使用して依存関係と文脈情報をキャプチャします。
しかし、本研究における行列乗算を利用しないアーキテクチャでは、MLGRU(MatMul-free Linear Gated Recurrent Unit)を使ってトークン・ミキサーを実装します。GRU(Gated Linear Unit)は、Transformersが登場する前に流行したシーケンスモデリングのための深層学習モデルですが、MLGRUは、高価な行列乗算を必要とせず、単純な三値演算によってトークンのシーケンスを処理することができるモデルです。
(2)チャネルミキサー
チャネルミキサーは、1つのトークン表現内の異なる特徴チャネルにまたがる情報を統合する役割を果たします。本研究では、Llama-2やMistralで利用されているGLUを行列乗算の代わりに三値重み(ternary weights)でも動作するように変更して、チャネルミキサーを実装し、特徴量の統合の有効性を維持しながら、計算の複雑さとメモリ使用量を減らすことを実現しています。
5. 実装試験の結果
行列乗算を使用しない言語モデルの消費電力と有効性を三値演算で試験するため、FPGAベースのアクセラレータを作成。評価結果ダイジェストは以下の通り。
① スケーリング則
行列乗算を使用しないモデルは、効率面と損失面で優れていることを示唆
② ダウンストリームタスク
行列乗算を使用しないモデルは、多様な言語タスクにおいて強力なゼロショット性能を達成可能(質問応答、コモンセンス推論、物理的理解等)
③ 学習率
行列乗算を使用しないモデルは、ほとんどのLLMよりも学習率が高い。また、学習開始時に大きな学習率で学習させたモデルは、学習後期の学習損失がより急速に減少する。
④ 学習効率
行列乗算を使用しないモデルは、より多くのサンプルを同時に処理可能で、学習速度が速く、メモリ消費量の削減の恩恵をもたらす。
⑤ 推論効率
行列乗算を使用しないモデルは、全モデルサイズにおいて、トランスフォーマーより一貫してメモリ使用量とレイテンシが低く、モデルサイズが大きくなるほど優位性が顕著となる
その他、詳細等については、オリジナル論文をご確認ください。
以上です。
御礼
最後までお読み頂きまして誠に有難うございます。
役に立ちましたら、スキ、フォロー頂けると大変喜び、モチベーションにもつながりますので、是非よろしくお願いいたします。
だうじょん
免責事項
本執筆内容は、執筆者個人の備忘録を情報提供のみを目的として公開するものであり、いかなる金融商品や個別株への投資勧誘や投資手法を推奨するものではありません。また、本執筆によって提供される情報は、個々の読者の方々にとって適切であるとは限らず、またその真実性、完全性、正確性、いかなる特定の目的への適時性について保証されるものではありません。 投資を行う際は、株式への投資は大きなリスクを伴うものであることをご認識の上、読者の皆様ご自身の判断と責任で投資なされるようお願い申し上げます。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?