このページの本文へ

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

AI推論向けのIPを販売するEdgeCortixは日本に本社がある AIプロセッサーの昨今

2021年12月20日 12時00分更新

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

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

DNAにある2つの演算ユニット
Convolution EngineとVector Engine

 では、もう少し細かい話をしていこう。下の画像がConvolution Engineの内部である。要するに畳み込み演算のみに特化した演算ユニットであり、中は複数のノードから構成される。

DataFlowとあるが、単に入力データが来なければ動かないという以上のものではないようにも思える。で、そこに入力データを入れる/入れないはソフトウェア側での作業となる模様だ

 このノードは要するに乗加算を行なう形になっており、Configuration(つまりいくつのノードを物理的に実装するか)は変更可能であるが、例えば32×32なら800MHz駆動で1.6TOPSだし、これを64×64にすれば6.4TOPS。そのエンジンを8つ並べれば52.4TOPS相当になるわけだ。

 その個々のConvolution Engineの中身が下の画像だ。こちらの構成も、実はいろいろ構成可能であって、この図では6ライン分の3-wide Pipelineが2つある格好だが、このライン数やエンジンの数なども細かく変更できるのはIPベースだからで、このあたりはアプリケーション要件に応じて変更できる。

ただこれもよく見るとそんなに特異な構造ではない

 もちろん「では一番汎用的に使えるのはどんな構成?」という疑問はあるわけだが、それはEdgeCortixとご相談という話になるのだろう。

 これともう1つあるのがVector Engineである。これはプーリングとアクティベーション、スケーリング(クォンタイゼーション)の機能を搭載したもので、いわゆるベクトル演算的なSIMDエンジンを想像するとやや外れることになる。

ネットワークは段々収束していくわけで、最初の層にあわせてインターコネクトを設計すると、後の層ではインターコネクトが余るし、逆に後ろの層にあわせて設計すると前の層ではインターコネクトがボトルネックになる。なのでここをReconfigurableにするのは合理的ではある

 それよりおもしろいのは、ここにシーケンサーが搭載されることだ。通常こうしたアクセラレーターの場合、それほど高速でない汎用CPUを搭載することが多い。Armで言えばCortex-A55クラスの「性能は高くないが省電力のインオーダー」プロセッサーである。

 前回のEspelantoのET-SoC-1ならET-Minionベースと思われるRISC-V CPUが搭載されていた。要するに、処理に応じて処理データなりWeightデータなりをそれぞれロードしたり、あるいは演算結果をホストに返すといった処理がメインであり、こうした処理のために汎用プロセッサーが利用されるというわけだ。

 これに対してシーケンサーは、処理だけ見ているとCPUに近いものではあるが「あらかじめ決められたことを、決められた順番で実施する」だけの機能しかないあたりがCPUとは異なる。

 要するに、パラメーターに応じて内部で条件分岐をしながら処理する、というようなことはシーケンサーには不可能である。その代わり、CPUよりも小さな規模で実装が可能であり、また処理性能そのものはCPUよりもずっと高速に行なえる。

 したがって、それこそConvolution Engineから渡されたデータをPooling Engineに渡して実行を待ち、その結果をホストに送り出すという処理はCPUよりも効率的にできる。ただ逆に言えば柔軟性はまったくないので、もう少し凝ったことをしたければ別にCPUが必要になるのだが、どうもDNAコアではそうした作業は全部ホスト側に渡すつもりらしい。

 DNA IPの概要を示す記事冒頭の画像を見たときに“Instruction-DMA Engine”という表記を見て、キャッシュも持たずにDMA Engineだけが配されていることに違和感を感じたのだが、これはホスト側からAXI経由でシーケンサー用の処理コードをDMAで流し込むという動作を想定していたようだ。なかなか激しい割り切り方である。

チップの消費電力やコストの削減に効果的な
Reconfigurabilityという手法

 演算ユニットはConvlution EngineなりVector Engineなりを大量に搭載すればとりあえずピーク性能は上がるわけだが、実効性能をどうやって引き上げるか? というのが次の話だ。

 ここで登場するのがReconfigurabilityである。プロセッサーの演算ユニットそのものをダイナミックかつ短時間(1~数サイクル)で切り替えることで実効性能を引き上げよう、という試みはいわゆるReconfigure Processorとして知られており、連載595回でも少し触れたが、この方向性は茨の道というのも事実であり、過去多くのベンチャー企業がこれに挑戦して消えていったという話も595回で触れたとおり。

 SambaNovaはまだ頑張っているので、ここがうまくいけば初めて商用的に成功したReconfigure Processorになる(ルネサスのDRPはまだ単独で成功したとは言い難いように思える)わけだが、EdgeCortixはここまでチャレンジはしなかった。

 EdgeCortixがチャレンジしたのは、「配線へのReconfigure技術の適用」である。

何と何をどうつなぐかはプログラミングの際に静的に決定し、実際にどのタイミングでどの接続を有効にするかはダイナミックに切り替えるという仕組み。これを同社はReconfigurabilityと称している

 例えばネットワークの最初の方の層を処理しているときは、すべてのエンジンを並列動作させることで処理を高速化させたいが、後ろの層になるほどデータ量が減っていくから、すべてのエンジンを同時に動かしても無駄が多い。

 であれば、例えば半分あるいは4分の1のエンジンだけを後ろの層の処理に充て、残ったエンジンは次のデータの最初の層の処理に充てる、ということにすれば効率が上がり、性能向上につながる。

 ただしこの場合、エンジンごと/処理ごとに「どこからデータを入力し、どこに出力するか」が変わることになる。1つのアイディアは、大容量のメモリーをどこかに置き、すべてのエンジンはそのSRAMからデータやWeightなどを取り込み、結果をまたSRAMに返すというやり方だが、これだととにかく大量のメモリーが必要になる。

 SRAMだとそのエリアサイズが莫大になるからチップコストが大幅に上がるし、外部のDRAMにすると今度はそのDRAMの帯域が問題になる。

 もちろんDNAコアにもある程度のSRAMが搭載されるし、外部にはLPDDR4などのメモリーをつなぐこともできるが、基本的にはすべてのエンジンとデータメモリー、ラインバッファ、出力バッファなどを相互につなぎ、あとは処理の進行に応じてどの接続をそのタイミングで有効にするか、をダイナミックに切り替えるという形でこれに対応することにしたという。

DNAコアの内部メモリは8bitパーティションで自由に再配分可能としている

 ちなみにこの再構成というか動的な変更が可能なのはインターコネクトだけでなく、メモリー自体もそうなるそうだ。

当然ながらTensorFlowLiteやPyTourch、ONNXなどに対応している。TensorFlowではなくTensorFlow Liteというあたりがエッジ向けではある

 一般論としてこうした仕組みはプログラミングの難易度は上がるが、メモリー利用効率の向上は無駄に大容量メモリーを搭載することを避ける意味で効果的であり、チップの消費電力やコストの削減に効果的なだけに、このあたりは消費電力やコストの削減に舵を切ったというべきか。プログラミングに関しては、後述のMERAでカバーできる、と踏んだのだろう。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,280
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
4
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥1,240
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥937
7
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,359
8
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
¥652
9
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
10
UGREEN LANケーブル CAT8 1M メッシュLANケーブル カテゴリー8 コネクタ 超光速40Gbps/2000MHz CAT8準拠 イーサネットケーブル 爪折れ防止 シールド モデム ルータ PS3 PS4 Xbox等に対応 1M
UGREEN LANケーブル CAT8 1M メッシュLANケーブル カテゴリー8 コネクタ 超光速40Gbps/2000MHz CAT8準拠 イーサネットケーブル 爪折れ防止 シールド モデム ルータ PS3 PS4 Xbox等に対応 1M
¥699

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

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