LLMハードウェアアクセラレーション: 総合調査と比較
(arxiv.org)ハードウェアアクセラレーションされたLLM: 総合調査と比較
- LLMは自然言語処理タスクにおける強力なツールとして登場し、人間のようなテキストを理解・生成する能力によってこの分野に革新をもたらしている
- 本論文では、ハードウェアアクセラレータを用いて大規模言語モデル向けのトランスフォーマーネットワークを高速化するための複数の研究の取り組みを包括的に調査している
フレームワークと比較
- 提案されたフレームワークを紹介し、技術、処理プラットフォーム(FPGA、ASIC、インメモリ、GPU)、高速化、エネルギー効率、性能(GOPs)、エネルギー効率(GOPs/W)について質的および量的比較を行っている
- 主な課題は、各提案スキームが異なるプロセス技術で実装されているため、公平な比較が難しい点にある
- 本論文の主な貢献は、同一技術における性能とエネルギー効率の結果を推定し、公平な比較を可能にすることにある
実験と結果
- 複数のFPGAチップにLLMの一部を実装し、同一プロセス技術での結果を推定して性能を公平に比較している
GN⁺の要約
- 本論文は、大規模言語モデル(LLM)のハードウェアアクセラレーションに関する包括的な調査を提供している
- さまざまな処理プラットフォームにおける性能とエネルギー効率を比較し、公平な比較を可能にしている
- FPGAチップを用いた実験により、同一技術での結果を推定している
- 自然言語処理分野でLLMの性能向上に関心のある人にとって有用である可能性がある
- 類似した機能を持つ他のプロジェクトとして、NVIDIAのGPUアクセラレータやGoogleのTPUがある
1件のコメント
Hacker Newsの意見
この論文は背景説明が浅いので文脈を補うと、1990年代初頭から CPUの演算性能(FLOPs) はメモリ帯域幅よりも速く向上するという観察があり、1995年にWilliam WulfとSally Mckeeは、この差がほとんどの計算を算術演算ではなくデータアクセスが妨げる メモリウォール につながると予測した。
過去20年間でサーバーハードウェアの最大FLOPSは2年ごとに3倍ずつ増えたが、DRAMとインターコネクト帯域幅はそれぞれ1.6倍、1.4倍程度の増加にとどまった。
そのためLLMの学習と推論では、性能のボトルネックがますますメモリ帯域幅へ移っており、特に自己回帰Transformerデコーダーモデルでは支配的なボトルネックになり得る。
この流れがCompute-in-memory(CIM)、processing-in-memory(PIM)のような技術需要を生んでいる。データを先にCPUレジスタへ移さず、メモリ内のデータ上で直接演算するハードウェアなので、レイテンシと消費電力を減らし、メモリウォールを回避できる可能性がある。
論文ではASICとFPGAハードウェアを異なる半導体プロセスサイズ間で比較するため、多項式フィッティングで16nm基準まで外挿している:「Aaron StillmakerとB. Baasの『Scaling equations for the accurate prediction of CMOS device performance from 180 nm to 7nm』に基づき、公平な比較のため16nm技術での性能とエネルギー効率を外挿した」
しかしCIM/PIMについては「インメモリアクセラレータの性能はプロセス技術のみに基づくものではないため、プロセス技術がシステム性能に大きく影響するFPGAおよびASICアクセラレータに対してのみ外挿を行った」として外挿していない。一見すると奇妙な判断に感じられ、この決定についてさらに説明できる人がいそうだ。
追加の読み物: https://arxiv.org/abs/2403.14123, https://en.m.wikipedia.org/wiki/In-memory_processing, http://vcl.ece.ucdavis.edu/pubs/2017.02.VLSIintegration.Tech...
それでも RAMモジュール形態 で入り、価格が安い製品は気に入っている。そういうものを1Uボードに大量に挿して高速インターコネクトで束ねたり、あるいはPCIカードにぎっしり詰め込む図も想像できる。
PCI-e V4はあまりに早く通り過ぎたので寿命は2年ほどしかなかったように思えるし、NVMeOFはファブリック性能とともにうまくスケールしてきた。現在のH100 DGXには400GB/sのインターコネクトがある。
「AIモデルの急激な成長は、演算性能とメモリ帯域幅の間の格差拡大によって制約されている。GPT-5のような次世代モデルは前例のない3〜5兆パラメータ規模に達すると予想されるが、メモリ帯域幅という技術的ボトルネックが、その潜在能力を完全に実現するうえで重要な障害となっている」
https://www.lycee.ai/blog/2024-09-04-samsung-memory-bottlene...
昔から シストリックアレイ が好きで、過去数十年にわたってさまざまな選択肢を見てきた結果、セルのデカルト格子が最適解だと考えている。
各セルは、隣接セルから1つずつ来る4つの入力ビットと、隣接セルへ1つずつ出ていく4つの出力ビットを持つ。中央には長いスキャンチェーンの64ビットシフトレジスタがあり、その出力は4つの16:1マルチプレクサと4ビットラッチに入る。
グラフ彩色の魔法を使い、チェッカーボードパターンで全セルにクロックを与えると、データは特定方向に偏らず、競合条件なしにどの方向へも流れられる。どのセルの入力も安定した状態になる。
この方式はFPGAの柔軟性を与えつつ、タイミング問題、競合条件、グリッチなどを心配しなくてよい。配線もすべて短いので、すべてが局所的で高速、低消費電力になる。
その代わり、ゲート効率が良いわけでも、論理の最短経路を提供するわけでもない。すべての単一演算は事実上並列に起こり、すべての計算はパイプライン化される。
1982年ごろから持っていたアイデアで、誰かが引き継いでちゃんと作ってくれるといいと思っている。名前は BitGrid と呼んでいる。
関連資料: https://arxiv.org/pdf/2406.08413
Memory Is All You Need: An Overview of Compute-in-Memory Architectures for Accelerating Large Language Model Inference
すべてがテクスチャである WebGL でLLMが動くところを見てみたい。アーキテクチャの違いを視覚的に見ると、かなり面白そうだ。
最近のボトルネックは メモリ移動 で、それゆえHBMは高価だ。Nvidiaの設計もチップレベルとシステムレベルの両方で、本当のボトルネックであるメモリに合わせて最適化されている。
実際にはあまり見かけない。
FPGA + ASIC + インメモリのハイブリッドアーキテクチャは、拡張性と柔軟性の面で役割を果たせるだろうか? FPGAには柔軟性、ASICには性能、インメモリにはエネルギー効率というそれぞれの強みがあるので、これらを統合したハイブリッドアプローチでLLMの性能をさらに引き上げられるのかも気になる
インメモリは性能面だけでなく、方向性としても正しそうに見える。運が良くても数か月後には旧式になる可能性が高いモデルのために ASICを作ったりFPGAをプログラミングしたり するのは、あまり理にかなっていない
電球1個程度の電力でLLMを実行するという論文があった
https://arxiv.org/abs/2406.02528
https://news.ucsc.edu/2024/06/matmul-free-llm.html
要点は、行列乗算を避けるために2つの手法を使うこと。第一に、行列内のすべての数値を -1、0、+1 の3値だけを取る三値に強制し、乗算を加算に置き換える。第二に、すべての要素を一つひとつ掛け合わせるのではなく、行列を重ね合わせたうえで重要な演算だけを行う
研究チームはモデル学習に時間ベースの計算を導入してニューラルネットワークの性能を維持し、これによりネットワークが処理する重要な情報に対する「記憶」を持つようになり、性能が向上するとしている
標準GPUではメモリ使用量が約10分の1に減り、速度は約25%速くなった。また、スマートフォンのようなメモリの少ないデバイスでもアルゴリズムを最大容量で実行する道を提供できる。3週間で作ったFPGAプロトタイプは13Wの電力だけで人間が読める処理量を超え、GPUなら約700Wが必要なため、カスタムハードウェアはGPUより50倍以上効率的だったという
ここで言う インメモリ が、CPUとRAMを組み合わせた特殊なハードウェアを意味するのかはよく分からない
DRAM + GPU比で19倍の改善を示した以前のアクセラレーション論文を引用すると、「MAC演算は多くの機械学習タスクの実行時間で支配的な部分を占めるため、サブアレイ内乗算とバンク内累算を提案する。乗算は列ベース方式でAND演算と加算を行って処理し、面積オーバーヘッドは1%未満しか追加されない」
https://arxiv.org/pdf/2105.03736
Arxivのコンテンツをもう少し読みやすく見る方法はある?
あのサイトに行くたびに、インターフェースが存在するのかどうかさえ分からなくなって迷子になり、たいてい本文までたどり着けずに出てしまう
個別の論文についてはこれがいちばん良い方法で、https://arxiv-sanity-lite.com/ のようなArxivフロントエンドもいくつかある