混合精度の変換を自動化し
必要な箇所だけを計算する
ではそのDynamic Executionとはなにか? というのが下の画像だ。ポイントはControl Flow(複数のサブセットを常に用意しておき、なにをどのタイミングで実行するかを自由に制御できる)と、Sparse Compute(疎のデータセットを与えられたときに、必要な箇所だけを計算する仕組み)が実装されることだ。
またAIにおいては、必ずしも全ステージで同じ精度である必要はない。なので、混合精度での演算であることが多いのだが、既存のプロセッサーでは精度の変換を一度かける必要があるので、これを自動化できると効率があがる。
そしてデータの自動圧縮/解凍は、そうした機能を持つプロセッサー(というかアクセラレーター)は実際に存在するが、これからはこうしたものが必要になるという話である。
ここで2つ目のSparce Compute。密行列の処理の場合、処理回数は行列の大きさの3乗に比例する。ところが、どれか1つでも疎があった場合、「必要な箇所だけ計算する」機能があれば大幅に性能が上がる、とする。
この「必要な箇所だけ計算する」機能は、さまざまなアプリケーションで利用可能である一方で、「どの程度の単位で必要/不要を見極めて判断するか」がアプリケーションによって異なるので、サイズも自動調整できることが望ましい。
これらは当然ながらソフトウェアでやっていたらむしろオーバーヘッドが増えるので、全部ハードウェアで行なわないと意味がないことになる。
パケットプロセッサーのTensixで
2Dトーラス構造のNoCを構成
こうした目的に対してTenstorrentは、Tensixと呼ばれる演算エレメントを最小単位とし、これを複数個組み合わせる形である。
このTensixは内部にConditional Executionの仕組みを持っているようで、BERT(Bidirectional Encoder Representations from Transformers:自然言語処理モデルにおける機械学習のトレーニング手法の1つ)のようなケースでも効率的に処理が可能としている。
またこのBERTの場合、「どこから次の文節が始まるか」を予め分析して、分解して文節を与える必要があるが、これをTensixは動的に切り替えできるとする。
そのTensix、中身は一種のパケットプロセッサーである。入力されたパケットに対して所定の処理をして結果を送り出すだけという、ある意味これもDataflow的な動作をする。
さらにその中身は、5つのRISCコアが制御用に動き、これが4TOPSで動くCompute Engine(これはいわばアクセラレーター的に動作するのだろう)とPacket Processing Engine(これはパケット処理のみ)をそれぞれ扱う形になるとする。
各々のTensixはネットワークで接続される格好になっている。
この連載の記事
-
第775回
PC
安定した転送速度を確保できたSCSI 消え去ったI/F史 -
第774回
PC
日本の半導体メーカーが開発協力に名乗りを上げた次世代Esperanto ET-SoC AIプロセッサーの昨今 -
第773回
PC
Sound Blasterが普及に大きく貢献したGame Port 消え去ったI/F史 -
第772回
PC
スーパーコンピューターの系譜 本格稼働で大きく性能を伸ばしたAuroraだが世界一には届かなかった -
第771回
PC
277もの特許を使用して標準化した高速シリアルバスIEEE 1394 消え去ったI/F史 -
第770回
PC
キーボードとマウスをつなぐDINおよびPS/2コネクター 消え去ったI/F史 -
第769回
PC
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史 -
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ - この連載の一覧へ