Armは10月23日に北京で開催した「Arm Tech Symposia」においてEthos-N57/N37やMali-G57、Mali-D37を発表した。そのうちNPUに関しては(Ethos-N77も含めて)Arm TechCon 2019で詳細な説明が行われていたので、その内容についてご紹介したい(Photo01)。
Ethosのターゲット市場
まず基本的な対象市場であるが、ハイエンドとなるPremium Mobileはすでに主要なSoCベンダーがNPUを統合している一方で、メインストリームであるBalanced、及びバリュー向けとなるCost SensitiveではまだNPUの採用はそれほど進んでいない。そこでArmはすでに発表されていたArm ML ProcessorをArm Ethos-N77と改称すると共に、Balanced向けのEthos-N57およびCost Sensitive向けのEthos-N37を今回追加した形になる(Photo03)。
この3ファミリーであるが、基本的な構成は同じである。扱えるデータタイプはInt8とInt16のみ、動作周波数は最大1GHz程度である。違いとしてはハイエンドのEthos-N77のみ、CE(後述)あたり1~4MBのSRAMを搭載できる(N57/N37は512KBで固定)事と、CEの数である。この結果として、ハイエンドのEthos-N77では4TOP/s@1GHzの処理性能と、最大5TOP/Wの効率が得られるとしている。
内部構造の話は後述する。ターゲット市場としては、例えばDTVにおける超解像やエッジにおける音声変換などにもMLが活用され始めている現在において、NPUのニーズは意外に広範に渡る。スマートフォンに限っても、Ethos-N57がターゲットとするミッドレンジ向けですらすでにMLのニーズは高い(Photo06)し、Ethos-N37はむしろスマートフォン「以外」でのニーズが高そうだ(Photo07)。
ではそもそもEthosを採用するメリットは? という点だが、現状のML向けのNPUに関しては、標準と呼ばれるアーキテクチャが存在しない(学習はともかく、推論はかなりまちまちである)。だからこそ、ここに広範な構成なEthosを提供することで、シェアを獲りに行きたいというArmの意向が透けて見える。
Ethosの内部構造
また、Ethosの内部構造であるが、Ethos-N37/N57/N77で完全に共通である。MCE(MAC Computation Engine)とPLE(Programmable Layer Engine)、それとSRAMを組み合わせたものがCE(Compute Engine)と呼ばれるが、Ethos-N37はCEが4個、Ethos-N57はCEが8個、Ethos-N77は16個(いずれも構成上の最大値)を集積するもので、これ以外にNCU(Network Contril Unit)とDMAエンジンを組み合わせたものとなる。
これらの内部構造に関しては、2018年に安藤先生が執筆された記事がマイナビニュース上にあるので、詳細についてはそちらをご覧いただくのが早いと思うが、Arm TechCon 2019ではそれとは別にメモリ回りの詳細が説明された。
まだEthosというブランドがつけられる以前から、ArmのML Processorの特長は大容量のSRAMを搭載することだった。これはエリアサイズという意味ではやや不利であり、特にPremium Mobile向けのEthos-N77はともかく、Balanced向けのEthos-N57やCost Sensitive向けのEthos-N37でもCEあたり512KB(つまり4CEのEthos-N57だとトータル2MBになる)のSRAMを搭載するのはかなり厳しいものがある。実際、HotChips 30における説明では、CEあたり1MB構成とするEthos-N77が7nmプロセスで2.5平方mmほどのエリアサイズになるとされる。7nmで2平方mmオーバーはかなり大きい。
これに対する基本的な考え方だが、要するにDRAMを多用すると、それだけスループットが落ち、消費電力が増えるので、最初のネットワークのロードや元画像のロードはDRAMから行うとしても、その後はすべて内部のSRAMで賄う事で高効率が実現できる、という意見である。
そしてEthos-N37とEthos-N57では、概ね外部のDRAM帯域はそれぞれ2GB/secと4GB/secあれば十分間に合うとしている。2GB/secと言えばx8構成のLPDDR4-2133が1個で間に合うし、4GB/secもx16構成のLPDDR4-2133にすれば十分であり、外部DRAMのニーズを最小限に抑えられることになる。
ちなみに先ほども書いたが、Cortex-A CPU(や、将来のCortex-M CPU)とMali GPU、それとEthosで共通のフレームワークが提供されるので、一度書いたアプリケーションはどのプロセッサ上でも利用できる(Photo12)。
ただCortex-AやMali上で無理やりMLアプリケーションを動かすよりも、Ethosを使った方がより電力効率が良い上にピーク性能も出しやすいというのがArmの説明であり、これを補強するものとして今後はML処理がどんどん増えてゆく、とする(Photo13)。こうした状況に備えるのに、Arm Ethosシリーズを組み合わせるとより楽になる、というのがSoCベンダーに対するArmのメッセージということであろう。