S3 → Lambda → SageMaker → S3 の流れについてザッと書きました。
ただ、なるべく必要最低限にとどめた結果、実際に使用する上では微妙な箇所がチョイチョイあります。
例えば、、、
- ECRにPushしたイメージが常にlatestタグになってしまっている
→ちゃんとタグつけて管理したほうが良い - ONNXモデルをDocker内に同梱している
→モデルは同梱せずにS3などの外部から参照したほうが良い
→なんなら推論スクリプトも外に置いたほうが良いかも - S3の入力パスと出力パスが同じバケットになっている
→再帰呼び出しのリスクを下げるためにも別バケットが良い - 推論結果がmodel.tar.gzになっていて取り回しが悪い
→必要に応じて独自にS3などへアップロードする処理を書いたほうが良いかも
などなどあるので、ご自身で構築する際には、構成やプログラムの変更をご検討ください🙇