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
FargateとAthenaで作る、機械学習システム
Search
Nayuta S.
August 05, 2022
Programming
0
1.1k
FargateとAthenaで作る、機械学習システム
AKIBA.AWS ONLINE #09 – AWSを活用した機械学習 編- の発表資料です。
https://dev.classmethod.jp/news/akiba-aws-220804/
Nayuta S.
August 05, 2022
Tweet
Share
More Decks by Nayuta S.
See All by Nayuta S.
目玉アップデート!のSageMaker LakehouseとUnified Studioは何たるかを見てみよう!
nayuts
0
570
Amazon Rekognitionのカスタムモデルで独自のモデレーションモデルをトレーニングする
nayuts
0
140
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
280
データ品質管理の第一歩
nayuts
1
660
簡単に始めるSnowflakeの機械学習
nayuts
1
900
AthenaとStep Functionsで簡単ETLオーケストレーション #midosuji_tech
nayuts
1
950
Vertex AIとBigQueryでつくる簡単ベクトル検索&テキスト分析システム
nayuts
0
960
AIが強力にサポート!データ分析・ML系サービスアップデート
nayuts
0
660
dbt Coreとdbt-athenaによるAWS上のdbt環境構築ナレッジ
nayuts
0
1.9k
Other Decks in Programming
See All in Programming
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2k
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
10
1.4k
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
990
CloudNativePGがCNCF Sandboxプロジェクトになったぞ! 〜CloudNativePGの仕組みの紹介〜
nnaka2992
0
190
Spring gRPC について / About Spring gRPC
mackey0225
0
180
Amazon Bedrock Multi Agentsを試してきた
tm2
1
220
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
29
4.8k
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
120
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
4.2k
AWS Lambda functions with C# 用の Dev Container Template を作ってみた件
mappie_kochi
0
220
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
140
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
140
Featured
See All Featured
BBQ
matthewcrist
85
9.4k
Embracing the Ebb and Flow
colly
84
4.5k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The Invisible Side of Design
smashingmag
299
50k
What's in a price? How to price your products and services
michaelherold
244
12k
Six Lessons from altMBA
skipperchong
27
3.6k
RailsConf 2023
tenderlove
29
980
Building an army of robots
kneath
302
45k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
52k
4 Signs Your Business is Dying
shpigford
182
22k
Transcript
FargateとAthenaで作る、 機械学習システム 2022/8/4(⽊) AKIBA.AWS Online #9 データアナリティクス事業部 鈴⽊ 那由太 1
2 ⾃⼰紹介 鈴⽊ 那由太 - nayuts クラスメソッド 株式会社 データアナリティクス事業本部 ⼊社:
2021/05 好きなサービス: Amazon Athena 担当業務:データ分析基盤の構築・運⽤、機械学習システムの検証 ほか: kaggleにノート公開したりしていた。 2022 APN AWS Top Engineers(Analytics)
3 本⽇お話ししたいこと
4 本⽇お話ししたいこと 内容 • S3・Athena・Fargateでの機械学習システムの構成例 (CPUで動くモデル⽤、バッチ処理、初期段階のイメージ) 課題意識 • 機械学習モデルを作るところまではできたけど、システム化すると き、どの部分にどういう役割を持たせるか難しかった。
• Fargateタスクで動かしてみたかったが、ネットワーク・権限の要件 が多く感じた。
5 本⽇お話ししたいこと 想定視聴者 • FargateタスクとS3で機械学習システムを構成してみたい⽅ LTの技術的な要点 • プライベートサブネットでFargateタスクを動かすために必要な要 件 •
データを蓄えるところはデータ分析基盤の3層構成にすると当ては めやすい
6 LTのテーマ ご紹介する構成・考え⽅
7 紹介する構成 前処理・結合 データマート層 データを貯める部分 + 機械学習機能 で構成する。 データレイク層 学習・推論
ワークフロー エンジン データを貯める部分 機械学習部分
8 構成の根拠
9 構成の根拠 ①データレイク層 ②データウェアハウス層 ③データマート層 No 名前 役割 ① データレイク層
⽣データを格納しておく。後続のロジック修正時に 再計算できるようにしておく。 ② データウェアハウス層 クレンジングや共通化したいデータを格納する。基 盤が成熟していない場合、無いこともある。 ③ データマート層 ユースケース⽤のデータを格納しておく。 データ分析基盤部分は3層で考えるのが、今は⼀般的です。 ˞ʰ࣮ફతσʔλج൫ͷॲํᝦʙ ϏδωεՁग़ͷͨΊͷσʔλɾγεςϜɾώτͷϊϋʱΛࢀߟʹ͠·ͨ͠ɻ IUUQTHJIZPKQCPPL
10 紹介する構成(再掲) 前処理・結合 データマート層 データを貯める部分 + 機械学習機能 で構成する。 データレイク層 学習・推論
ワークフロー エンジン データを貯める部分 機械学習部分
11 難しかったところ
12 プライベートサブネットで実⾏する場合 エンドポイント・IAMロールは要件が多めです。 ※NATがないケース
13 ワークフローエンジンで実⾏する場合 別のリソースから起動する場合は、追加で必要なものがあります。 ※NATがないケース
14 パフォーマンスチューニング CPUの値とメモリの値に許容される組み合わせがある。 ▪以下のドキュメントより2022/07/23に抜粋 https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/task_definition_parameters.html
15 実験管理 ▪以下ブログより20220730に抜粋 https://aws.amazon.com/jp/blogs/news/machine-learning-managing-your-machine- learning-lifecycle-with-mlflow-and-amazon-sagemaker/ ▪以下ブログより20220730に抜粋 https://aws.amazon.com/jp/blogs/machine- learning/visualizing-tensorflow-training-jobs-with- tensorboard/ ⾃分で構築するなら以下の2つの選択肢がありそう。
① MLFlow ② TensorBoard ① MLFlowの利⽤例 ② TensorBoardの利⽤例
16 そのたポイント
17 処理単位の分け⽅ 前処理・結合 データマート層 データレイク層 学習実行 学習済みモデル ワークフロー エンジン 学習済みモデル
データマート層 推論実行 データマート層 データマート層 実行 処理1:データの作成 処理2:学習 処理3:推論 ⽇毎・⽉毎 に出⼒ 処理内容と周期で分けると整理しやすかったです。
18 起動設定やデータの渡し⽅ ワークフロー エンジン 学習または推論 実行 ①スケジュール実⾏ ワークフロー定義内でスケジューリングする。 ②学習・推論に利⽤するデータの指定 タスク定義の環境変数でS3上のどのオブジェクトを使うか指定する。
ワークフローからSDKでFargateタスクを呼び出し、環境変数を 上書きすると使いやすい。 Boto3 documentationより20220730に抜粋
19 メリット・デメリット • メリット • RedshiftなどDWH製品に詳しくなくても、とりあえずS3とAthenaを覚えれ ばサーバーレスで実現できる⼿軽さ。 • S3を起点としてFargateからデータを読み出しやすい。 •
デメリット • DWH製品とは異なり、ストレージに保存する際に型などのチェックがしにく く、利⽤する際まで異常に気づかないことがある。 • このあたりを使うと良いかも? • Redshift Serverless
20 ブログ • 以下のブログにも記載しました。
21