v8.1-Mを実装した「Cortex-M55」と、Cortex-M55と組み合わせて動作するNPUとなる「Ethos-U55」を発表した。これに先駆け、アームの中島理志氏(Photo01)より両製品の概略について説明があったので、この説明を基にご紹介したい。ディレクターの中島理志氏さて、Armの新しいAIに関する世界観がこちら(Photo02)。AIという言い方はあまり馴染みがない。いうか、Armが今回提唱し始めたというべきか従来、AIといえば学習と推論をクラウド側で行っていたが、一部の学習と推論をもう少しエンドポイントに近いデバイスで行いたい、ということでIoTのエッジに持ってこようという動きが活発になっている。AI)」と称している。このエンドポイントAIに向けて今回投入されるのが、Cortex-M55とEthos-U55である(Photo03)。Photo03:この480倍という数字は色々誤解を招きそう、というかそもそも数字の根拠が未だに不明である。マーケティング的な数字だCortex-M55とはどのようなコアなのか?それぞれの製品を簡単に説明すると、Cortex-M55はAI時代に対応したMCUコア、Ethos-U55はCortex-Mグレードのプロセッサと協働するNPUということになる(Photo04)。v8.1-MベースMCUである(Photo05)。v8.1-MとHeliumについては以前の記事でご紹介させていただいたので今回は説明を割愛するが、Heliumそのものはオプション扱いである。Issue/In-Orderの構成となっているが、多少マイクロアーキテクチャの改良などもあるので同一周波数比で「Cortex-M33と比べて10~20%程度高速」(中島氏)程度である。性能差があるのはDSP/Heliumであり、まずDSPではCortex-M33比で5倍という性能になっているので、以前の記事で説明した際のMACユニットが4つ、という構成になっていると思われる。Extension」を組み合わせて最大5倍程度のピーク性能が出せる、というあたりだろう。Integerの値を16個入れて処理するというシナリオを想定しており、ここから15倍という数字が出てきたようだ。気になるのはエリアサイズであるが、CPUコアそのもので言えばCortex-M55とCortex-M33は同一プロセスならほぼ同等程度。Heliumの実装にはほぼ同程度のエリアサイズが必要だそうで、なのでフルセットのCortex-M55はほぼ2倍のエリアサイズに膨れ上がることになる。Ethos-U55はどのようなNPUなのか?一方のEthos-U55であるが、こちらは32~256ユニットのMAC(どこまで入れるか、はカスタマイズ可能)ユニットを搭載しており、Cortex-M33比で言えば最大32倍の処理性能が実現される(Phoot06)。Photo06:ちなみに圧縮されるのはネットワークのウェイトのみで、データについては圧縮対象外。これについては、「実際に試してみたところ、(ネットワークの)ウェイトを圧縮する方が効果的だった」(中島氏)との事だったただし、以前の記事でも書いたが、ArmのNPUはローカルに大量のSRAM(Ethos-N77で4MB、N37/N57が1MB)を抱え、これを活用することで外部メモリとのトラフィックを減らし効率を上げるという仕組みであった。これをMCU向けとなるEthos-U55で同じことをすると、エリアサイズがMCUとして許容範囲外になる可能性が高い。そこで、ネットワークの重みに関しては圧縮して格納する仕組みとすることでメモリ利用量を減らす配慮がなされている。ちなみにEthos-U55はCortex-M55だけでなく、Cortex-M4/M7/M33と組み合わせる事も可能である。逆にCortex-M0/M0+/M3/M23は対象外である。これはEthos-U55を利用するために内部的にDSP命令を利用している関係で、DSP命令が利用できるMCUコアのみがサポート対象、という話であった。逆に言えば、Cortex-M55であってもDSP拡張を実装しておかないと、Ethos-U55を組み合わせる事は出来ないという話である。Ethos-U55はやはり結構大きいようだ。中島氏によれば、最小構成の32MACの状況で、大体エリアサイズはCortex-M33と同じくらいだそうで、ということは最大構成だと8倍。これにCortex-M55+Heliumを組み合わせると、Cortex-M33の10倍くらいのエリアサイズになる計算である。DA1469xだと55nmプロセス、NXPのLPC552xが40nmプロセスを利用しており、大体このあたりが主なターゲット(Cortex-M33発表時のターゲットはTSMCの55ULPだった)であるが、Cortex-M55とかEthos-U55は28nmかそれ以下が現実的なターゲットになりそうである。Cortex-M55+Ethlos-U55でどのくらい性能が向上するのか?ところで先ほどPhoto04で、Cortex-M55が15倍、Ethlos-U55が32倍の性能なので、組み合わせると15×32=480倍、という謎の数字が出てきたわけだが、中島氏によれば「機械学習に関して言えばEthos-U55が利用できるが、その前処理とかはCortex-M55のDSP命令とかで行う形になり、これがオーバーラップして動作できるので、掛け算となる」という説明であったが、そうだとしてもこの数字にはならないだろう(DSPならそもそも5倍だろう、という話もある)。Assistant(音声アシスタント。スマートスピーカーのアレ)向けの処理をローカルで行った場合の性能である。Cortex-M7比で言えば、Cortex-M55+Heliumで6倍、Ethos-U55を組み合わせると50倍に高速化されるとしている。その一方で性能/消費電力比も25倍程度改善されるというもので、こちらはまだ納得できる数字だ。Assistantの場合、まず音声処理(ノイズキャンセルやビームフォーミングその他)をDSPで処理し、その後AIの推論をHeliumなりEthos-U55なりで動かす形になるArm的には、いわゆるAIの負荷に応じた処理に関して、従来Cortex-Mだけで行ってきた、きわめてシンプルな処理と、Cortex-AやMali、Ethos-Nを利用して行われる高性能なアプリケーションの中間をここで狙いたいという意向であった(Photo08)。Photo08:こちらの図と比べてみるとなかなか趣が深い。Cameras"とほぼ同等(ということは、1TOPS程度の処理性能)ではないかと思われる。考えると、Ethos-U55の処理性能は最大でも0.6~0.7TOPS程度だろうか?新たな開発環境が提供される予定ちなみに開発環境に関して言えば、新しく統合開発環境を提供予定(Photo09)という話であるが、こちらはまだ詳細は明らかではない。MDKをベースに提供されるようだが、GNU+Eclipseとか、IAREWとかはどうなのかと言った事は現状まだ決まっていないようだ。いう気もしなくはないこのCortex-M55+Ethos-U55、とりあえずALIF/BES/Cypress/NXP/STMicro/SamsungがIPライセンスを取得した事が今回明らかにされている(Photo10)。Photo10:もっともこれらのメーカーが、両方ともライセンスを取得しているのかは明らかにされていないし、ライセンスを受けたからといって製品がそのまま出てくるかどうかはまた別の話であるまた先ほどのPhoto04でも出てきたが、これらを全部統合したCorstone-300も今回提供されることになっている。TechConでは動作サンプルが展示され、来年あたりには出荷を始めるベンダーもありそうだ。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。