Connect with us

人工知能

サーバーレス推論の未来:大規模言語モデル

mm

GPT-4やPaLMなどの大規模言語モデル(LLM)の最近の進歩により、自然言語タスクに革命的な能力がもたらされました。LLMは、チャットボット、検索エンジン、プログラミングアシスタントなどのさまざまなアプリケーションに組み込まれています。しかし、LLMを大規模に提供することは、GPUとメモリの要件が大きいため、依然として課題です。

これを克服するためのアプローチは、一般的に2つのカテゴリに分けられます。

  1. モデル圧縮技術

これらの技術は、精度を維持しながらモデルを小さくすることを目的としています。一般的なアプローチには以下が含まれます。

  • プルーニング – モデルから冗長または重要度の低いパラメータを削除します。これにより、パラメータが少ない疎なモデルが作成されます。
  • 量子化 – fp32またはfp16の代わりに、int8またはbfloat16などの低精度数値を使用して重みを表します。これにより、メモリのフットプリントが削減されます。
  • 知識の蒸留 – 小さい「学生」モデルを、大きな「先生」モデルに似せるようにトレーニングします。小さいモデルは、その後推論に使用されます。
  1. 選択的実行

これらの技術は、圧縮されたモデルではなく、各推論でモデルの一部のみを選択的に実行します。

  • スパース・アクティベーション – 0のアクティベーションに対する計算をスキップします。
  • 条件付き計算 – 入力に基づいて、特定の層のみを実行します。

ソフトウェア・アーキテクチャの側面では、LLMの迅速なデプロイを可能にするために、研究者はサーバーレス推論システムを提案しています。サーバーレス・アーキテクチャでは、LLMは共有GPUクラスタにホストされ、需要に応じて動的に割り当てられます。これにより、GPUの効率的な利用と開発者のコスト削減が可能になります。著名な実装には、Amazon SageMaker、Microsoft Azure ML、およびKServeなどのオープンソース・オプションがあります。

しかし、既存のサーバーレスLLMシステムは、インタラクティブなアプリケーションでユーザー体験を損なう高い待機時間オーバーヘッドを示しています。

  1. チェックポイントのダウンロードのコスト: LLMには、大きいメモリ・フットプリントがあり、サイズはしばしばギガバイトからテラバイトです。最適化されたネットワークでさえも、リモート・ストレージからのチェックポイントのダウンロードには20秒以上かかります。
  2. チェックポイントのロードの非効率性: ローカルSSDストレージにありながらも、チェックポイントをGPUメモリにロードするには、テンソルのデシリアライズと割り当てなどの要因により、10秒以上かかります。これは、コンテナの起動時間以外に大幅な遅延を追加します。

これらの問題を解決するために、MIT CSAILの研究者は、ServerlessLLMという革新的なシステムを提案しました。ServerlessLLMは、LLMのデプロイに多数の未使用の容量と帯域幅を持つマルチ・ティア・サーバー・ストレージを活用することで、低待機時間のサーバーレス推論を実現します。

LLMサーバーレス推論システムの概要

LLMサーバーレス推論システムの概要

ServerlessLLMの重要な革新: ServerlessLLMには、サーバーレス環境でのLLMのロード時間を短縮するためのいくつかの新しい設計が含まれています.

  1. 高速なチェックポイントのロード
  • ロードに最適化されたチェックポイント形式を使用して、高速なシーケンシャル・リーディングと効率的なイン・メモリ・テンソル・アドレッシングを可能にします。
  • ネットワーク、SSD、DRAM、およびGPUメモリを介したマルチ・ティア・チェックポイント・ロード・パイプラインを使用して、直接I/O、ピンメモリ転送、並列性などのテクニックを使用して帯域幅の使用率を最大化します。
  1. ローカリティ駆動型推論のためのライブ・マイグレーション
  • トークン・ベースのマイグレーションを使用して、ネットワーク上で必要なプロンプト・トークンだけを転送し、遅いスナップショット転送を避けます。
  • 2段階のマイグレーションを使用して、目的のサーバーでキャッシュ状態を非同期に再計算し、最終的なトークンを転送する前に推論を中断せずに実行します。
  1. 待機時間最適化サーバー割り当て
  • 各サーバーのチェックポイントのロード時間とマイグレーション時間を推定するための精度の高いモデルを使用します。
  • 上記のモデルを使用して、待機時間を最小化するサーバーを選択するローカリティ・アウェア・スケジューラを使用します。

これらの最適化により、ServerlessLLMは、既存のシステムと比較してLLMのロード時間を4〜8倍、エンド・ツー・エンドの起動時間を25倍以上短縮できます。

チェックポイントのロードの高速化

ServerlessLLMが対処する最初の主要なボトルネックは、ストレージからGPUメモリへのLLMチェックポイントのロードの高い待機時間です。

高速なチェックポイントのロードを可能にするために、ServerlessLLMは以下を導入します。

  1. ロードに最適化されたチェックポイント形式

PyTorchなどのフレームワークで使用される標準チェックポイントは、モデル・トレーニングとデバッグのために設計されています。しかし、サーバーレス推論の場合、チェックポイントは読み取り専用で繰り返しアクセスされます。

読み取り集中の使用を最適化するために、ServerlessLLMはチェックポイントを2つの重要な特性を持つ形式に変換します。

  • シーケンシャル・チャンク・ベースのリーディング: テンソルは、GPUごとにバイナリ・ファイルにグループ化され、大きなシーケンシャル・リードを容易にします。
  • 効率的なテンソル・アドレッシング: インデックスは、テンソル名をメモリ・オフセットにマップし、デシリアライズせずに直接イン・メモリ・リストアを可能にします。
  1. マルチ・ティア・チェックポイント・ロード・パイプライン

ServerlessLLMは、GPUサーバーの階層化アーキテクチャを活用し、SSDやネットワークを介してGPUに接続します。

システムは、すべての階層で帯域幅の使用率を最大化するためのマルチ・ステージ・パイプラインを組み込みます。

  • イン・メモリ・データ・チャンクは、ピンメモリを使用して高速なGPU転送を可能にします。
  • 直接I/Oを使用して、キャッシュ・オーバーヘッドなしで効率的なSSD読み取りを実行します。
  • 複数のスレッドが、ストレージの異なるチャンクを並列に読み取ります。
  • ステージ間の調整は、非同期タスク・キューを介して行われます。

これらを組み合わせることで、最も高速な階層であるNVMe RAIDの帯域幅容量を飽和させることができます。実験により、ServerlessLLMはPyTorch/TensorFlowと比較して6〜8倍高速にロードできることがわかりました。大きなLLMの起動時間は1分以上から10秒未満に短縮されます。

ローカリティ駆動型LLM推論によるライブ・マイグレーション

ロードを高速化したServerlessLLMは、新しい課題に直面します。すでにロードされたチェックポイントを使用してローカリティを活用する方法は何ですか。サーバーが忙しい場合に推論を中断せずに、LLM推論をGPUサーバー間でシームレスに転送する方法は何ですか。

ServerlessLLMは、LLM推論のライブ・マイグレーションという新しいテクニックを導入します。これにより、ローカルなチェックポイントが利用可能なサーバーへの実行を転送できます。

ライブLLMマイグレーションの重要な要素:

  1. トークン・ベースのマイグレーション

モデル全体の状態をスナップショット化するのではなく、ServerlessLLMはネットワーク上で最小限のプロンプト・トークンだけを転送します。これにより、スナップショットと比較して、はるかに少ない量のデータが転送されます。

  1. 2段階のマイグレーション

目的のサーバーは、プロンプト・トークンからキャッシュ状態を非同期に事前に計算します。準備が整ったら、ソース・サーバーは最終的なトークンを転送する前にリソースを解放します。これにより、推論が停止するのを防ぎます。

実験により、トークン・ベースのマイグレーションにより、マイグレーション時間が10秒以上から1秒未満に短縮され、ローカリティ駆動型の割り当てを実現するためにライブ・マイグレーションが重要であることが示されました。

待機時間最適化モデルスケジューリング

エンド・ツー・エンドの待機時間を最小化するために、ServerlessLLMはスケジューラをローカリティを考慮して最適化します。これには以下が含まれます。

  1. ロード時間の詳細な推定

モデルは、ネットワーク、SSDキャッシュ、メモリの各サーバーからのロード時間を、キューの遅延、モデルサイズ、測定された帯域幅などのメトリクスを使用して予測します。

  1. 正確なマイグレーション時間予測

スケジューラは、プロンプトと出力トークンの数を使用して、サーバーのマイグレーション時間を予測します。推論の進行を追跡してオーバーヘッドを回避します。

  1. ローカリティ・アウェア・アロケーション

各推論要求について、スケジューラは、サーバー全体の予測ロード時間とマイグレーション時間を評価します。予想される起動待機時間を最小化するサーバーを選択します。

スケジューラはまた、サーバーのタスク・キューを維持し、フォールト・トレランスを確保するために強い整合性のあるストアを活用します。これらすべての革新により、スケジューリングのオーバーヘッドが削減され、ローカリティの利点が最大化されます。

ServerlessLLMのパフォーマンスの評価

包括的な実験は、OPT-175BやAzureトレースをモデル化したワークロードなどの実際のモデルを使用して、ServerlessLLMのエンド・ツー・エンドの有効性を既存のシステムと比較してベンチマークしています。

重要な結果:

  • マイクロ・ベンチマーク: ServerlessLLMは、PyTorch/TensorFlowと比較して、チェックポイントのロードを3.6〜8.2倍高速化します。最先端のNVMe RAIDを含むストレージの帯域幅を完全に飽和させます。
  • スケジューリング: ServerlessLLMは、ランダムなスケジューリングと比較して、割り当ての待機時間を4〜12倍短縮します。ローカリティの利点を強調しています。ライブ・マイグレーションにより、キューの遅延が防止されます。
  • エンド・ツー・エンドの提供: 大きなモデルであるOPT-30Bの場合、ServerlessLLMは、KServeやRay Serveなどのシステムと比較して、99パーセンタイルの待機時間を28〜200倍向上させ、リソース効率も向上させます。

これらの大幅な改善は、ServerlessLLMが既存のサーバーレス実装のボトルネックを克服し、インタラクティブなサービスでLLMの力を解放する能力を示しています。

ServerlessLLMで導入された最適化、たとえばマルチ・ティア・ロード、ライブ・マイグレーション、待機時間駆動型スケジューリングは、将来のサーバーレス・アーキテクチャの設計に役立つ可能性があります。システムのチェックポイントと起動時間の短縮能力は、大規模言語モデルの実用的アプリケーションへのスケーラブルなデプロイを妨げるものを解消します。

今後の展望:継続的な課題

大きな飛躍であるにもかかわらず、ServerlessLLMは、巨大なLLMのサーバーレス推論を最適化するための最初のステップに過ぎません。以下のようなオープンな問題が残っています。

  • モデル需要のリアルタイム予測を、プロビジョニングと事前のロードのガイドに使用すること
  • キャッシュ・ヒットを最大化するために、サーバー全体にチェックポイントを賢く配置すること
  • スケジューリング・アルゴリズムを、より大きなクラスターで効率的にスケーリングすること
  • モデルと開発者全体でリソースの割り当ての公平性を確保すること
  • ライブ・マイグレーションのような革新を、他のサーバーレス・ワークロードに一般化すること

これらの分野に取り組むことで、サーバーレスLLMの約束をさらに実現し、機能を拡大することができます。システムレベルの最適化を超えて、大規模モデルの明らかな炭素足跡と潜在的な危害を軽減することも、緊急の優先事項です。

ServerlessLLMは、AIワークロード用の次世代サーバーレス・アーキテクチャにおける革新のための大きな余地があることを示しています。LLMがサイズと人気を増すにつれて、ServerlessLLMのようなスケーラビリティを解放するソリューションは、さらに重要になります。システムと機械学習の研究の融合により、提供、共有、スケーリングの新しいパラダイムが、AIモデルを安全に、持続可能に使用できるようになるでしょう。

私は過去5年間、機械学習とディープラーニングの魅力的世界に没頭してきました。私の情熱と専門知識は、AI/MLに特に焦点を当てた50以上の多様なソフトウェアエンジニアリングプロジェクトに貢献することにつながりました。私の継続的な好奇心は、私がさらに探究したい分野である自然言語処理にも私を引き寄せました。