Machine Learning

Amazon SageMaker Neo

「一度学習すればクラウドでもエッジでも動かせる」よう推論モデルをコンパイル最適化する機能。生成AI(LLM)の主役ではなく、コンピュータビジョン系の軽量モデルをエッジ配備するときの最適化手段として出ます。

  • C|周辺
  • D4 運用効率と最適化

ひとことで言うと

MXNet・PyTorch・TensorFlow・ONNX 等で学習したモデルを、特定のハードウェア(クラウドインスタンス・エッジデバイス)向けにコンパイルして最適化する SageMaker AI の機能です。手作業でのハードウェア別チューニングを、コンパイラとランタイムに肩代わりさせます。

要するに、モデル用のクロスコンパイラです。1つのソースコード(モデル)を書けば、Neoが対象のCPU・GPU・エッジチップに合わせた実行形式に変換してくれます。

何に使うか

用途中身
クラウド推論の最適化ml_c5 / ml_m5 / ml_p3 / ml_g4dn 等の SageMaker AI エンドポイント向けにコンパイル
Inferentia / Trainium 対応AWS Inferentia(Inf1/Inf2)・Trainium(Trn1)向けにコンパイル
エッジデバイス配備IoT Greengrass 経由でエッジデバイスに配布・実行
量子化FP32のパラメータを INT8 / FP16 に量子化してサイズと速度を最適化

試験でどう問われるか

問われ方正解に寄る条件引っかけ
「学習済みの画像分類モデルを、複数のエッジデバイスやクラウドインスタンスで動かしたい」ハードウェアごとに手作業でチューニングしたくない → SageMaker Neo各ハードウェア向けに個別にモデルを再学習する案(過剰)

主役では出ません。 生成AI(LLM)の最適化はレイテンシ最適化モデルの選択や量子化されたモデル配布が中心で、Neo が対象にしているのは画像分類・物体検出などのコンピュータビジョン系モデル(対応フレームワークの実績がそちら寄り)です。D4(運用効率)の性能最適化の文脈で脇役として出ます。

取り違えやすいもの

迷う相手切り分けの一言
Bedrock Cross-Region InferenceCross-Region Inference はFM呼び出しをリージョンをまたいで負荷分散する仕組み。Neo はモデル自体をハードウェア向けにコンパイルする仕組みで、レイヤーが違う
SageMaker Model RegistryModel Registry はモデルのバージョン管理・承認フロー。Neo はコンパイル最適化。両者は組み合わせて使える(Registry管理下のモデルをNeoでコンパイルする、等)

想起チェック

Q1. SageMaker Neo が対象とするモデルの傾向は?

MXNet・PyTorch・TensorFlow・ONNX等で学習した、主にコンピュータビジョン系のモデルです。対応フレームワークと実績はそちらに寄っており、生成AI(LLM)の主要な最適化手段ではありません。

出典(AWS公式)