Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤
Search
貞松政史
June 08, 2023
Technology
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤
2023/06/03 JAWS-UG Okayama 2023のピンチヒッターセッション
※内容はAKIBA.AWS ONLINE #9の再演です
貞松政史
June 08, 2023
More Decks by 貞松政史
See All by 貞松政史
Amazon Forecast亡き今、我々がマネージドサービスに頼らず時系列予測を実行する方法
sadynitro
0
1.5k
今日のハイライトをシステマティックに
sadynitro
1
95
はじめてのレコメンド〜Amazon Personalizeを使った推薦システム超超超入門〜
sadynitro
2
2.8k
予知保全利用を目指した外観検査AIの開発 〜画像処理AIを用いた外観画像に対する異常検知〜
sadynitro
0
1.4k
20230904_GoogleCloudNext23_Recap_AI_ML
sadynitro
0
1k
Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略
sadynitro
0
1.1k
Amazon SageMakerが存在しない世界線のAWS上で実現する機械学習基盤
sadynitro
0
2.3k
みんな大好き強化学習
sadynitro
0
1.4k
機械学習エンジニアはMLOpsの夢を見るか?
sadynitro
1
1.5k
Other Decks in Technology
See All in Technology
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
290
サーバー常駐型の 簡易障害調査AI エージェントを作ってみた話
masayoshi
0
170
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
420
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
910
8bit CPU 2026
koba789
7
2.9k
あなたの知らないバージョン命名規則
sat
PRO
2
780
[ホンマでっか SRE] あなたはなぜ SRE に?
_awache
0
260
Claude Teamプランの コスト最適化を考える
rfdnxbro
0
710
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
2
700
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
380
Marketing to machines
jonoalderson
1
5.7k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
WCS-LA-2024
lcolladotor
0
810
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
580
The World Runs on Bad Software
bkeepers
PRO
72
12k
Transcript
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤 2023.06.03 JAWS-UG Okayama 2023 1
2 ⾃⼰紹介 info award ˞.BDIJOF-FBSOJOHΧςΰϦ • ఃদ ࢙ʢαμϚπ Ϛαγʣ •
5XJUUFSJE!TBEZ@OJUSP • Ϋϥεϝιουגࣜձࣾ %"ࣄۀຊ෦ ػցֶशνʔϜ Ϛωʔδϟʔ • ΦΧϠϚίϯϐϡʔλαΠΤϯεϥϘओ࠵
3 AWSで… AWSで機械学習と⾔えば Amazon SageMaker︕
4 本当に…︖ 本当にそれだけ︖
5 状況は様々 • 現在の環境をそのまま流⽤したい • 部分的に⼩さく始めたい • サービスのお作法を気にしたくない • コストが気になる
• 他の環境への移植も考慮したい
6 ご紹介します Amazon SageMakerを使⽤しない アーキテクチャをご紹介
7 おしながき • 機械学習基盤に必要な要素 • 仮想マシンを使うアーキテクチャ • コンテナを活⽤したアーキテクチャ • サーバーレスアーキテクチャ
• パイプライン処理やCI/CDを考える • 実験管理やモニタリングはどうする︖
8 機械学習基盤に必要な要素 • 機械学習基盤に必要な要素 • 仮想マシンを使うアーキテクチャ • コンテナを活⽤したアーキテクチャ • サーバーレスアーキテクチャ
• パイプライン処理やCI/CDを考える • 実験管理やモニタリングはどうする︖
9 MLOpsを考慮した機械学習基盤 MLOps: 機械学習における継続的デリバリーと⾃動化のパイプライン https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning Google Cloudが定義するMLOps (レベル別) • MLOpsレベル
0 : ⼿動プロセス • MLOpsレベル 1 : MLパイプラインの⾃動化 • MLOpsレベル 2 : CI/CDパイプラインの⾃動化
10 機械学習基盤に必要な要素 データ蓄積 デプロイ 推論実⾏ 学習パイプライン 評価 検証 推論 学習
前処理 データ 抽出 再学習 トリガー ロギング モニタリング 実験管理 特徴量ストア
11 仮想マシンを使うアーキテクチャ • 機械学習基盤に必要な要素 • 仮想マシンを使うアーキテクチャ • コンテナを活⽤したアーキテクチャ • サーバーレスアーキテクチャ
• パイプライン処理やCI/CDを考える • 実験管理やモニタリングはどうする︖
12 Amazon EC2を利⽤ (⾮推奨) • 如何ようにでもできる • データ抽出、前処理、学習、 推論、デプロイまで1台でも 完結できる
(⾮推奨) • とはいえ実装コスト、管理 コストが爆増 • 少なくとも各処理フェーズ ごとにコンテナで管理する べき Amazon EC2 Database Amazon S3
13 コンテナを活⽤したアーキテクチャ • 機械学習基盤に必要な要素 • 仮想マシンを使うアーキテクチャ • コンテナを活⽤したアーキテクチャ • サーバーレスアーキテクチャ
• パイプライン処理やCI/CDを考える • 実験管理やモニタリングはどうする︖
14 コンテナを利⽤したコンピューティング • Amazon ECS • フルマネージドなコンテナオーケストレーション • AWS Fargateをコンピューティング環境とするサーバー
レスなコンテナ実⾏ • AWS Batch • ジョブキューやコンピューティング環境、実⾏パラメー タ等を定義したバッチジョブのパッケージ • 実際に実⾏されるのはECSタスク • 実⾏環境はAWS Batchによって制御される
15 Amazon ECSを利⽤した学習・推論環境 • Amazon ECRからコンテナ イメージを取得して実⾏ • 定義されたタスクを呼び出し •
コンピューティング環境と してEC2とFargateが選択 できる Amazon S3 Amazon ECS AWS Fargate Amazon EC2 Database OR Amazon ECR Amazon API Gateway AWS Lambda
16 Amazon ECSを利⽤するメリット・デメリット • メリット • 実⾏環境や処理をコンテナに押し込めているのでポータ ビリティが⾼い • コンピューティング環境のスケーラビリティが⾼い
• Fargateを利⽤したサーバーレスなコンテナ実⾏ • デメリット • EC2利⽤(主にGPU利⽤想定)の場合はコスト⾼め • コールドスタート含めオーバーヘッドがある
17 AWS Batchを利⽤した学習・推論環境 • ジョブキュー、コン ピューティング環境、 ジョブ定義等を設定 • 定義されたジョブを呼 び出し
• 裏側でECSタスクが実 ⾏される Amazon S3 Amazon ECS AWS Fargate Amazon EC2 Database OR Amazon ECR Amazon API Gateway AWS Lambda AWS Batch Amazon EventBridge
18 AWS Batchを利⽤するメリット・デメリット • メリット • ECSのメリットをそのまま享受できる • EC2利⽤でもプロビジョニングから停⽌まで実⾏制御してくれる 為コスト低め
• スポットインスタンス利⽤でコストを下げる選択肢もある • ジョブキューを搭載しているので、⼤量の同時実⾏制御に向いて いる • デメリット • オーバーヘッドがかなりかかる為、⼩さな処理をたくさん実⾏す るようなワークロードには向かない
19 サーバーレスアーキテクチャ • 機械学習基盤に必要な要素 • 仮想マシンを使うアーキテクチャ • コンテナを活⽤したアーキテクチャ • サーバーレスアーキテクチャ
• パイプライン処理やCI/CDを考える • 実験管理やモニタリングはどうする︖
20 AWS Lambda (コンテナデプロイ)を利⽤ ;JQ ίϯςφ ετϨʔδॴ S3 ECR ετϨʔδαΠζ্ݶ
Ϧʔδϣϯ୯Ґ 75GB (上限緩和可能) ECRのクォータに準拠 ΞʔςΟϑΝΫταΠζ্ݶ 250 MB (展開後) 10 GB -BZFSରԠ あり なし ίʔυॺ໊ あり なし Lambda Functionのデプロイ形式の違いによる制限の違い https://aws.amazon.com/jp/builders-flash/202103/new-lambda-container-development/
21 AWS Lambdaを利⽤する場合の注意事項 • アーティファクトサイズ上限10GB • 同時実⾏数上限1000(同⼀アカウント同⼀リージョン内) • タイムアウト時間上限15分 •
メモリ割り当て上限10GB • Lambda Functionから「ファイル書き込み」ができる領域 は「/tmp」のみ (かつストレージ上限10GB) • Lambda⽤のコンテナイメージ作成時に幾つかお作法が存 在する(Dockerfileの書き⽅など)
22 AWS Lambdaを利⽤した推論エンドポイント • Lambda Functionで学習済みモデルを読み 込んで推論処理を実⾏する • コンテナ⾃体に学習済みモデルファイルを 詰め込むとファイルサイズが膨らむので、
S3に配置して実⾏時に読み込む⽅式 を推奨 • API Gatewayのタイムアウトが最 ⼤29秒なので、実際にはLambda Functionの処理を呼び出した段階でレスポ ンスを返して⾮同期に処理することを想定 Amazon S3 Amazon ECR Amazon API Gateway AWS Lambda
23 パイプライン処理やCI/CDを考える • 機械学習基盤に必要な要素 • 仮想マシンを使うアーキテクチャ • コンテナを活⽤したアーキテクチャ • サーバーレスアーキテクチャ
• パイプライン処理やCI/CDを考える • 実験管理やモニタリングはどうする︖
24 AWS CodePipeline・AWS CodeBuildを利⽤ • コードリポジトリに対するプッシュをトリガー • 最新のコードで再学習を実⾏ • 学習済みモデルをデプロイ
開発者 AWS CodeBuild AWS CodePipeline Amazon EventBridge AWS CodeCommit GitHub OR Event AWS CodeDeploy AWS Cloud 推論実⾏ 環境 学習実⾏ 環境
25 実験管理やモニタリングはどうする︖ • 機械学習基盤に必要な要素 • 仮想マシンを使うアーキテクチャ • コンテナを活⽤したアーキテクチャ • サーバーレスアーキテクチャ
• パイプライン処理やCI/CDを考える • 実験管理やモニタリングはどうする︖
26 Amazon AthenaやAmazon DynamoDBを利⽤ • 管理したいデータ • 学習データセット本体 (保存先) •
特徴量 • ハイパーパラメータ • コスト重視 (サーバーレスでストレージコストが安価) • SageMaker Feature Storeも裏側はAthena Amazon Athena Amazon DynamoDB
27 Amazon CloudWatchやAmazon EventBridgeを利⽤ • CloudWatchのカスタムメトリクスを使⽤して必要なデータを送信 • メトリクス値を利⽤してCloudWatch Alarmを設定 •
EventBridge経由で再学習をトリガー • SNS経由で通知を送信 開発者 AWS CodeBuild AWS CodePipeline Amazon EventBridge Event AWS CodeDeploy AWS Cloud 推論実⾏ 環境 学習実⾏ 環境 Amazon CloudWatch カスタムメトリクス送信 Amazon SNS
28 まとめ
29 まとめ • 機械学習基盤の要件は様々 • 幾つかの選択肢として、Amazon SageMakerを 利⽤しないアーキテクチャについてご紹介 • AWSのサービスを組み合わせることで要件を満たす
環境を柔軟に構築 • ポータビリティを重視して、主要な処理をコンテナ に押し込める⽅針が筋としては良さそう
30