Dear Great Hackers

  1. インタビュー
  1. タイアップ

ハードウェア無しの組み込み開発が可能に。IoT・ML開発を爆速化する仮想環境「Arm Virtual Hardware」の実態に迫る

エンドポイントAIやIoTにおいて必須となる組み込み開発ですが、ハードウェアを使用するため、機器の制約など特有のハードルの高さがあり、ソフトウェアエンジニアは手を出しにくい状況にあるかと思います。

このような課題に対し、Armは「Arm Virtual Hardware(AVH)」をリリースしました。
AVHはArmアーキテクチャを仮想マシン上で動作させる開発ツールとソフトウェアで、実機(ハードウェア)無しの組み込み開発を可能にする画期的なものです。

AVHの概要やメリット、初心者でも使いやすいという特徴をアーム株式会社のロイ・チェン(Roy Chen)氏、エンドポイントAIの開発などにAVHを活用している株式会社エイシング 代表取締役CEOの出澤 純一氏に伺いました。

プロフィール

Roy Chen(ロイ・チェン)
アーム株式会社
応用技術部 スタッフフィールドアプリケーションエンジニア
台湾生まれ、台湾育ち。2013年に来日後、日本の大手半導体メーカーにて組み込みソフトウェア開発に従事。2016年〜2020年の間、米国アーバインと中国深センに駐在。2021年アーム株式会社に入社、Arm ツールチェーンソリューションの技術マーケティング及びOEM技術セールスを担当。

 

出澤 純一(いでさわ じゅんいち)
株式会社エイシング 
代表取締役CEO
2004年早稲田大学ビジネスコンテスト「ワセダベンチャーゲート」最優秀賞。2008年早稲田大学大学院理工学研究科精密機械工学専攻修士卒業。卒業後は会社経営と並行しAIアルゴリズム研究も行う。2016年12月株式会社エイシング 代表取締役CEO就任。

Armの仮想ハードウェア「Arm Virtual Hardware」とは?

――はじめに「Arm Virtual Hardware」の概要を教えてください。

ロイ・チェン(以下、ロイ):「Arm Virtual Hardware(AVH)」は、IoT開発を加速する包括的なソリューションArm Total Solutions for IoTの重要な一部で、クラウド上に仮想チップ/ボードを構築しソフトウェア開発を効率化する開発環境です。Armが無料で提供しています。

従来の組み込み開発はハードウェアへの依存度が高く、様々な制約を受けてきました。
例えばファームウェアを開発するためには、まずサーバーを購入する必要があり、購入前にCPU、メモリ、I/Oなどの仕様を決めなくてはなりません。
このサーバーを使って、複雑で大規模なシステムを開発していると、後からCPUの性能、メモリなどにおいてボトルネックが発生し、設備投資の追加が必要となるケースが多々ありました。
また、昨今の半導体の供給不足により開発ボードの入手が大変困難になっている状況もあります。

このような物理的な制約に対するアプローチとして、ArmはAVHの提供を開始したのです。AVHは、半導体、組み込み開発といったArmアーキテクチャの開発環境をクラウド上で実現し、ハードウェアの制約を取り除き、迅速な開発を可能にします。

仮想環境のため、一般的なソフトウェア開発と同じようにCI/CD(継続的インティグレーション/継続的デリバリー)の利用が可能で、シンプルな開発環境を構築できるのも特徴です。

ハードウェアがなくても「AVH」なら先行開発が可能

――利用者側から見た、AVH導入のメリットは何ですか?

ロイ:AVHの大きな特徴は、先行開発が可能なこと、開発環境が一つに統合できること、CI/CDと親和性が高いことの3点です。

ロイ:まず、クラウド上に仮想環境を用意することでハードウェアへの依存が無くなり、シリコンの入手を待たずに先行開発できるのは大きなメリットだと考えています。

例えば、Raspberry Piの実機納品前にAVHを利用することでリードタイムが発生することなく、応用開発から検証までの工程を仮想環境で進められます。Raspberry Piの実機が届いたら、ハードウェアでパフォーマンスの評価を行うだけです。このようにして開発期間が大幅に短縮できます。

またArmのSDK(ソフトウェア開発キット)が組み込まれているため、開発環境を一つに統合できるのもメリットです。セットアップが簡単で複雑な環境設定の必要がないため、開発環境を単純化できます。

最後に組み込み開発とCI/CDフローとの併用が容易になることです。ハードウェアへの依存が無くなったので、従来の組み込み開発では馴染みのない開発手法を検討することも可能になります。

また、このようなメリットがあるので、ハードウェアに精通していないエンジニアでも組み込み開発が簡単に始められ、IoT開発への参入障壁が下がるのです。

――AVHのラインナップは用途に応じて3つあるそうですね。

ロイ:はい。AVHは様々な用途を想定しており、用途に応じたラインナップをご用意しています。

まず「AVH for Cortex-M Processor」では、IoT市場で幅広く採用されているArmの組み込みプロセッサCortex-Mをサポートしています。

ここではシンプルなCortex-M0をはじめ、最もよく使われているCortex-M4、そしてCortex-M7、最新のCortex-M55、Cortex-M85を使って多種多様な組み込み開発に自由に着手できます。

ロイ:つぎに「AVH for Total Solutions for IoT」では、Armが半導体メーカーに提供しているシステムCorstone-300やCorstone-310をサポートしています。これらはマシンラーニング(機械学習)やディープラーニングといった応用開発に活用できます。

またエコシステムの拡大に対応して、他の半導体メーカーと共に「AVH for 3rd Party Ecosystem Boards」でサードパーティのAVHも提供しています。現在はSTマイクロエレクトロニクス社の「STM32U5 Discovery Kit」、NXP社の「i.MX 8m Plus」と「i.MX 93」、「Raspberry Pi」の開発ボード、汎用仮想Androidの仮想環境を自由に利用できます。

今後、このラインナップは半導体メーカーと協力して拡充していく予定です。また対応CPUサポートも増えていくと思います。

AVHは無料で「AWS Marketplace」から簡単に導入できる

――AVHはどのように導入するのでしょうか?

ロイ:AVHは「AWS Marketplace (AWSマーケットプレイス)」に出品しているので、AWSアカウントさえあれば無料でサブスクリプション登録できます。発生する費用はAWSの利用料だけです。AWSを利用したことがある方なら、すぐ簡単に始められると思います。

登録後はSSHトンネルを使ってブラウサでAVHにアクセスすることもできますし、別のSSH接続可能なIDEツールを使っても利用可能です。LEDやボタンをエミュレートした形でも、GUIを表示しないターミナルでも実行することができます。

先ほど紹介した「AVH for 3rd Party Ecosystem Boards」はArmのサイトで提供しています。Armのサイト(https://avh.arm.com/)にアクセスして登録すると利用できます。ログインするとボードの一覧が表示されるので、開発したいボードを選んでAVHを立ち上げるだけです。

――組み込み開発に詳しくないエンジニアでも利用できますか?

ロイ:AVHに関する様々なドキュメントを掲載していますので、そこからスタートすると良いと思います。簡単な「Get Started」レベルから事例が豊富に揃っているので初心者の方も気軽に始められると思います。

またリファレンスサイトは常に更新されているので、興味のある方はぜひご覧いただきたいです。

AVHのI/Oソリューションのイメージ

――AVHのI/Oソリューションについて教えてください。

ロイ:組み込み開発にI/Oインターフェース(入出力インターフェース)は欠かせないものです。AVHのI/Oソリューションはこちらの図のようになっています。

ロイ:AVHは仮想化されたハードウェアなので、当然、I/Oも実体ではなく仮想化されたインターフェース(Virtual I/O = VIO)を持っています。図右側にあるVSocketまず、図左側にあるVIOを経由して、バーチャルハードウェアのLEDやボタン類をコントロールすることができます。

図中央のVSI(Virtual Streaming Interface)では、外部の音声や画像、テキストといったデータがインプットできます。これによって、ハードウェアボードや実際のI/Oがなくても、機械学習やディープラーニング、テキストデータ処理といった応用開発が可能になります。

図右側にあるVSocket(Virtual Socket Interface)では、Wi-FiドングルがなくてもTCP/IP環境が用意でき、開発環境(ホスト)のネット環境を経由して開発しているソフトウェアデバイスをインターネットに接続できます。

仮想ハードウェアが組み込み開発を大きく進化させる

――AVHを導入して効果が見込めるのは、どのような場面でしょうか?

ロイ:最も効果が見込めるのは組み込みソフトウェア開発です。こちらの図をご覧ください。

ロイ:左はAVHを使って外部テキストデータをVSI経由で吸い上げ、グラフ化する例です。産業機器コントローラでのデータ処理などに活用できると思います。

右はVSocketを使ったMQTTのIoTでの応用例です。実際のボードではなく、AVHを使ってソフトウェアを開発し、ソフトウェアからVSocketを経由して外部のMQTT Brokerにメッセージを送信しています。スマートスピーカーでも活用できると思います。

このようにクラウドネイティブ・ゼロインストールを実現しているため、組み込みソフトウェア開発への障壁が低くなるのではないでしょうか。

また「AVH for 3rd Party Ecosystem Boards」では、ボードを購入していなくてもボードベースの応用開発ができます。

ロイ:図の例では、STM32U5 IoT Discovery Kitを使ってWEBサーバーを立ち上げ、AVH上のRaspberry PiでそのWEBサーバーにアクセスしています。

――そのほかにもクラウドネイティブになることのメリットはありますか?

ロイ:先ほどもお話ししましたが、ハードウェアに依存しない組み込み開発を実現するので、開発環境にCI/CDが導入できるようになることもメリットです。

ロイ:この図では、複数名の開発者で共同開発をしているプロジェクトの事例を示しています。ソースコードのレポジトリのあるCI/CDのワークフローをGitHub上で設定して、誰かがコードをコミットすると、GitHubが自動的に最新のレポジトリをAVHにインポートしビルドして検証できる流れです。

この検証結果は、GitHubを経由して定期的に届きます。このような評価を自動的に行って、最後の評価を実際のハードウェアのボードで検証するのです。全て自動化できるので、評価の工数が大幅に減ることになります。

――AVHはどのような開発者をメインターゲットにしているのでしょうか?

ロイ:現時点では主に3つの利用層を想定しています。

まず、IoT向けの組み込みソフトウェア開発者です。企業の共同開発、独立系の開発者も対象です。AVHはIoTの応用に広く使われているCortex-Mシリーズの仮想ハードウェアをサポートしているので、組み込みソフトウェア開発者にとって、物理的にハードウェアに依存しないで開発ができるのは魅力ではないかなと思います。

つぎにISV(独立系ソフトウェアベンダ)です。近年、エンドポイントAIの開発、活用が人気を集め始めています。ISVが半導体メーカーと組んで、AIやマシンラーニングを活用したソリューション、エンドポイントAIチップソリューションを生み出しています。
多くの異なるアーキテクチャのチップに対して、ソフトウェアスタックのコーディングはかなり大変ですが、AVHさえあれば、一つの開発環境で異なるアーキテクチャの開発が進められます。

最後に、開発DevOpsデベロッパーです。AVHの恩恵を最も受けられるのがDevOpsデベロッパーだと考えています。ハードウェアの評価やテストが全てソフトウェアベースで進めることができ、トラブルなく作業を自動化することも可能です。クラウドインフラを活用するので、開発環境のスケーラビリティも高まり、メンテナンスの面倒も無くなります。

――組み込みソフトウェア開発を勉強したいと考えている企業やエンジニアも利用できますか?

ロイ:はい。AVHにより組み込み開発のハードルが大きく下がるので、学生などの初心者でも手軽に利用できます。

AVHでエンドポイントAI開発の効率化に成功

――ここからは株式会社エイシング(以下、エイシング)の出澤さんにもお話しを伺っていきます。はじめにエイシングの概要を教えてください。

出澤 純一(以下、出澤):当社はエッジAIやエンドポイントAIアルゴリズムの自社開発やお客さまとエッジAIプロジェクトの共同開発を行なっています。AIアルゴリズムの独自開発を得意としており、開発技術のライセンス販売もしています。これまでに出願した技術特許は国内外問わず全て成立し、CEATEC AWARD2021をはじめ、数多くのスタートアップアワードを受賞しています。

――エイシングではAVHをどのように活用されているのでしょうか?

出澤:エッジAIの開発にAVHを活用しています。エッジAIはネットワークを介さずにエッジデバイス上で推論などのAI処理を行います。マイコンなどのハードウェアの制約を受けますが、リアルタイムの処理が可能です。またセキュリティに関しては通信を介しての脆弱性の影響を受けません。

当社が開発しているエッジAIはインテル系のCPUにも実装可能ですが、「Arm Cortex-Mシリーズ」のM0からM4のようなMCUにエッジAIを実装できることが当社の得意としているところでもあり強みでもあります。

――AVHのどのようなところにメリットを感じていますか?

出澤:まず、ハードウェアを待たずに前倒しで開発に着手できる点が素晴らしいです。

製造業のお客さまとプロジェクトを進める際、従来は新しくリリースされるハードウェアがあると、調達に時間がかかり、AI開発の着手が遅れることがありました。これに対してAVHを使用すると先行して実装検証を行えるため、ハードウェアが届く前にお客さまに「実装可能である」ことのお知らせができます。

出澤:事前の実装検証ができることはソフトウェア開発の前倒しにつながりますし、開発期間が長く設けられるため、結果的により良い設計が可能になりました。当社エンジニアがAVH上で開発を実施したところ、非常に使い勝手が良く、それほど専門知識がなくても使用できました。

時間効率の向上だけでなく、開発時の選択肢が拡大できたことも大きなメリットだと思っています。

――AVHで開発の選択肢が拡大できた、というのは具体的にどういうことでしょうか?

出澤:AIの課題点は、メモリやリアルタイム性などの要求性能をどの程度必要とするのか、目標とする精度はやってみないと分からないことです。そのためAVHによって必要となる性能を予測して、お客さまへ適切な性能の目安を示せることはメリットであると考えています。
厳密にはArmのコアだけではなく、STマイクロやルネサス、NXPといった半導体メーカーごとに異なるメモリの実装なども影響しますが、AVHを使うことで基本的な性能をコアごとに「この程度はいける」と事前に計測できることは、当社にとって大きなアドバンテージです。

AVHを利用することで必要とされる性能を実現する最も適切なハードウェア、コストパフォーマンスの優れたものを選べるということです。

――実機で試す前にシュミュレートできると、シリコンベンダーとの連携もスムーズになりそうですね。

出澤:そうですね。当社がAVHを使って実装検証済みとアナウンスできれば、お客さまもそれを想定して事前にシリコンベンダーに対して動くことができます。ハードウェアがなくても、クラウドの仮想環境の中である程度実装できていると言えることは、皆さまにとってメリットがあると思います。

AVHが良いのは、ハードがなくても事前に対応、開発できること、スペックの予測当たりをつけられることだと思います。さらにシリコンベンダーと連携しやすくなるなど、ちょっと数字では言えないような部分でのメリットが大きいですね。

AVHがエンドポイントAI開発の主流になる可能性がある

――エンドポイントAI開発の需要は増えていくと予想されていますか?

出澤:直近1年間で市場が活性化してきたと感じています。「AI≒ディープラーニング」と一般的に認識されていた流れでは、ディープラーニングが得意とする音声認識や画像認識についてはある程度手がつけられたのではないでしょうか。

しかし、現場の製造機器は個体差があるため、AIでアジャストが必要な問題が発生しており、エンドポイントAIのニーズが起きています。その取り組みの成果の1つがオムロン株式会社さまの事例です。

オムロンさまのリチウムイオンバッテリー製造におけるバッテリーセパレータフィルム用巻取り機の振動抑制にAIを活用しています。従来のPID制御を用いた方法と比較して約90%のコストカットに成功しました。

――すごい削減率ですね。

出澤:現在はAIを導入して触ってみるというフェーズにいる企業が多いかと思いますが、アーリーアダプターとしてAIを導入した企業は、一巡してコストを意識し始めています。
「GPUで動くのはわかったけれど、どうやって、どこまでコスト削減できるのでしょう?」といった課題が出てきています。

従来はAIを使うとなると、大量のデータを使ってクラウドやPCで初期学習をすることが普通で学習に膨大なコストと工数が必要でした。

しかし、エンドポイントAIを使うと、前準備の必要なく現場で学習を始めることができます。また、AIリテラシーが高くない方でも運用できるメリットがあり、使い勝手の良いシステムを構築できることがエンドポイントAIの強みです。

――AVHが有効に活用できるフェーズに入ってきたということでしょうか?

出澤:そうです。Armマイコンなら低コストでのエンドポイントAI開発を実現し、様々なデバイスにマシンラーニングを実装して知能化できます。
エンドポイントAIの開発にはGPUやFPGAが必要不可欠だと思っている方々に「まず、AVHに載せて回してみませんか?それだけでも価値があるかもしれませんし、面白いですよ」と伝えていきたいですね。
これまではディープラーニング系を並列演算系でFPGAやGPUで開発を行うのが一般的だったと思います。Armマイコンを利用することで大幅なコストダウンが期待できます。そのようなメリットもあるので、AVHでシミュレーションできるのはありがたいです。

――仮想環境によるエンドポイントAI開発は、今後主流になっていくと感じておられますか?

出澤:開発が仮想空間上でできた方が便利ということもありますし、ハードウェアがある時点で敷居が上がると感じる方もいるでしょうから、仮想環境によるエンドポイントAI開発は増えていくと思います。

当社にも組み込みのエンジニアが在籍していますが、生き字引のようなスーパーエンジニア、手練の方は経験を積んだ50代後半や60代の方がほとんどです。
ソフトウェアエンジニアがそこまでハードウェアの経験を積むことは、なかなか難しいですよね。

ハードウェアの経験が少ないエンジニアでも、仮想環境で試せて学べるのはありがたいです。

――様々なお話をお聞かせいただき、ありがとうございます。ぜひ読者の皆さんにメッセージをお願いします。

出澤:繰り返しになりますが、AVHのメリットは先行してしっかり開発できることです。開発のスピードが上がるのはもちろんのこと、「新しいハードウェアに対応した」というニュースにいち早く載れるのはベンチャー企業にとって露出の機会になります。またお客さまと同じクラウド環境下でシステム開発ができることも大きなメリットと感じています。当社のエンジニアがAVHを触って「思っていたより簡単だった」と話していたようにとても使いやすいので、まずは一度触ってみることをおすすめします。

――まずはAVHを理解するためにも試してみるということですね。ロイさんからも、読者の皆さんにメッセージをお願いします。

ロイ:AVHは、Armが無償で提供する仮想ハードウェア環境です。使い方やリファレンス、Exampleなどは、Armでも豊富に提供しており常に更新しています。ぜひ一度、リンク集などからご覧ください。

ArmはこれまでハードウェアIPを提供しており、さらにソフトウェアのソリューションも提供してきました。このエコシステムを拡大するため、様々な取り組みを推進しています。今回説明させていただいたAVHはハードウェアがなくても、組み込みソフトウェアの開発を進めることができ、CI/CDを併用するなど、完全にソフトウェアの開発手法も活用できる仮想ハードウェア環境です。ぜひ一度お試しいただきたいと思います。

編集後記

組み込み機器やエンドポイントAIの開発は、ハードウェアベースで進むというイメージがありましたが、もはやそんな時代ではないということを強く感じました。様々な開発環境の仮想化が進んでいますが、AVHはハードの制約をなくしたという点でかなり画期的だと思います。

さらに、これまでソフトウェアしか操作したことがないエンジニアでも、学習教材としても活用できそうなAVHのポテンシャルの高さも分かり、今後この分野が一気に進化していくのではないかと思え、魅力を感じました。興味を持たれた方は、ぜひAVHをチェックしてみてください。

取材/文:神田 富士晴


関連記事