モバイルLLMのパフォーマンスボトルネック:疎な活性化とストレージ制約の理解

スマートフォンのストレージ課題

現代のスマートフォンは、大規模言語モデルを実行する際に根本的な制約に直面しています。それは、完全なモデル重みを格納するためのDRAM容量が不足していることです。この制限により、システムはSnapdragon 8gen3プロセッサに搭載されたUFS 4.0などの外部ストレージソリューションにモデルパラメータを分散させる必要があります。モバイルストレージのパフォーマンス特性を理解することは、エッジデバイス上でのAI推論を最適化するために重要です。

ストレージI/Oパフォーマンス分析

ブロックサイズと読み取り帯域幅

モバイルストレージは、読み取りブロックサイズに関連した直感に反するパフォーマンスパターンを示します。データに逐次またはランダムにアクセスする場合、大きな読み取りブロックはより高い帯域効率をもたらします。512KBのブロックサイズは、逐次読み取りで最大4 GB/s、ランダム読み取りで3.5 GB/sのパフォーマンスを達成します。しかし、ブロックサイズを4KBに減らすと、パフォーマンスは劇的に低下し、ランダム読み取りの帯域幅はわずか450 MB/sに落ち込みます。これは、スパーステーブルの実装や重みの取得戦略にとって重要な設計上の考慮事項となります。

ランダムアクセス範囲の効果

興味深いことに、ランダム読み取り操作の範囲はスループットに大きく影響します。小さな読み取り範囲は常に大きな範囲よりも優れた性能を示します。4KBのランダム読み取りを行う場合、128MBの範囲で約1 GB/sの帯域幅を達成しますが、512MBに拡大すると帯域幅は850 MB/s未満に低下します。このパフォーマンス差は、大きなブロックサイズではあまり顕著ではなく、スパーステーブルのアクセスパターンは読み取り範囲の最適化と慎重にバランスを取る必要があります。

CPUコア依存性

I/Oコマンドを実行する処理コアは、ストレージのパフォーマンスに直接影響します。高クロックのCPUコアは優れたI/Oスループットを実現します。3.3GHzで動作するビッグコアは、4KBのランダム読み取りで1 GB/sを達成しますが、2.2GHzのリトルコアは760 MB/sにとどまります。この違いは、UFSドライバーが割り込みやキュー管理操作を処理する必要があるためであり、高クロック速度はI/O関連タスクの処理を高速化します。

シングルキューアーキテクチャの制約

NVMeソリューションとは異なり、モバイルUFSストレージは単一のコマンドキューで動作し、並列性の能力がありません。複数のコアを用いたI/O操作は、コマンドキューの競合によりパフォーマンスを最大40%低下させることがあります。この根本的なアーキテクチャの制約により、モバイルデバイスでは並列I/Oのアプローチは効果がありません。

LLM推論アーキテクチャと二段階処理

言語モデルの推論は、根本的に異なる性能特性を持つ二つの計算段階を経て行われます。それぞれに最適化戦略が必要です。

プリフィル段階:プロンプト処理

プリフィル段階では、ユーザープロンプト全体を一度のイテレーションで処理し、最初のトークンを生成します。この集中した負荷は計算要求を高め、時間対最初のトークン生成(TTFT)が重要なパフォーマンス指標となります。プロンプト全体は密な入力としてモデルのトランスフォーマー層を通じて一括処理されます。

デコーディング段階:逐次生成

プリフィルの後、デコーディング段階では、出力トークンを逐次的に自己回帰的に生成します。新たに生成されたトークンは次のイテレーションの入力となり、シーケンスの完了またはEOSトークンの生成まで続きます。各イテレーションは単一のトークンのみを処理するため、計算負荷は軽減されますが、スループットはトークン間の時間(TBT)によって制限されます。この段階は、ユーザーが感じる応答速度を表します。

スパース活性化:効率化のチャンス

( なぜスパース性が重要か

GPT-4やLlama-2などの最新のトランスフォーマーは、デコーダーのみのアーキテクチャを採用し、繰り返しブロック(注意機構とフィードフォワードネットワーク )FFN()を持ちます。最近のバリアントでは、Group Query Attentionを利用し、計算負荷の大部分をFFNブロックに集中させており、これらはモデルパラメータの約80%を占めています。

FFNブロックは、ReLU系の活性化関数を用いて自然なスパースパターンを作り出します。多くのニューロンは、重み行列の行や列として表現され、最小限の出力にしか寄与しません。これらの非活性ニューロンはスキップ可能であり、最終結果に大きな影響を与えません。予測されたニューロンの活性化をスパーステーブルとして作成することで、大幅な計算削減が可能です。

) 予測駆動の最適化

ニューロンの活性化状態は、FFN計算前に正確に予測できます。PowerInferやDejaVuなどの研究は、各FFNブロック前にニューロンの活性化を予測する軽量MLPネットワークが高精度を達成できることを示しています。この予測手法により、スパースな活性化は本来の性質から、活用可能な最適化の機会へと変わります。これにより、必要な計算量を削減し、推論を高速化します。

統合の課題

実際の複雑さは、スパース活性化の活用とモバイルストレージの制約を組み合わせる際に生じます。予測に基づくスパーステーブル構造は、ストレージI/Oパターンと整合させる必要があります。具体的には、128MBのウィンドウ内で小さく焦点を絞った読み取り範囲を活用し、1 GB/sの帯域幅を維持しつつ、シングルキューUFSアーキテクチャの競合を最小限に抑えることが求められます。

デバイス上のAIにおける実用的な示唆

効率的なモバイルLLMシステムは、スパースニューロンパターンを予測メカニズムで活用しつつ、モバイルストレージの特性を尊重する二つの最適化次元に同時に取り組む必要があります。スパース計算パターンとストレージアクセスパターンの相互作用が、実世界のパフォーマンスを決定します。どちらか一方だけを最適化しても、全体のシステム効率を損なうことになります。


研究チーム: Zhenliang XueとYixin Song (共同第一著者)、および上海交通大学のInstitute of Parallel and Distributed Systems (IPADS)のZeyu Mi、Le Chen、Yubin Xia、Haibo Chen

この分析は、CC BY 4.0ライセンスの下で公開されている学術研究に基づいており、重みの読み取り性能特性に焦点を当てています。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
0/400
コメントなし
  • ピン