AI アクセラレータと、大規模言語モデル (LLM) の展開に対するその影響について調査します。
このシリーズの投稿:
大規模言語モデル (LLM) 推論最適化入門: 2. 人工知能 (AI) アクセラレータの概要(この投稿)
前回の投稿では、高レイテンシ、集中的なリソース消費、スケーラビリティの問題など、大規模言語モデル (LLM) 推論の課題について説明しました。これらの問題に効果的に対処するには、適切なハードウェア サポートが必要になることがよくあります。この投稿では、AI アクセラレータ (LLM 推論を含む AI ワークロードのパフォーマンスを向上させるために設計された特殊なハードウェア) について詳しく説明し、そのアーキテクチャ、主要なタイプ、大規模な LLM の導入への影響について説明します。
OpenAI や Google などの企業が、数百万のユーザーに同時にサービスを提供する大規模な言語モデルをどうやって実行しているのか疑問に思ったことはありませんか。その秘密は AI アクセラレータと呼ばれる特殊なハードウェアにあります。従来の CPU は汎用タスクを適切に処理しますが、AI ワークロードの要求に合わせて最適化されていません。対照的に、AI アクセラレータは AI タスク専用に構築されており、高速データ アクセス、並列処理機能、低精度演算のサポートを提供します。計算を AI アクセラレータに移行することで、組織はパフォーマンスを大幅に向上させ、コストを削減できます。特に LLM などの複雑なモデルを実行する場合に有効です。一般的な AI アクセラレータの種類と、これらのワークロードに対する独自の利点について見ていきましょう。
AI アクセラレータにはいくつかの形式があり、それぞれ特定の AI タスクと環境に合わせてカスタマイズされています。主な 3 つのタイプは GPU、TPU、FPGA/ASIC で、それぞれ独自の機能と利点があります。
もともとグラフィックス レンダリング用に開発された GPU は、並列処理機能により、ディープラーニング タスクの強力なツールになりました。そのアーキテクチャは、LLM 推論などのタスクに不可欠な高スループットの行列計算に適しています。GPU は、大規模なトレーニングや推論を行うデータ センターで特に人気があります。NVIDIA Tesla、AMD Radeon、Intel Xe などの GPU は、クラウド環境とオンプレミス環境の両方で広く使用されています。
Google は、TensorFlow ベースのトレーニングと推論に最適化したディープラーニング ワークロード専用の TPU を開発しました。TPU は大規模な AI タスクを効率的に加速するように設計されており、検索や翻訳など、Google の多くのアプリケーションで活用されています。Google Cloud を通じて利用できる TPU は、トレーニングと推論の両方で高いパフォーマンスを発揮するため、TensorFlow ユーザーにとって最適な選択肢となっています。
FPGA と ASIC は、特定の AI タスクをサポートするカスタマイズ可能なアクセラレータの 2 つの異なるタイプです。FPGA は再プログラム可能で、さまざまな AI モデルやアプリケーションに適応できます。一方、ASIC は特定のタスク専用に設計されており、それらのワークロードの効率を最大限に高めます。どちらのタイプも、低レイテンシと高スループットが重要なデータ センターやエッジで使用されます。例としては、Intel Arria と Xilinx Alveo (FPGA)、Google の Edge TPU (ASIC) などがあります。
CPU と AI アクセラレータのアーキテクチャはそれぞれ異なるため、さまざまな種類のワークロードに適しています。最も重要な機能のいくつかを比較すると次のようになります。
参考文献: David B. Kirk と Wen-mei W. Hwu 著『超並列プロセッサプログラミング』[1]
CPU ではコア数が少なく (4 ~ 8)、低レイテンシと高いシングルスレッド パフォーマンス向けに設計が最適化されていることに注意してください。対照的に、GPU には数千のコアがあり、高スループットと並列処理向けに最適化されています。この並列処理機能により、GPU は大規模な AI ワークロードを効率的に処理できます。
AI アクセラレータは、LLM 推論などの大規模な AI ワークロードの処理に最適ないくつかの機能を備えて構築されています。主な機能は次のとおりです。
AI アクセラレータは、数千のコアを備えたアーキテクチャにより、大規模な並列処理向けに設計されています。この並列処理により、LLM 推論に必要な集中的な行列計算を効率的に処理できます。多くのアクセラレータには、行列乗算などのテンソル演算に最適化された特殊なテンソル コアも含まれています。これらの機能により、AI アクセラレータは、大規模な LLM タスクを処理する際に CPU よりも大幅に高速になります。
参考文献: Youngsuk Park 他著「AI アクセラレータ上の基盤モデルの推論最適化」
アクセラレータには高帯域幅を可能にする特殊なメモリが搭載されており、最小限のレイテンシで大規模なデータセットやモデル パラメータにアクセスできます。この機能は、入力テキストやモデル パラメータをロードするために頻繁なデータ アクセスが必要な LLM 推論に不可欠です。高帯域幅メモリにより、データ取得のボトルネックが軽減され、レイテンシが短縮され、パフォーマンスが向上します。
AI アクセラレータには高速インターコネクトが装備されており、マルチデバイス セットアップ内での高速データ転送を容易にします。これは、アクセラレータが効率的に通信してデータを共有する必要がある複数のデバイス間で LLM 推論をスケーリングする場合に特に重要です。高いインターコネクト帯域幅により、大規模なデータセットをデバイス間で分割し、ボトルネックを生じさせることなく同時に処理できます。
AI アクセラレータのもう 1 つの利点は、8 ビット整数や 16 ビット浮動小数点計算などの低精度演算をサポートしていることです。これにより、メモリ使用量とエネルギー消費が削減され、AI タスクの効率が向上します。LLM 推論の場合、低精度計算により、ほとんどのアプリケーションで十分な精度を維持しながら、処理が高速化されます。AI アクセラレータには、非常に豊富なデータ型の選択肢があります。
参考文献: Youngsuk Park 他著「AI アクセラレータ上の基盤モデルの推論最適化」
ほとんどの AI アクセラレータには、NVIDIA GPU 用の cuDNN や Google TPU 用の XLA など、一般的な AI フレームワーク向けに最適化されたライブラリが付属しています。これらのライブラリは、一般的な AI 操作を実行するための高レベル API を提供し、LLM 専用の最適化も含まれています。これらのライブラリを使用すると、モデルの開発、展開、推論の最適化を高速化できます。
AI アクセラレータは拡張性が高く、クラスターやデータ センターに導入して大規模なワークロードを効率的に処理できます。また、エネルギー効率に優れ、同等のタスクを CPU よりも少ない電力で実行できるように設計されているため、大規模な LLM 推論などの計算集約型アプリケーションに最適です。この効率性により、大規模な AI モデルの実行にかかる運用コストと環境への影響の両方を削減できます。
LLM 推論用の AI アクセラレータの効率を最大化するために、さまざまな種類の並列処理技術が採用されています。
データ並列処理では、入力データを複数のバッチに分割し、各バッチを並列処理します。これは、ディープラーニングのトレーニングや推論など、大規模なデータセットを伴う AI ワークロードに役立ちます。データを複数のデバイスに分散することで、AI アクセラレータはワークロードをより速く処理し、全体的なパフォーマンスを向上させることができます。LLM 推論におけるデータ並列処理の例としては、入力テキストをバッチに分割し、各バッチを別のアクセラレータで処理することが挙げられます。
モデル並列処理では、AI モデルのコンポーネントを複数のデバイスに分割し、異なるモデル部分の並列処理を可能にします。このアプローチは、単一デバイスのメモリ容量を超える、または効率的な処理のために分散コンピューティングを必要とする大規模な AI モデルにとって特に重要です。モデル並列処理は、モデル サイズが大きな制約となる大規模言語モデル (LLM) やその他のディープラーニング アーキテクチャで広く使用されています。
モデルの並列処理は、主に 2 つの方法で実装できます。
レイヤー内並列処理 (テンソル並列処理) : 個々のレイヤーまたはコンポーネントはデバイス間で分割され、各デバイスは同じレイヤー内の計算の一部を処理します。たとえば、トランスフォーマー モデルでは、アテンション ヘッドまたはフィードフォワード ネットワーク レイヤーを複数のデバイスに分散できます。このアプローチでは、デバイスはレイヤー境界でのみ同期する必要があるため、通信オーバーヘッドが最小限に抑えられます。
レイヤー間並列処理 (パイプライン並列処理) : レイヤーの連続グループがデバイス間に分散され、計算のパイプラインが作成されます。各デバイスは割り当てられたレイヤーを処理してから、結果をパイプライン内の次のデバイスに渡します。このアプローチはディープ ネットワークに特に効果的ですが、パイプラインの遅延が発生します。
タスク並列処理では、AI ワークロードを複数のタスクに分割し、各タスクを並列処理します。これは、自動運転など、複数の独立したタスクを伴う AI ワークロードに役立ちます。タスクを並列処理することで、AI アクセラレータは複雑なタスクを完了するのにかかる時間を短縮し、全体的なパフォーマンスを向上させることができます。タスク並列処理は、物体検出やビデオ分析などのタスクの AI アクセラレータでよく使用されます。
700 億のパラメータを持つ LLM がテキスト入力のバッチを処理する場合を考えてみましょう。
AI アクセラレータは、多くの場合、メイン CPU と連携して、負荷の高い計算タスクの負荷を軽減します。メイン CPU は汎用タスクを担当し、AI アクセラレータは負荷の高い計算タスクを担当します。これは通常、コプロセッシングと呼ばれます。以下は、AI アクセラレータがメイン CPU と連携して動作する様子を示す簡単な図です。以下は、コプロセッシングの簡単な用語です。
AIワークロードの複雑さと規模が拡大するにつれて、AIアクセラレータは現代のアプリケーションの需要を満たすために進化しています。AIアクセラレータの将来を形作るいくつかの重要なトレンド[3]は次のとおりです。
Graphcore によって開発された IPU は、複雑な機械学習タスクを高効率で処理できるように設計されています。そのアーキテクチャは並列処理に重点を置いており、大規模な AI ワークロードに適しています。
SambaNova Systems が開発した RDU は、プロセッサ内のデータ フローを動的に最適化することで AI ワークロードを高速化するように設計されています。このアプローチにより、LLM 推論などのタスクのパフォーマンスと効率が向上します。
NPU はディープラーニングとニューラル ネットワーク タスクに特化しており、AI ワークロードに合わせた効率的なデータ処理を提供します。デバイス上で AI 機能を必要とするデバイスにますます統合されています。
この記事では、LLM 推論を含む AI ワークロードのパフォーマンスを向上させる AI アクセラレータの役割について説明しました。アクセラレータの並列処理機能、高速メモリ、低精度演算を活用することで、組織は LLM を大規模に導入する際に大幅なパフォーマンス向上とコスト削減を実現できます。AI アクセラレータの主な機能と種類を理解することは、LLM 推論を最適化し、大規模な AI 導入で効率的なリソース利用を確保する上で不可欠です。次の記事では、AI アクセラレータを使用して LLM を大規模に導入するためのシステム最適化手法について説明します。