このページの本文へ

前へ 1 2 3 次へ

ロードマップでわかる!当世プロセッサー事情 第591回

スタートアップ企業のMythicが実現した超低消費電力AIプロセッサー AIプロセッサーの昨今

2020年11月30日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

タイル同士を2次元のメッシュネットワークに接続し
複数のタイルを並行して稼働させる

 実際IPUの初期バージョンは50M個のWeightを扱えるようになっているが、最大で250M個まで扱いを増やせる。前掲の画像でもMatrix Multiplying Memoryが複数バンクあるように描かれているが、このバンクを増やせばいいからだ。実際M1108では最大113M個のWeightを格納可能としている。

Matrix Multiplying Tileは全部で108個なので、1Tileあたり1M個ちょいのWeightを格納できることになる

 もちろんこの方式の場合、Matrix Multiplying Memoryでは畳み込み演算「しか」できない計算になるので、アクティベーションなどのために別の処理が必要だが、それはStreaming ALUという専用エンジンが用意され、他に制御用にRISC-VコアがそれぞれのMatrix Multiplying Tileにひとつづつ格納されている。

WeightそのものはすでにMatrix Multiplying Memory(ここでの表現ではLocal Accelerator Interfaceの先に存在する)に格納されているので、稼働中のネットワークは純粋にデータだけをやり取りすればいい。それもあって64bit/cycle/link程度のリンクになっている

 このタイル同士は2次元のメッシュネットワークに接続されており近傍タイルと通信ができるのだが、どのタイルにどんな処理を割り当て、というのはグラフベースで解析(この解析ツール自体はもちろんMythicから提供される)することで、複数のタイルを並行して稼働させることでボトルネックを大幅に減らすことが可能になる。

ResNet-18だと30タイル程度で処理できる。ResNet-50でもおそらく70タイル弱。AlexNetあたりまでは現在の108タイルでぎりぎりカバーできると思われる

 さて先ほどの話になるが、個々のタイルは完全に独立(非同期)で動作しており、例えば先の画像で言えば、Tile 2_1の処理が終わったらその結果がリンク経由でTile 2_2に渡され、Tile 2_2はそのデータが来たことを受けて処理をスタートする。

 これは完全にDataflow Architectureであり、また重みの記憶素子(フラッシュメモリー)がそのまま演算する形になるため、In-Memory Computingという条件を満たしている。そしてオームの法則(乗算)とキルヒホッフの法則(加算)を利用したAnalog Computingというわけだ。

 そして、推論のデータそのものは移動が必要だが、重みに関しては一度ロードしたらその後ロードの必要がないため、重みの移動そのものに要する電力は0である。

 おまけに演算そのものの消費電力が極めて少ない(加算はともかく乗算はそれなりに電力を喰うが、これが事実上0に近い)から、きわめて省電力である。それでいて、最大でメモリーセルの数だけ同時に演算ができるから、メモリーセルの数に比例して演算性能が上がることになる。省電力と高性能をうまく両立できたわけだ。

 実際の性能で言えば、そのM1108ベースのアクセラレーターはEETimesの記事によればResNet-50(224×224pixel、batch size=1)で870fps、Yolo v3(608×608pixel、batch size=1)で60fpsを実現できたとしている。まだ今後のビジネスがどうなっていくのかを語るには時期尚早ではあるのだが、なかなかおもしろそうな製品と言えよう。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン