$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FargateとAthenaで作る、機械学習システム
Search
Nayuta S.
August 05, 2022
Programming
1
1.3k
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.
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
770
Snowflakeで実践する、生成AIを活用した「自然言語によるデータとの対話」
nayuts
0
190
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
1.2k
FastMCPでSQLをチェックしてくれるMCPサーバーを自作してCursorから動かしてみた
nayuts
1
570
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
550
目玉アップデート!のSageMaker LakehouseとUnified Studioは何たるかを見てみよう!
nayuts
0
1.3k
Amazon Rekognitionのカスタムモデルで独自のモデレーションモデルをトレーニングする
nayuts
0
330
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
580
データ品質管理の第一歩
nayuts
1
1.1k
Other Decks in Programming
See All in Programming
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
0
170
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
AIコーディングエージェント(skywork)
kondai24
0
200
SwiftUIで本格音ゲー実装してみた
hypebeans
0
490
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
890
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
320
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3k
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
440
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
120
チームをチームにするEM
hitode909
0
370
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.1k
Rails Girls Zürich Keynote
gr2m
95
14k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
90
How GitHub (no longer) Works
holman
316
140k
Mobile First: as difficult as doing things right
swwweet
225
10k
The untapped power of vector embeddings
frankvandijk
1
1.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
260
How to Ace a Technical Interview
jacobian
281
24k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Done Done
chrislema
186
16k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
340
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