Chapter 01

はじめに

kazuhito
kazuhito
2021.12.23に更新
このチャプターの目次

はじめに

リアルタイムでなくて良いので、
ある動画をディープラーニングで推論して、
推論結果をどこかに吐き出しておきたい。みたいな要望はあると思います。
バッチ処理的に🦔

今まで自分が、そーいうことをやろうと思ったら、、、

  • ローカルPCでスクリプトを実行して放置
  • Google Colaboratoryでスクリプトを実行して放置
  • AWS FargateとLambdaでうんたらかんたら
  • etc

みたいな感じで済ますことが多かったです。

とある案件で「それ SageMaker の Training Job が良いですよ」と聞いたので、
この本はその覚書です。
久々にAWS触ったので、操作の覚書も含め少々細かめに。

ちなみに聞いた時に「Training Job? トレーニング? 聞き間違いか、、、?」と思ったのは秘密です。

そして調べていると、先人も似たような試行錯誤で「Training Jobが良さそう」と辿り着いている記事を見つけました👀

https://logmi.jp/tech/articles/324734

この記事では、SQS・AMI・EC2の構成に始まり、
SageMaker Batch Transform や SageMaker Processing を経て、
AWS Batch を検討し、最終的には SageMaker Training job が一番良いのでは?
と言う結論になっています。

しかし、以下のようにも書かれていますが👻

これは名前のとおり学習Jobを回すやつで、学習 Jobの中で推論してしまう使い方をします。これはどう考えても想定されている使い方じゃないんですが、意外といい感じに動いていて(笑)。スポットインスタンスも使えるし、インスタンスタイプも他のサービスより使えるタイプが多いです。そのため、汎用計算環境としてはかなり使い勝手がいいものになってます。

構成

この本で構築するAWSは以下のようなイメージです。
PC操作はUbuntu上での操作を想定しています。

構成をシンプルにするために、訓練済みモデルをDockerイメージに含めていますが、
実運用ではS3や外部ストレージに置いたほうが良いとは思います。