Armは10月23日に北京で開催した「Arm Tech Symposia」においてEthos-N57/N37やMali-G57、Mali-D37を発表した。そのうちNPUに関しては(Ethos-N77も含めて)Arm TechCon 2019で詳細な説明が行われていたので、その内容についてご紹介したい(Photo01)。

  • Arm

    Photo01:説明を行ったSteve Roddy氏(VP, Product Marketing, Machine Learning Group)

Ethosのターゲット市場

まず基本的な対象市場であるが、ハイエンドとなるPremium Mobileはすでに主要なSoCベンダーがNPUを統合している一方で、メインストリームであるBalanced、及びバリュー向けとなるCost SensitiveではまだNPUの採用はそれほど進んでいない。そこでArmはすでに発表されていたArm ML ProcessorをArm Ethos-N77と改称すると共に、Balanced向けのEthos-N57およびCost Sensitive向けのEthos-N37を今回追加した形になる(Photo03)。

  • Arm

    Photo02:とはいえ、Balanced/Cost SensitiveのマーケットでもMLベースのアプリケーションが次第に増えつつあるために、何らかの対策は必要である

  • Arm

    Photo03:もっともEthos-N77の構成は、従来発表されていたArm ML Processorと若干ではあるが相違点もある。詳しくは後述

この3ファミリーであるが、基本的な構成は同じである。扱えるデータタイプはInt8とInt16のみ、動作周波数は最大1GHz程度である。違いとしてはハイエンドのEthos-N77のみ、CE(後述)あたり1~4MBのSRAMを搭載できる(N57/N37は512KBで固定)事と、CEの数である。この結果として、ハイエンドのEthos-N77では4TOP/s@1GHzの処理性能と、最大5TOP/Wの効率が得られるとしている。

  • Arm

    Photo04:以前のArm ML Processorでは7nmプロセスの場合で3TOP/Wだったわけだが、これはSRAMの量を最大4MB増加したことで、DRAMアクセスの頻度がさらに減り、その分高効率になったと思われる

内部構造の話は後述する。ターゲット市場としては、例えばDTVにおける超解像やエッジにおける音声変換などにもMLが活用され始めている現在において、NPUのニーズは意外に広範に渡る。スマートフォンに限っても、Ethos-N57がターゲットとするミッドレンジ向けですらすでにMLのニーズは高い(Photo06)し、Ethos-N37はむしろスマートフォン「以外」でのニーズが高そうだ(Photo07)。

  • Arm

    Photo06:アバターがどこまで利用されるのかは良く分からないが、その他はありがちなアプリケーションと言える。顔認証は現在はPremium Mobileに限られるが、2020年のミッドレンジ向けには普通に入ってくるだろう

  • Arm

    Photo07:この手の製品はコスト要求がモバイル向けよりさらに厳しいため、Ethos-N37向きではある

ではそもそもEthosを採用するメリットは? という点だが、現状のML向けのNPUに関しては、標準と呼ばれるアーキテクチャが存在しない(学習はともかく、推論はかなりまちまちである)。だからこそ、ここに広範な構成なEthosを提供することで、シェアを獲りに行きたいというArmの意向が透けて見える。

  • Arm

    Photo08:よく読むと、別にArmのNPUであるべき必要性がほとんどど無い(強いて言えば、Cortex-AやMali GPUでSoftware StackがUnifiedになっているのがメリットと言えばメリットだろうか)のだが

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で賄う事で高効率が実現できる、という意見である。

  • Arm

    Photo10:Ethosのアーキテクチャを利用した場合の、SRAMとDRAMの利用頻度を示したもの

そしてEthos-N37とEthos-N57では、概ね外部のDRAM帯域はそれぞれ2GB/secと4GB/secあれば十分間に合うとしている。2GB/secと言えばx8構成のLPDDR4-2133が1個で間に合うし、4GB/secもx16構成のLPDDR4-2133にすれば十分であり、外部DRAMのニーズを最小限に抑えられることになる。

  • Arm

    Photo11:赤がネットワークのウェイトのロード、緑が実際にネットワークをアクティベーションした時の帯域となる。Photo05の横軸の根拠はこのあたりにあると思われる

ちなみに先ほども書いたが、Cortex-A CPU(や、将来のCortex-M CPU)とMali GPU、それとEthosで共通のフレームワークが提供されるので、一度書いたアプリケーションはどのプロセッサ上でも利用できる(Photo12)。

  • Arm

    Photo12:すでにCortex-AやMaliを採用しているSoCベンダーにとっては、Ethosは導入しやすいというのは事実である。ミドルレンジにはEthos、バリューは無しといった構成であっても、ソフトウェアは共通に利用できるためである

ただCortex-AやMali上で無理やりMLアプリケーションを動かすよりも、Ethosを使った方がより電力効率が良い上にピーク性能も出しやすいというのがArmの説明であり、これを補強するものとして今後はML処理がどんどん増えてゆく、とする(Photo13)。こうした状況に備えるのに、Arm Ethosシリーズを組み合わせるとより楽になる、というのがSoCベンダーに対するArmのメッセージということであろう。

  • Arm

    Photo13:ビデオのGreenscreen(人物を抜き出して別の背景に張り付ける)がバリュー向けで必要か? というと微妙な気はするが、自動翻訳や顔認証などは実際にバリュー向けでもニーズが増えてきそうだ