メディア
特集
» 2018年10月10日 11時30分 公開

モバイル機器でのエッジAI向け:Arm MLプロセッサ、明らかになったその中身 (1/5)

2018年8月に開催された「Hot Chips 30」では、Armの「ML Processor(MLプロセッサ)」の中身が明らかになった。その詳細を解説する。

[大原雄介,EE Times Japan]

 2018年3月に、「ArmのAI戦略、見え始めたシナリオ」という記事を書かせていただいたが、この時には内部構造が一切明らかにされなかったArm MLプロセッサの詳細が、この8月に開催された「Hot Chips 30」でArmのIan Bratt氏(Distinguished Engineer and Director of Technology, ML)によって説明された。そこで、この中身をご紹介したいと思う。

Mobile SoCのアクセラレータ的に利用

 Arm MLプロセッサの基本的な特徴が図1である。

図1 とはいえ、"with derivatives for additional segments"とあるように、別のプロセッサ(例えばCortex-Mシリーズ)と組み合わせる事も可能なように配慮はされている模様 出典:Arm(クリックで拡大)

 ポイントとなるのは多分、最後の"First design targers mobile"である。つまりArmはMLプロセッサを単体のIP(Intellectual Property)として提供するというよりは、Mobile SoCのアクセラレータ的に利用することを念頭に置いているということだ。実はこのマーケット、例えばQualcommはDSPベースのNPE(Neural Processing Engine)を、HiSiliconはKirin SoCにNPU(Neural Processing Unit)をそれぞれアクセラレータとして搭載しており、これの代替を狙っているのが明白である。

 まずラフな内部構成が図2である。

図2 問題は"KPI"がどっから出てきたのかさっぱり分からないことである 出典:Arm(クリックで拡大)

 最大16個のCompute Engineが集積され、この外側にDMA EngineとBroadcast Networkおよび、両者(とCompute Engine)を制御するControl Unitが用意されるという構成である。外部I/Fに関しては後で。恐らく、AXI程度の用意はDMA EngineないしControl Unitの中にあるのではないかという気がする。

 さて設計目標はConvolution(畳み込み演算)で4TOP/sec@1GHzとあるので、Compute Engine1個当たり256Ops/CycleのConvolutionが実行できる計算になる。ターゲットが7nmで3TOP/Wとあるのは意外に控えめな感じがする。それと7nmプロセスで2.5mm2というエリアサイズはかなり大きめに感じるが、恐らくこれはCompute Engine当たり1MB(つまり16Compute Engineで合計16MB)という巨大なSRAMのためだろう。

 扱うデータは8bit Integer(整数)で、これはまぁ妥当なところだろう。FPGAであれば1bitとか2bitにデータサイズを減らしても、それに合わせて内部構成を最適化することができるから、その分並列度を上げやすいが、汎用プロセッサでこれは難しい(無理に1〜2bit幅のデータ型を用意するとなると、むしろ回路構成が複雑になりすぎて無駄が多くなる)。むしろ8bit幅のまま、4TOP/secをいかに実現するかに専念した方が効果的という判断であろう。

       1|2|3|4|5 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.