Amazon SageMaker Neo とは何ですか?
Amazon SageMaker Neo を使用すると、デベロッパーは、クラウド内の SageMaker とエッジでサポートされているデバイスで推論するために機械学習 (ML) モデルを最適化できます。
ML 推論は、トレーニングされた機械学習モデルを使用して予測を行うプロセスです。モデルをトレーニングして精度を高めた後、デベロッパーは、高パフォーマンスを実現するために、多くの時間と労力を費やしてモデルを調整することがよくあります。クラウドでの推論については、デベロッパーは多くの場合、より良いスループットを達成するために、より高い費用をかけて大量のメモリと強力な処理機能を備えた大規模なインスタンスに目を向けます。コンピューティングとメモリが制限されているエッジデバイスでの推論については、デベロッパーは、デバイスのハードウェアの制約内で許容可能なパフォーマンスを達成するために、モデルを手動で調整するのに数か月を費やすことがよくあります。
Amazon SageMaker Neo は、クラウドインスタンスとエッジデバイスでの推論のために機械学習モデルを自動的に最適化して、精度を損なうことなくより高速に実行します。まず、DarkNet、Keras、MXNet、PyTorch、TensorFlow、TensorFlow-Lite、ONNX、または XGBoost で既に構築され、Amazon SageMaker またはその他の場所でトレーニングされた機械学習モデルから始めます。 SageMakerのホスティングインスタンスや、Ambarella、Apple、ARM、Intel、MediaTek、Nvidia、NXP、Qualcomm、RockChip、Texas Instrumentsのプロセッサを搭載したエッジデバイスなど、対象となるハードウェアプラットフォームを選択することができます。SageMaker Neo は、シングルクリックでトレーニングされたモデルを最適化し、実行可能ファイルにコンパイルします。コンパイラは、機械学習モデルを使用して、クラウドインスタンスまたはエッジデバイス上のモデルの可能な限り最高のパフォーマンスを引き出すパフォーマンス最適化を適用します。その後、モデルを SageMaker エンドポイントとして、またはサポートされているエッジデバイスにデプロイし、予測を開始します。
クラウドでの推論については、SageMaker Neo は、SageMaker ホスティングで推論に最適化されたコンテナを作成することにより、推論を高速化し、費用を節約します。エッジでの推論については、SageMaker Neo は、選択したオペレーティングシステムとプロセッサハードウェアのモデルを自動的に調整することで、デベロッパーが手動調整に費やしていた数か月間の時間を節約します。
Amazon SageMaker Neo は、Apache TVM とパートナーが提供するコンパイラおよびアクセラレーションライブラリを使用して、特定のモデルとハードウェアターゲットについて、可能な限り最高のパフォーマンスを提供します。AWS は、プロセッサベンダーとデバイスメーカーが共通のコンパクトなランタイムで迅速にイノベーションを実現できるようにするため、Apache ソフトウェアライセンスに基づいて、コンパイラコードを Apache TVM プロジェクトに、ランタイムコードを Neo-AI オープンソースプロジェクトにそれぞれ提供しています。