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
620
Amazon Rekognitionのカスタムモデルで独自のモデレーションモデルをトレーニングする
nayuts
0
150
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
300
データ品質管理の第一歩
nayuts
1
690
簡単に始めるSnowflakeの機械学習
nayuts
1
950
AthenaとStep Functionsで簡単ETLオーケストレーション #midosuji_tech
nayuts
1
970
Vertex AIとBigQueryでつくる簡単ベクトル検索&テキスト分析システム
nayuts
0
980
AIが強力にサポート!データ分析・ML系サービスアップデート
nayuts
0
670
dbt Coreとdbt-athenaによるAWS上のdbt環境構築ナレッジ
nayuts
0
2k
Other Decks in Programming
See All in Programming
DROBEの生成AI活用事例 with AWS
ippey
0
130
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
10
1.8k
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
730
ARA Ansible for the teams
kksat
0
150
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
490
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
210
Open source software: how to live long and go far
gaelvaroquaux
0
620
Linux && Docker 研修/Linux && Docker training
forrep
23
4.5k
AWS Lambda functions with C# 用の Dev Container Template を作ってみた件
mappie_kochi
0
240
技術を根付かせる / How to make technology take root
kubode
1
240
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
180
Honoとフロントエンドの 型安全性について
yodaka
4
250
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Producing Creativity
orderedlist
PRO
343
39k
Building Your Own Lightsaber
phodgson
104
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Visualization
eitanlees
146
15k
Gamification - CAS2011
davidbonilla
80
5.1k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
We Have a Design System, Now What?
morganepeng
51
7.4k
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