Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SageMakerを使った際のインフラ観点での気づき

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for kazuma sugiyama kazuma sugiyama
September 17, 2025
330

 SageMakerを使った際のインフラ観点での気づき

Avatar for kazuma sugiyama

kazuma sugiyama

September 17, 2025
Tweet

Transcript

  1. 2 自己紹介 Works ・クラウド開発(バックエンド)のインフラエンジニア ・製造業向けのシステム開発を担当 株式会社NTTデータ 杉山一馬 Qualification Private ・福岡出身→東京→千葉

    ・外食、食べログいった登録1000+ ・LIVE参戦 ・AWS Solution Architect Professional ・AWS DevOps Engineer Professional ・AWS Machine Learning Specialty などなど
  2. 6 発表1: SageMaker フルマネージド型 mlflow SageMaker Experimentsの後継として登場したフルマネージド型 mlflow。 OSSベースのmlflowが統合された。 実験管理の用途であり、モデル学習や検証の結果を管理したり、結果比較したりする際に活用。AWS側でサーバをマ

    ネージドに用意されることから実験管理の準備負荷が減り、簡単に学習管理環境が用意できる。 https://aws.amazon.com/jp/sagemaker-ai/mlops/ https://aws.amazon.com/jp/blogs/news/manage-ml-and-generative-ai-experiments-using-amazon-sagemaker-with-mlflow/
  3. 8 発表1: SageMaker フルマネージド型 mlflow 1. 本トラッキングサーバの可用性について データのバックアップはされるのか?復旧はできるのか? ・終了保護やバックアップ/リストアはできない ・IAMポリシー等で縛るなどの対策必要

    ・本サーバの可用性の記述は見つけられなかった おそらくSageMakerの下限99.9%になるものと推定 開発適用時に仕様整理で困る可能性はある (Model Registryも含めて不明であり、開示していないものと推定) StopとDeleteの操作が可能 2. 本環境をIaCで構築できるか Terraformでの構築は可能 Studioに加えて、中のサーバまでは用意できる 出力するための実行コマンドは手配置 ・デフォルト設定も詳細も対応しており サーバスペック等も指定できる ・ただし、そもそもそこまで指定するべく項目もなく あえてIaC化するべきかは要検討ポイント https://registry.terraform.io/providers/hashicorp/aws/latest/docs/ resources/sagemaker_mlflow_tracking_server インフラエンジニアとして気になった観点
  4. 9 発表2: SageMaker を用いた際の環境面の考え方 開発の原則的には同じ環境をそれぞれで持つ ただし、状況によっては差分を作ることもある ただしそれはそれで管理観点で難しさもある +障害の基となるケースもある 開発環境 検証環境

    本番環境 モデル学習(画像/教師あり): P系のインスタンスを使って実行 月にフル稼働すると数百万円が発生 モデル学習を同じように他の面でも実行する? https://docs.ultralytics.com/ja/tasks/detect/ 疑問 → NO。学習は高コストなので“配布/サービング”などを検討 一般的に商用開発では複数同じ構成で環境用意することが求められるケースが多い。一方で、モデル学習は高単 価のGPUを用いることになるため、全環境で同じ実行をすると高額になる。SageMakerを前提にするときにどのよう に環境面を作るのが最適なのか当初は悩んでしまったが、単純にフルコピーをすることは悪手である仮説は立ててい た。
  5. 10 発表2: SageMaker を用いた際の環境面の考え方 開発環境 SageMaker Model Registry S3 (ストレージ)

    SageMaker Pipelines ②モデルリリース (モデル格納先や学習条件を整理) ①学習済みモデルの格納 検証/本番環境 ③リリース検出 イベント発火 Event Bridge モデル学習 SageMaker Endpoint サービング Lambda など SageMaker Endpoint サービング ④モデルの配布 ⑤配布 Code Pipeline (詳細割愛) 結果出力/監視 (ストレージ経由) SageMaker Model Monitor Lambda など SageMaker Model Monitor 要件にも依るが、例えば開発環境で用意したモデルを配布するようなアーキテクチャにするとコストが抑えられる ただし、正解はなく、要件やMLモデルの特性に応じた最適化は必要である+様々な検討ポイントがある 以下のようなアーキテクチャテンプレートがマネージドサービス化されているとなおありがたいなと感じた
  6. 11 発表2: SageMaker を用いた際の環境面の考え方 1. 用意するリージョンについて MLモデルにも依るが、例えばGPUを多分に使いたいケースの場合、昨今確保が難しいケースがある ・比較的アメリカが確保しやすいが、一方でPJによってはアメリカに自由にサーバを用意できない または学習用データをプライバシー保護等で送付できないケースもあるので リージョン決定する際は注意が必要(キャパ不足時の代替策も検討もしておくとBest)

    ・アメリカにおいても、リージョンは複数ある。リージョンごとにサーバの確保容易性は異なる サーバ数は非公表、かつ動確も水物な情報ではあるが、事前に起動確認などはしておくと後悔しない 2. 複数リージョンで学習する際の結果管理について リージョンを分け、学習サーバを確保しやすくする策を講じた際に その結果管理まで分かれてしまうのは困るため、一括管理したい Studio内のトラッキングサーバをPublic設定すれば受付可能となるが その場合はセキュリティ設計などを忘れないこと ここまでは”開発面をどう切るか?”という観点で整理をしたが、他にも以下の環境面の観点での整理も重要 面の検討以外にも、コストを抑える施策、CI/CDやアラートの作りこみなど、検討ポイントは多岐に渡る 学習用サーバ 学習用サーバ トラッキング サーバ バージニア オハイオ