ひとことで言うと
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 Inference | Cross-Region Inference はFM呼び出しをリージョンをまたいで負荷分散する仕組み。Neo はモデル自体をハードウェア向けにコンパイルする仕組みで、レイヤーが違う |
| SageMaker Model Registry | Model Registry はモデルのバージョン管理・承認フロー。Neo はコンパイル最適化。両者は組み合わせて使える(Registry管理下のモデルをNeoでコンパイルする、等) |
想起チェック
Q1. SageMaker Neo が対象とするモデルの傾向は?
MXNet・PyTorch・TensorFlow・ONNX等で学習した、主にコンピュータビジョン系のモデルです。対応フレームワークと実績はそちらに寄っており、生成AI(LLM)の主要な最適化手段ではありません。