ArmNN:新たな世界を牽引する、ArmのAI/MLプラットフォーム。

1300億個以上*のチップ、1000社を超えるパートナー、世界人口の70%を超えるユーザーがArm®のテクノロジを活用している。もちろん、新製品の発表も留まることを知らず、2018年も、ハイエンド向けのCPUであるArm Cortex®-A76や、組み込み向けのセキュアなCPUであるArm Cortex-M35Pをリリース。Armは、今すべてのエンジニアが注目する巨大企業だ。こうした圧倒的なシェアと技術力を誇るArmが、人工知能(AI)や機械学習(ML)という市場の変革に対して、何を考え、どのような活動をしているのか。Armの考える未来のカタチに迫ってみた。

*ソフトバンクグループ社発表 2019年3月期 第3四半期 Armロードショースライド資料より

メインイメージ
集合写真(左より)
アーム株式会社 応用技術部 フィールドアプリケーションエンジニア トビアス アンダーソン 氏
アーム株式会社 セールス・ディレクター 後藤 努 氏
アーム株式会社 パートナーマネージャー 滝原 茂樹 氏
アーム株式会社 応用技術部 ディレクター 中島 理志 氏

ArmのAI/MLプラットフォーム「Project Trillium」

――現在、自動運転や監視カメラなどAIを使ったアプリケーションが増えています。Armのテクノロジを利用している多くのユーザーも「AIをビジネスに取り入れたい」と考えていると思います。AIに関するArmの取り組みを教えてください。

滝原:AIやその中核となるMLは、人や物体の識別といった実験的な技術から、医療、生産、自動車、小売などが抱える現実問題を解決するための技術へと進化しています。今後も様々な分野へと浸透していくと思われます。一方、現在の人々の暮らしや多くのビジネスは、Armのテクノロジに支えられています。Arm Cortexシリーズに代表されるコンピューティング製品や、コネクティビティやセキュリティを実現する製品が、街のあらゆる場所で活躍し、変革を起こしています。AI時代にも、引き続きArmのテクノロジが世界に貢献できるよう、Armは2018年2月にMLプロジェクト「Project Trillium」を発表しました。

――Project Trilliumとは、どのようなプロジェクトですか?

滝原:ArmのIP(Intellectual Property)を中心としたマシンラーニングプラットフォームです。Armの提唱するMLプラットフォームには、Cortexを代表とするCPU IP製品はもちろん、GPU IP製品であるMaliþ GPUやML専用のIPであるNPU(Neural-network Processing Unit)が含まれます。お客様が開発された学習済みのフレームワークの演算処理を、エッジ側に実装されているArmのそれぞれのIPリソースへ演算処理を変換する「ヘテロジニアス・アーキテクチャ」をAIに活用していくことが、本プロジェクトの目的です。

――ハードウェアのプラットフォームを展開し、AIに活用しやすくしようと。

滝原:ハードウェアだけでなく、ソフトウェアも含むプロジェクトです。AIの世界では、ハードウェアだけでは価値は生まれず、ハードウェアを活用するためのソフトウェアがあって初めて価値が生まれます。いまマーケットが期待するのはハードとソフトが融合して生まれる新たなビジネスの創出です。Armはハードウェアとソフトウェアをセットで提供し、パートナーの皆様が自社の強みをさらに活かせるような仕組み作りを構築したいと考えています。

――どのようなソフトウェアが使えますか?

滝原:現在広く使われているTensorFlowやCaffeといった、主要な汎用的フレームワークをほぼすべてサポートしています。フレームワークとハードウェアは「Arm NN」という演算ライブラリを含むソフトウェアレイヤーに接続されます。つまり、TensorFlowを使ってネットワークを開発すれば、変更を加えることなくCortex-AやCortex-M上で実行できます。

――ハードウェア固有の実装は、すべてArm NNライブラリが吸収してくれるわけですね。

滝原:その通りです。Arm NNには、ソフトウェアとハードウェアを柔軟に連携させる機能が入っています。実行するニューラルネットワークに最適なハードウェアをArm NNが選択します。Int8の演算ならNPU、FP16の演算ならCPUのNEONþやGPUに処理を振り分けます。また、それらのハードウェアが何らかの理由で忙しい場合、動的に他のハードウェアを選択することも可能です。非常に柔軟なプラットフォームです。

――FPGAの中にもCortex-A系のハードIPが搭載されています。将来的にはFPGAの回路とも連携できるのでしょうか。

滝原:FPGAのIPすべてに対応することは難しいのですが、ASICだからFPGAだから、といった境目無しに、将来的には人気の高いIPもArm NNの枠組みでサポートできるように取り込んでいきたいと考えています。

――ArmのIP製品は数多くあります。特にAIアプリケーションに適した製品を教えてください。

滝原:2018年に発表したCortex-A76はArmv8.2というArmv8から派生したアーキテクチャを採用しており、NEONにInt8での推論を高速に実行する命令が追加されています。従来のArmv8製品に比ベてArmv8.2では同一周波数で約4~8倍以上の性能向上が期待できます。また最新のGPU製品、Mali-G76 GPUも従来製品より推論をInt8で高速に実行できるように設計されています。そのため、従来のグラフィクス処理の高速化だけでなく、エッジでのMLアクセラレータとしてもより一層活用できる製品となっています。

中島:Mali GPUは、組み込みGPU市場において最も高いマーケットシェアを誇る製品です。ArmのGPU製品は長期的なロードマップをコミットしていますので、安心して製品に採用いただけます。

既存のハードウェアで評価可能。オープンソースのArm NN

――評価ボードのバリエーションを教えてください。

中島:Arm NNは、既にライブラリ化され、GitHubにて公開されていますので、お手元にあるCortex-AシリーズをサポートしたLinux上で簡単に評価いただけます。従来のArm製品の場合、まず評価用ハードウェアをご注文いただいて、届くまで待って、セットアップし、はじめて試すことができる、といった手順が必要でしたが、Arm NNは、MLフレームワーク上のアプリケーションを、今あるCortex-A CPUに割り当てて実行するソリューションですので、Raspberry Piなど簡単に入手できるシングルボードコンピュータを使ってすぐに評価できます。是非、お試しください。

――Arm NNのデモを紹介いただけますか?

アンダーソン:展示会などで好評なデモをお見せします。これは、TensorFlowを使って開発した画像認識AIアプリケーションを、Cortex-A73上で実行するサンプルアプリケーションです(図1)。TensorFlowフレームワークはArm NNに対応していますので、AIアプリケーション自体を書き換えることなく、そのままCortex-A73で実行できます。このデモではHikey970ボードを使っていて、Arm NNが、TensorFlow上で開発したニューラルネットワークと、Cortex-A73のNEONを繋いでいます。CIFAR-10という画像セットでニューラルネットワークに学習をさせるだけで、このようにエッジデバイス単体で、カメラ画像を解析し、写っているオブジェクトを識別できます。

図図1:Arm NNを使うことにより、TensorFlowで実装したAIアプリケーションを、Cortex-A73上で実行できる。

――実際に製品を開発する際には、どのようにハードウェアを選定すれば良いでしょうか。

滝原:Project Trilliumの扱うAIやMLは、サーバ分野では成熟したアプリケーションですが、組み込み分野では、まだまだ成長段階のアプリケーションです。そのため、まずは製品にあわせたハードウェアの選定基準を作ることが大切です。高速に推論ができることも重要ですが、組み込み製品、特に小型の製品の場合、コストとのバランスが重要になります。他にも、回路規模やメモリサイズ、消費電力などにも気を配ると良いでしょう。

中島:Arm NNは、まずはお手元にあるデバイスや、既に社内に開発資産のあるハードウェア上で試すことができますので、本当に必要な性能や要件を具体化しやすいと思います。例えば、先ほどお見せしたサンプルアプリケーションは、Hikey970に搭載されたCortex-A73 CPUのみで画像認識をしており、1回の推論に約8ms程度かかります。この数値は、監視カメラのサンプルアプリケーション評価であれば十分な性能と言えますし、自動車製品や産業用の検査装置であれば、GPUやNPUを加えて高速化したい数値だと思います(図2)。

滝原:研究分野では画像を扱うAIが数多く登場していますが、実際の現場ではセンサーの値など、比較的小さいデータを解析したいという声をよく耳にします。その場合、Cortex-A系よりもCortex-M4やCortex-M7など、SIMD演算が搭載されているM系のCPUが適しています。Arm NNの高い移植性を活かして、自社のサービスにあったデバイスを選定してみてください。

図図2:Project Trilliumの提唱するアーキテクチャは、あらゆるアプリケーションに対応できる柔軟性を持つ。

誰もが気になるロードマップ。2026年のCPU動向に迫る

――Project Trillium以外の最近のArmの取り組みを教えてください。

後藤:Armはこれまでチップベンダー樣と密に連携してきましたが、チップベンダー様の先にいるお客様、例えば、車載向けチップを実際に利用されているオートモーティブ・アプリケーションの開発者の方々との連携も強化しています。半導体製品の開発は時間がかかりますので、市場が何を必要としているのかをヒアリングし把握することは、Armの重要なタスクのひとつです。オートモーティブの世界では、アプリケーションのロードマップが2023年まで発表されていますので、チップを利用するお客様が本当に聞きたい情報は、さらに先、2026年頃にArmがどのようなテクノロジを発表できるのか、ということです。

中島:チップをただ使うのではなく、Armのテクノロジを理解して、チップベンダー様に要望を伝えていきたいというお客様も、近年とても増えています。こうした要望が生まれることで、チップベンダー様も求められている機能の開発に注力することができます。お客様の声を聞きながら、安心して市場へ投入できる、というわけです。

――オートモーティブ以外には、どのような分野がありますか?

後藤:イメージングやセキュリティ、最近ではメディカル分野の皆様とも連携しています。医師は大変忙しいため、AIを活用してヒューマンエラーを防止する装置や、医療用画像を自律的に解析し、診断をサポートする装置の開発が進んでいます。医療用データを蓄積するサーバ分野にも、テクノロジを発信していく予定です。

――クラウドAIも増えています。サーバ市場に向けたArmの取り組みを教えてください。

中島:Armはサーバ市場に向けたプロジェクトとして「Project Neoverseþ」を推進しています。Neoverseはサーバ向けシステムの標準化を目指すプロジェクトです。本プロジェクトの成果物の例を挙げますと、2018年に発表されたアマゾンウェブサービス(AWS)のArmベースのAWS Gravitonプロセッサや、Gravitonを利用できるAWS EC2 A1インスタンスがあります。Armのハードウェアをクラウドでもご利用いただけるわけです。また、AWS Gravitonはネットワーク機器での採用事例も増えていますので、エッジ、ネットワーク、サーバと、すべての階層にArmのテクノロジが採用されています。

――多くの開発者はボードベンダーの製品を買って、AIを開発しています。ボードベンダーやチップベンダーを飛び越して「ArmにAIの相談をする」というイメージが湧かないのですが、AIを導入する際の相談やサポートを受けることは可能なのでしょうか?

滝原:Armでは、Arm製品を活用したAIやMLの事例はもちろん、提供できるソフトウェア資産も紹介できます。また、Project Trilliumの流れから、TensorFlowなどアプリケーションに近いサードパーティとの連携も強めていますので、ニューラルネットワークのエコシステムやフレームワークもご案内しています。

中島:もちろん、CPU IP製品やGPGPU IP製品、NPU IP製品を提供していますので、プロセッサを100%使いこなすにはどうすれば良いか、といったディープな質問に対するアドバイスも可能です。

滝原:AIは成長中の分野ですので、「本当は投資をしたいが、今開発した資産が3年後には使えなくなるのでは」という不安の声も耳にするようになりました。Armの提供するフレームワークは、そうした時代の変化を見越して、ハードウェアはもちろんのこと、ソフトウェアが変わったとしても柔軟に対応できるよう設計しています。是非、日々疑問に思われていることを、お気軽に相談いただければ、と思います。

――ありがとうございました。

APS EYE'S

Armが提唱するArm NNは、ArmのIP資産を最大限に活用したAIフレームワークだ。自社製ハードウェアはもちろん、サードパーティのハードウェアまで知り尽くしているArmだからこそ、AIアプリケーションをCortex-Mで実行可能なレベルまで落とし込めた。次は、あなたが活用する番だ!