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

DTD_AWSでGPUを利用するML処理の実行環境の選び方

Avatar for BrainPad BrainPad
September 25, 2025

 DTD_AWSでGPUを利用するML処理の実行環境の選び方

Avatar for BrainPad

BrainPad

September 25, 2025
Tweet

More Decks by BrainPad

Other Decks in Technology

Transcript

  1. 2 ©BrainPad Inc. Strictly Confidential 自己紹介 ⮚ 名前・所属 ⮚ 竹下

    大地 ⮚ ML/アプリケーション開発 アプリケーションエンジニア ⮚ 新卒3年目 ⮚ 普段の業務 ⮚ 材料探索アプリのフロントエンド・バックエンドの開発を行っています ⮚ 趣味 ⮚ ボルダリング ⮚ 週1で壁を登ってます!
  2. 3 ©BrainPad Inc. Strictly Confidential こんな課題、ありませんか? • AWS上でGPUを使った機械学習のバッチ処理をしたい… • GPUを使いたいけど、どのサービスがいいの?

    • コストは抑えたい。使わない時はリソースを0にしたい! • でも運用管理の手間はなるべくかけたくない… 答えをお教えします!
  3. 5 ©BrainPad Inc. Strictly Confidential Agenda 1. 背景: 私たちが直面した課題 2.

    比較: 各種実行環境の選定と比較 3. 結論: なぜ◦◦を選んだのか 4. まとめ: サービス選定およびシステム開発をして得た学び 背景 比較 結論 まとめ
  4. 7 ©BrainPad Inc. Strictly Confidential 背景 社内の研修の一環で、クラウドを用いたAI議事録作成サービスを作ることになりました プロジェクト概要 • AI議事録作成サービス

    • オンライン会議の動画ファイル(mp4)から、自動で議事録を生成するシステムを開発。 要件 • 外部に情報を出さないセキュアなアーキテクチャにするため、オープンソースのLLMを利用 • mp4をインプットに文字起こし&要約をした議事録をアウトプット • 運用コストは ~ 5万円 / 月 • 処理時間 : 10分程度でリアルタイム性は不要 • (AWSで構築) 背景 比較 結論 まとめ
  5. 8 ©BrainPad Inc. Strictly Confidential アーキテクチャ選定のための要件整理 〇主な要件 • 外部に情報を出さないセキュアなアーキテクチャにするため、オープンソースのLLMを利用 •

    mp4をインプットに文字起こし&要約をした議事録をアウトプット • 運用コストは ~ 5万円 / 月 LLMのAPIではなく、OSS(オープンウェイト)モデルを使う ため、できるだけ大きいモデルを使って精度を上げたい 十分なVRAMを搭載したGPUが必須 コストに上限があるため、スポットインスタンス、 ゼロスケールを活用しコストを抑える GPU、ゼロスケール、コストの観点で選定 背景 比較 結論 まとめ
  6. 9 ©BrainPad Inc. Strictly Confidential 実行環境の比較検討 〇サービス選定の評価観点 1. OSSモデルが動くGPU環境 •

    十分なVRAMを搭載したGPUが必須 2. コストの最適化 • 使わない時は0円にしたい (ゼロスケール) • スポットインスタンスを使いたい 3. 非同期(バッチ)処理 • リアルタイム性は不要でOK 4. マネージドサービス • できれば運用負荷を低くしたい • コンテナが使えるサービスを利用したい 評価観点 概要 GPU利用 GPUインスタンスが利用できるか ゼロスケール リクエストがない時にリソースを0にできるか コスト インスタンス料金はどうか・スポットインスタンスは利用できるか 背景 比較 結論 まとめ
  7. 11 ©BrainPad Inc. Strictly Confidential GOOD • サーバーレスのコンピュートサービス • リソースについて考慮する必要なし!

    • 自動スケーリング • 従量課金制 • 使ってないときはコストがかからない! BAD • GPUは使えない • 最大15分の制限あり エントリーナンバー1 : AWS Lambda サーバーレスで手のかからない実行環境といえば、AWS Lambda! AWS Lambda GPUを使えないかつ、実行時間の制限があるため 要件を満たさない 背景 比較 結論 まとめ
  8. 12 ©BrainPad Inc. Strictly Confidential ECSはコンテナオーケストレーションサービスであり、実行環境が2種類ある エントリーナンバー2, 3 : Amazon

    ECS コンテナならスケーリングしやすそう!Amazon ECS! ECS on EC2 ECS on Fargate ユーザー管理 AWS管理 アプリケーションコンテナ スケーリング(インスタンス) エージェントの管理 ホストOS / ライブラリ設定 ユーザー管理 AWS管理 AWS管理 ユーザー管理 ユーザー管理 ユーザー管理 Amazon ECS カスタマイズできて 自由度が高い コンテナを サーバーレスで動作 背景 比較 結論 まとめ
  9. 13 ©BrainPad Inc. Strictly Confidential GOOD • サーバーレスのコンテナサービス • インスタンス自体の管理は不要!

    • 自動スケーリングは設定すれば可能 • ゼロスケールに設定すれば実質従量課金 BAD • GPUは使えない • スケーリングの設定は必要 エントリーナンバー2 : ECS on Fargate コンテナをサーバーレスで! ECS on Fargate GPUを使えないため要件を満たさない 背景 比較 結論 まとめ
  10. 14 ©BrainPad Inc. Strictly Confidential GOOD • 全インスタンスから自由に選択可能 • スポットインスタンスも選択できてコストダウン!

    • GPUの種類も無制限! BAD • インスタンスの管理が必要 • スケーリングの管理が必要 • インスタンスのスケーリング • コンテナのスケーリング • ゼロスケールはほぼ不可能 エントリーナンバー3 : ECS on EC2 Fargateで無理なら、自由度が高いEC2でどうだ! ECS on EC2 Fargateと異なり、インスタンスの管理も必要 ゼロスケールもできず、要件を満たさない 背景 比較 結論 まとめ
  11. 15 ©BrainPad Inc. Strictly Confidential GOOD • 全インスタンスから自由に選択可能 • スポットインスタンスも選択できてコストダウン!

    • GPUの種類も無制限! BAD • コンテナはユーザーが管理して運用する必要がある • スケーリングも自己管理(Kubernetesなど) • インスタンスのスケーリングもユーザー管理 • ゼロスケールもほぼ不可能 エントリーナンバー4 : Amazon EC2 自由度MAX!IaaSならどうだ! EC2 Iaasは自由度が高いが管理が困難 ゼロスケールもできず、要件を満たさない 背景 比較 結論 まとめ
  12. 16 ©BrainPad Inc. Strictly Confidential エントリーナンバー5 : Amazon SageMaker AWSでMLモデルを扱うならSageMaker!

    だが、コンテナデプロイの選択肢が膨大... SageMaker リアルタイム推論 サーバーレス推論 バッチ推論 非同期推論 Processing Job Training Job レスポンス ゼロスケール タイムアウト GPU利用可能 秒以下 コールドスタートのため不定(インスタンス起動、コンテナ起動の時間がかかる) × 〇 ~1分 調整可能 〇 ? ~1時間 調整可能 × 〇 今回の要件に合うサービスは バッチ推論、非同期推論、Processing Job、Training Job 背景 比較 結論 まとめ
  13. 17 ©BrainPad Inc. Strictly Confidential エントリーナンバー5 : Amazon SageMaker バッチ推論、非同期推論、Processing

    Job、Training Jobのどれがよさそうか SageMaker バッチ推論 非同期推論 Processing Job Training Job GPUの種類 スポットインスタンス コスト 制限あり SageMaker価格が上乗せ × ほぼ制限なし 〇 Training Jobなら今回の要件を達成できる! (が、学習用サービスで推論してよいのか?) 背景 比較 結論 まとめ
  14. 18 ©BrainPad Inc. Strictly Confidential 〇どんなサービスなのか • 大規模バッチ処理のための環境をフルマネージドで提供するサービス • AWS

    Batchがインスタンスの起動や停止を管理 • 実行環境はEC2かFargateを選択できる • コンテナをジョブという単位で管理 • ジョブキューの機能があり、リクエストを順番に処理できる エントリーナンバー6 : AWS Batch あまり聞きなじみのないサービスAWS Batchとは AWS Batch or 背景 比較 結論 まとめ
  15. 19 ©BrainPad Inc. Strictly Confidential GOOD • 全インスタンスから自由に選択可能 • スポットインスタンスも選択できてコストダウン!

    • GPUの種類も無制限! • 管理不要でゼロスケール可能! • ジョブが終了したらインスタンスを終了してしてくれる • コンテナのスケーリングも可能 BAD • ジョブの起動の度にインスタンスの立ち上げ、コンテナイメージのプル、コンテナの立ち上げをする必 要があり、実行までかなり時間がかかる エントリーナンバー6 : AWS Batch (EC2) Training Jobに勝てるのか! AWS Batch AWS Batchも要件を達成できる! AWS Batch自体には料金がかからず、EC2の全インスタンスが選択可能! ⇒Training Jobよりもコストがかからない! 背景 比較 結論 まとめ
  16. 21 ©BrainPad Inc. Strictly Confidential 各サービス比較一覧 GPUの利用、ゼロスケール可能なサービスはProcessing Job、Training Job、AWS Batch

    その中で一番コストがかからないのはAWS Batch! ただし、実行時間はとても長い GPU ゼロスケール インスタンス種類 (GPUの選択肢) スポット インスタンス インスタンス コスト 実行時間 (今回は重要度低) Lambda ECS on Fargate ECS on EC2 EC2 〇 × Processing job Training job AWS Batch ◎ - 料金形態 が異なる - 〇 × - - 〇 × 〇 × 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 × 〇 × (料金上乗せ) × △ △ △ △? △? × (料金上乗せ) 料金形態 が異なる 〇 背景 比較 結論 まとめ
  17. 22 ©BrainPad Inc. Strictly Confidential サービス選定まとめ 【結果】 • GPU、ゼロスケール、コストの3要件は達成できました! •

    コストは試算で 4.5万 / 月に収まりました • 30 / 日リクエスト、20日 / 月とする。インスタンスが1.11 USD / 時 ⇒ 約4.5万円 • 一方で、処理時間(10分以内)の目標は未達(許容)でした。 【トレードオフ:実行速度】 • AWS Batchはジョブの都度、①EC2インスタンスの起動 ⇒ ②ECSクラスタの作成⇒ ③イメージのプル ⇒ ④コンテナ立ち上げ ⇒ ⑤コンテナ実行(⇒ ⑥インスタンスの終了)を行ため、非常に時間がかかる • 実際にかかった時間(LLMモデルで議事録を要約するコンテナ) • 起動に11分(①②③④) • 30分の動画に対する要約に14分(⑤) • 削除に5分程度(⑥) レスポンスまで25分 1リクエスト当たり30分のコスト 背景 比較 結論 まとめ
  18. 25 ©BrainPad Inc. Strictly Confidential 学び① ◎GPUを使ったML処理をAWSで構築するなら ①起動時間度外視でコスト優先のバッチ処理 → AWS

    Batch(ただし、一定以上リクエストがくる場合は②) ②コスト優先で常時起動 → EC2 or ECSonEC2 ③運用コストを考慮してバッチ処理 → SageMaker (④Google Cloudを使う) ◎GPU利用はいたるところに制限がある AWSサービス、インスタンス、コスト、コンテナイメージ、ストレージサイズ…など、思ってもみないところでうまくい かないことがある。網羅的にサービスを調査・把握する必要がある 背景 比較 結論 まとめ
  19. 26 ©BrainPad Inc. Strictly Confidential 学び② ◎起動時間をどうやって早くするか 今回の条件では起動に11分もかかってしまった。コンテナイメージにLLMモデルを含めてしまい、イメージのプルに時間 がかかっていた。S3にLLMモデルを格納しコンテナから取得する方が早く起動できるはず。⇒ さらにコスト減

    ◎AWS Batchは便利な部分もあるが、開発は難しい AWS Batchの中でEC2を起動し、そのEC2にコンテナを立てているため、エラーが出た時に該当箇所を特定しにくい。 コンソールのAWSSupport-TroubleshootAWSBatchJobで調査する必要がある ◎クラウドは常に進化している GCP Cloud RunではすでにGPUが利用可能で、ゼロスケールにも対応している。(なんて良いサービスなんだ…) 今後、FargateのGPU対応や、EC2のゼロスケール対応が実現すれば、さらに最適な選択肢が生まれるかもしれません ※AWS、Amazon Web Services、および関連するロゴは、Amazon.com, Inc. またはその関連会社の商標です。 背景 比較 結論 まとめ