混合精度の変換を自動化し
必要な箇所だけを計算する
ではその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つ)のようなケースでも効率的に処理が可能としている。

従来のモデルでは、シーケンスの最大長一杯にデータを詰め込んで処理しないと効率が悪い(のでPaddingという処理が発生していた)が、Tensixでは最大長まで詰めなくても変わらないスピードで処理できるので、結果的に高速になる
またこのBERTの場合、「どこから次の文節が始まるか」を予め分析して、分解して文節を与える必要があるが、これをTensixは動的に切り替えできるとする。
そのTensix、中身は一種のパケットプロセッサーである。入力されたパケットに対して所定の処理をして結果を送り出すだけという、ある意味これもDataflow的な動作をする。

一種のパケットプロセッサーであるTensix。図にはCompute Engineが4TOPSとあるのに、処理性能が~3TOPSというのは、カタログのピーク性能は4TOPS、実効3TOPSの意味だろうか?
さらにその中身は、5つのRISCコアが制御用に動き、これが4TOPSで動くCompute Engine(これはいわばアクセラレーター的に動作するのだろう)とPacket Processing Engine(これはパケット処理のみ)をそれぞれ扱う形になるとする。

5つのRISCコアがそれぞれアプリケーションコードを1スレッドずつ動かす格好で、そこからPacket Processing EngineとCompute Engineを呼び出す格好になるのだろうか? このCompute Engineの詳細がもう少しわからないと今一つ中身ははっきりしない
各々のTensixはネットワークで接続される格好になっている。

この連載の記事
-
第811回
PC
Panther Lakeを2025年後半、Nova Lakeを2026年に投入 インテル CPUロードマップ -
第810回
PC
2nmプロセスのN2がTSMCで今年量産開始 IEDM 2024レポート -
第809回
PC
銅配線をルテニウム配線に変えると抵抗を25%削減できる IEDM 2024レポート -
第808回
PC
酸化ハフニウム(HfO2)でフィンをカバーすると性能が改善、TMD半導体の実現に近づく IEDM 2024レポート -
第807回
PC
Core Ultra 200H/U/Sをあえて組み込み向けに投入するのはあの強敵に対抗するため インテル CPUロードマップ -
第806回
PC
トランジスタ最先端! RibbonFETに最適なゲート長とフィン厚が判明 IEDM 2024レポート -
第805回
PC
1万5000以上のチップレットを数分で構築する新技法SLTは従来比で100倍以上早い! IEDM 2024レポート -
第804回
PC
AI向けシステムの課題は電力とメモリーの膨大な消費量 IEDM 2024レポート -
第803回
PC
トランジスタの当面の目標は電圧を0.3V未満に抑えつつ動作効率を5倍以上に引き上げること IEDM 2024レポート -
第802回
PC
16年間に渡り不可欠な存在であったISA Bus 消え去ったI/F史 -
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ