Tenstorrent Grayskull上のSRAMを活用したAttention高速化(Attention in SRAM on Tenstorrent Grayskull)

田中専務

拓海先生、最近うちの若手が「Attentionの処理を速くできるハードがある」と騒いでましてね。正直、何がどう変わるのか分からなくて困っています。要するに、うちの工場で役に立つんですか?

AIメンター拓海

素晴らしい着眼点ですね!大丈夫、短く整理しますよ。結論から言うと、この研究は「SRAM(SRAM、静的ランダムアクセスメモリ)を最大限に使ってTransformerのAttention演算を速くする」話です。工場の需要予測や品質検査のモデルが速くなる可能性が高いです。

田中専務

うーん、SRAMとDRAMの違いなら聞いたことがありますが、具体的に何が速くなるんでしょうか。コストはどうなんです?投資対効果が気になります。

AIメンター拓海

大丈夫、一緒に整理できますよ。ポイントは三つです。第一に、SRAMはDRAMよりアクセスが速くレイテンシが低いため、頻繁に読み書きする処理で有利です。第二に、Attention演算の中でSoftmax(Softmax、ソフトマックス)に相当する部分が特にメモリ帯域に依存しているため、SRAMに収めると動作が速くなります。第三に、論文は処理をひとつにまとめる”fused kernel”を提案して、カーネル呼び出しやデータ移動のオーバーヘッドを減らしています。

田中専務

これって要するに、計算機の”台数”や”周波数”を上げるよりも、データの出し入れを減らして手元の高速メモリに置く工夫をした、ということですか?

AIメンター拓海

まさにその通りです!素晴らしい着眼点ですね。分かりやすく言えば、倉庫(DRAM)から何度も物を取り出すのをやめて、工場ライン(SRAM)に必要なものをまとまて置いて作業効率を上げるイメージです。これにより実効の高速化とコスト効率が期待できますよ。

田中専務

なるほど。もっと実務的な話を聞かせてください。いま一般的に使われるGPU(GPU、Graphics Processing Unit)とは何が違いますか。うちで導入検討する際、どこを見れば良いのですか。

AIメンター拓海

良い質問です。ポイントは三つ確認しましょう。第一に、ハードウェアごとのメモリ階層と容量、特にSRAMやHBM(High Bandwidth Memory、ハイバンド幅メモリ)の容量差を見ること。第二に、モデルのどの演算がボトルネックかを把握すること。論文ではSoftmaxがボトルネックでした。第三に、ソフトウェア面でカーネルをまとめられるか、すなわち実装の柔軟性です。これらが整えば投資対効果が見えますよ。

田中専務

ソフトウェアの柔軟性というのは、うちのエンジニアが触れるかどうか、という意味でしょうか。それができなければ機材だけ増やしても宝の持ち腐れになりませんか。

AIメンター拓海

おっしゃる通りです。研究では実装コードを公開しており、fused kernelや専用のSoftmaxカーネルを参考にできます。ただし社内で扱うにはエンジニアの学習やベンダー支援が必要です。まずは小さなモデルやパイロット用途で効果を測るのが現実的ですよ。大丈夫、一緒にやれば必ずできますよ。

田中専務

分かりました。最後にもう一度だけ確認させてください。要するにこの論文が言っているのは「より多くの高速メモリを使い、Attentionの中でも特にメモリが効く部分をSRAMに収めることで、既存のGPUに比べてコスト効率よく高速化できる」ということですか。

AIメンター拓海

その通りです!短くて的確なまとめですね。要点は三つです。SRAMを活かすことでメモリ移動を減らすこと、AttentionのSoftmaxがボトルネックである点、そしてfused kernelでオーバーヘッドを削減して実効性能を上げている点です。よく理解されていますよ。

田中専務

では私の言葉でまとめます。要するに、倉庫の往復作業を減らしてラインに材料を置いて作業効率を上げるように、SRAM上でAttentionの重い部分を処理すれば、コストの安い別の機器でも実務的な速度向上が見込めるということですね。まずは小さく試して効果を数字で示せば、社内の説得材料になりそうです。

1.概要と位置づけ

結論から述べる。本稿で扱う研究は、Transformerにおける自己注意(Self-Attention)の計算を、より高速なオンチップメモリであるSRAM(SRAM、静的ランダムアクセスメモリ)上で完結させることで、従来のメインストリームなGPUベースの実装に比べて実効速度とコスト効率の改善を狙ったものである。特に注意重みの計算で支配的なコストを占めるSoftmax(Softmax、ソフトマックス)処理をSRAMに収める専用カーネルと、行列乗算・スケーリング・Softmaxを融合したfused kernelを示し、キャッシュやメモリ移動の低減による速度向上を実証している。

背景として、近年のAI処理は計算量だけでなくメモリ移動の効率が性能を支配するようになった。高価なGPUは高帯域なHBM(High Bandwidth Memory、ハイバンド幅メモリ)を搭載するが、SRAMを豊富に持つ別設計ではより安価にオンチップでのデータ滞在を実現できる。本研究はその設計思想を実アーキテクチャで検証するものであり、AIワークロードのハードウェア設計に対して実務的示唆を与える。

実装対象はTenstorrent Grayskullというデータフロー型アーキテクチャに基づくカードであり、複数のTensixコアとチップ内ネットワーク(Network-on-Chip、NoC)で構成される。各コアが大容量のSRAMを持ち、タイル単位での演算を得意とする点が本研究の基盤である。この点から、従来のGPU実装におけるメモリボトルネックと異なる改善余地が生まれている。

要するに本研究は、ハードウェアのメモリ階層を意識したソフトウェア最適化により、既存のモデルや推論パイプラインに対してコスト効率の高い高速化戦略を示した点で意義がある。経営判断としては、モデルの特性とハードウェアのメモリ構成を照らし合わせることで投資対象の優先順位が定まるだろう。

2.先行研究との差別化ポイント

過去の取り組みでは、Attentionの高速化は主にGPU上でのメモリ効率化やアルゴリズム改良に注力されてきた。代表例として、GPUの高帯域メモリとL1/L2キャッシュを活用してAttentionスコアの移動を削減するアルゴリズムが提案されてきた。これらはメモリ階層がGPU向けに設計されていることを前提としており、ハードウェア依存の最適化が中心である。

本研究の差別化点は、ハードウェアアーキテクチャ自体がSRAMを大量に保持するTenstorrent Grayskullの特性に着目し、SRAM上で完結するカーネルを設計した点にある。つまり、単なるアルゴリズム改良にとどまらず、ハードとソフトの協調でデータ移動の根本問題に対処している。

さらに、本稿は二種類の最適化を示す。一つは専用のSoftmaxカーネルであり、これはAttention重み計算における最も時間を要する部分を直接高速化する。もう一つは行列乗算、スケーリング、Softmaxを一体化したfused kernelであり、カーネル間のデータ移動と呼び出しオーバーヘッドを削減することで、追加の性能改善を実現している点が独自である。

要点をまとめれば、従来研究はGPUの内部メモリ特性に最適化していたのに対し、本研究はSRAM中心のアーキテクチャを前提にソフトウェアを再設計し、ハードウェアの長所を直接活かす点で差別化されている。経営視点では、選定ハードのメモリ特性に応じたソフトウェア投資が重要であることを示している。

3.中核となる技術的要素

中核は三つに要約できる。第一に、大容量のSRAMを分散配置したTensixコア群とNoC(Network-on-Chip、チップ内ネットワーク)によるデータ移動の最適化である。各コアが32×32のタイル単位で演算を行い、データはバッファを介してSRAM内でやり取りされる。第二に、Softmaxの計算は数値的安定性と最大値削減のための追加メモリ操作を要し、従来はメモリ帯域に依存してボトルネックになりやすい。ここをSRAMに収めることで大量のメモリ移動を回避する。

第三に、fused kernelの設計哲学である。個別に行っていた行列積、スコアのスケーリング、Softmaxを一つの連続した実行にまとめることで、DRAMとSRAM間の入出力回数を減らす。これによりカーネル起動の遅延や中間データの書き戻しが減り、実効スループットが向上する。こうしたソフトウェア構成はハードのメモリトップologyを前提に最適化されている。

実装面では、研究は専用SoftmaxカーネルでCPU実装比で最大10倍の高速化、さらにfused kernel内のSoftmaxは別実装に比べ約1.8倍の改善を報告している。これらの数値はハードウェアとワークロードに依存するが、設計方針としてメモリ滞在を優先することが有効である点を示している。

4.有効性の検証方法と成果

検証は実機上でのカーネル性能比較を中心に行われた。基準としてCPU実装を使用し、専用Softmaxカーネルとfused kernelの実行時間を比較した。計測ではSoftmaxがAttention重み計算で最も時間を要していることが確認され、SRAM活用のボトルネック解消効果が明瞭に現れた。

具体的には、専用SoftmaxカーネルはCPUベースの実装に対して最大で約10倍の高速化を示した。さらに、行列乗算とSoftmax等を統合したfused kernelは、個別に実行するよりも内部でのデータ移動と呼び出しオーバーヘッドを低減し、結果として実効性能をさらに向上させた。論文はGrayskull e150の120MBのSRAM全体を活用する点を強調している。

ただし、これらの成果はワークロードとモデルサイズ、そしてハードウェア構成に依存する。すべてのモデルで同等の効果が得られるわけではなく、Attention中のSoftmaxが占める割合が高いタスクで特に恩恵が大きい。したがって導入前に小規模なプロトタイプで計測することが推奨される。

5.研究を巡る議論と課題

本研究の議論点は主に移植性と汎用性にある。SRAMを大量に持つアーキテクチャに依存する最適化は、他のハードウェアへそのまま移すことが難しい。つまり、投資判断としては自社の想定ワークロードがSRAM最適化の恩恵を受けるかを見極める必要がある。

また、ソフトウェア実装の複雑性も無視できない。fused kernelは高効率だが、実装・保守コストやエンジニアの学習コストが発生する。ベンダーやコミュニティのサポート状況、公開コードの品質を確認して導入計画を立てることが重要である。

数値的には良好な速度改善が示されているが、エコシステム(ツール、ライブラリ、運用慣行)が成熟しているかも判断基準となる。経営判断としては、性能向上の可能性と導入・運用コストを比較し、段階的に評価する方針が合理的である。

6.今後の調査・学習の方向性

今後は三つの方向で調査を進めるべきである。第一に、自社ワークロードでのプロトタイプ実測である。小さなモデルやバッチで効果を確認し、推論スループットやレイテンシの改善を数値化することが最優先だ。第二に、ソフトウェアの移植性評価であり、公開された実装(ソースコード)を参照して自社エンジニアで改修可能かを検討することだ。第三に、コスト試算である。機器コストだけでなくエンジニア学習コストや保守負担を含めたTCO(Total Cost of Ownership)で比較することが重要である。

検索に使える英語キーワードとしては、Attention, Softmax, SRAM, Tenstorrent Grayskull, fused kernel, Network-on-Chipを参照されたい。これらで原論文や関連実装、コミュニティ議論が追える。

会議で使えるフレーズ集

「このモデルのボトルネックはSoftmax部分であり、オンチップSRAMに収めることでメモリ移動を減らせる可能性がある。」

「fused kernelによりカーネル間のデータ移動と起動オーバーヘッドを削減できるため、小規模プロトで効果検証したい。」

「導入判断はハードウェアのメモリ階層と運用コストを合算したTCOで行うべきだ。」

M. Thüning, “Attention in SRAM on Tenstorrent Grayskull,” arXiv preprint arXiv:2407.13885v1, 2024.

AIBRプレミアム

関連する記事

AI Business Reviewをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む