Amazon Web Services ブログ

AWS がエッジデバイスの ML 展開を加速するオープンソースの Neo-AI プロジェクトをロンチング

 re:Invent 2018 で、Amazon SageMaker Neo が発表されました。機械学習モデルを一度トレーニングすると、クラウドおよびエッジ内ではどこでも実行できる新しい機械学習機能です。今日、私たちは Apache Software License の下でオープンソースの Neo-AI プロジェクトとしてコードを公開しています。このリリースでは、プロセッサベンダー、デバイスメーカー、および深層学習の開発者が、機械学習における新しい独自のイノベーションをさまざまなハードウェアプラットフォームにすばやく取り入れることができます。

通常、開発者は各プラットフォームのハードウェアおよびソフトウェア構成に合わせて、モデルを手動で調整する必要があるため、複数のハードウェアプラットフォームに対して機械学習モデルを最適化することは困難です。コンピューティング能力とストレージが制約される傾向があるエッジデバイスにとっては、特に困難です。これらの制約により、実行できるモデルのサイズと複雑さが制限されます。そのため、最高のパフォーマンスを得るために、開発者が手動でモデルを調整するのに数週間または数ヶ月かかります。調整プロセスには、最適化手法に関する稀な専門知識とハードウェアに関する深い知識が必要です。それでも、優れたツールをすぐに利用できないため、優れたパフォーマンスを得るには、通常、かなりの試行錯誤が必要となります。

ソフトウェアの違いにより、この作業はさらに複雑になります。デバイス上のソフトウェアがモデルと同じバージョンでない場合、モデルはデバイスと互換性がありません。これにより、開発者は自分のモデルのソフトウェア要件と完全に一致するデバイスのみに制限するようになります。

したがって、機械学習アプリケーションをすばやく構築、拡張、および維持することは非常に困難です。

Neo-AI は、TensorFlow、MXNet、PyTorch、ONNX、および XGBoost モデルを自動的に最適化して、最大元のモデルの 2 倍速で正確性を損なうことなく実行できます。これにより、複数プラットフォームへ展開する機械学習モデルの調整に必要な時間と労力を省きます。さらに、ソフトウェアの互換性の問題を排除するために、モデルを効率的な共通フォーマットに変換します。ターゲットプラットフォームでは、コンパクトなランタイムによって通常のフレームワークが消費するリソースのごく一部を使用します。最適化を簡素化にすることによって、Neo-AI は洗練されたモデルがリソースに制約のあるデバイス上で動作することを可能にします。また、そこで自律走行車、ホームセキュリティ、および異常検出などの分野におけるイノベーションを引き出します。Neo-AI は現在、Intel、NVIDIA、および ARM のプラットフォームをサポートしており、Xilinx、Cadence、および Qualcomm のサポートも近日中に開始する予定です。

Neo-AI は、主要な機械学習コンパイラであり、LLVM や Halide など従来のコンパイラテクノロジーに関する、数十年にわたる研究に基づいて構築されたランタイムです。Neo-AI コンパイラには、ワシントン大学で開始したオープンソース研究プロジェクトの TVM と Treelite に対する修正が含まれています。今日の Neo-AI プロジェクトを通じて AWS コードをオープンソースにリリースすることで、開発者はプロダクショングレードの Neo コンパイラとランタイムをイノベーションすることができます。Neo-AI プロジェクトは、AWS、ARM、Intel、Qualcomm、Xilinx、Cadence などを含め、複数の組織によって進められます。

Neo-AI プロジェクトと連携することで、モデルのパフォーマンス向上に最大の効果を発揮する時点で、プロセッサベンダーはカスタムコードをコンパイラにすばやく統合できます。このプロジェクトにより、デバイスメーカーは、デバイス特定のソフトウェアおよびハードウェアの構成に合わせて Neo-AI ランタイムをカスタマイズすることもできます。Neo-AI ランタイムは現在、ADLINK、Lenovo、Leopard Imaging、Panasonic などのデバイスに導入されています。Neo-AI プロジェクトは、さまざまなソースによるイノベーションを機械学習用の共通コンパイラおよびランタイムに吸収して、利用可能な最高のパフォーマンスをモデルに提供します。

Intel の Artificial Intelligence Products Group (人工知能製品グループ) のゼネラルマネージャー、Naveen Rao は、次のように述べています。「Intel の人工知能に対するビジョンは、研究者、データサイエンティスト、開発者、そして組織が、深層学習の進歩から真の価値を得る機会だということに動機付けられています。」「AI から価値を引き出すには、エッジデバイスと同じくらい簡単に、深層学習モデルをデータセンターおよびクラウドに展開できるようにする必要があります。Intel は、これらの取り組みを Neo-AI に貢献することで、nGraph から始まったイニシアチブを拡大しています。デバイスメーカーやシステムベンダーは Neo を使用して、すべての Intel コンピューティングプラットフォームをベースとしたプラットフォーム上のほとんどのフレームワークで開発されたモデルのパフォーマンスを向上させることができます。」

Xilinx の共同部門長を務める Sudip Nag は、次のように述べています。「Xilinx は、クラウドおよびエッジで機械学習推論アプリケーションを加速する FPGA ハードウェアおよびソフトウェア機能を提供します。Xilinx FPGA の配置に向けてモデルを最適化するために Neo を使用する開発者をサポートします。1 ワットあたりの推論性能を最適化するために、Neo-AI が Xilinx ML スイートを使用できるようになることを楽しみにしています。」

ARM の Machine Learning グループ担当ゼネラルマネージャー兼部門長の Jem Davies は、次のように述べています。「2035 年までに 1 兆個の機器を接続するという ARM のビジョンは、機械学習などのイノベーションによる消費者の付加価値によってもたらされます。」「Neo と ARM NN SDK を組み合わせることで、開発者は機械学習モデルを最適化して、接続されたさまざまなエッジデバイスで効率的に実行できるようになります。」

詳しくは、GitHub の Neo-AI リポジトリを参照してください。


著者について

Sukwon Kim は、AWS Deep Learning のシニアプロダクトマネージャーです。 顧客のために深層学習エンジンを使いやすくする製品に取り組んでいます。彼は、余暇にはハイキングや旅行を楽しんでいます。

 

 

 

 

Vin Sharma は、AWS Deep Learning のエンジニアリングリーダーです。 彼は Neo チームを構築し、率いています。一度トレーニングすると、クラウドおよびエッジ内ではどこでも実行できる、ML モデルを研究するチームです。