Submit Search
Upload
UNICORNの機械学習ワークロードにおけるSpot&AWS Batchの活用
•
1 like
•
1,878 views
I
Inoue Seki
Follow
2020/11 AWSセミナー「秋のスポットインスタンス祭り」資料
Read less
Read more
Software
Report
Share
Report
Share
1 of 38
Download now
Download to read offline
Recommended
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon Web Services Japan
Spider storage engine (dec212016)
Spider storage engine (dec212016)
Kentoku
[F.O.XMeetup#2]インフラ業務を開発エンジニアへ移譲して_2年間の軌跡_
[F.O.XMeetup#2]インフラ業務を開発エンジニアへ移譲して_2年間の軌跡_
Takahiro Moteki
Spiderストレージエンジンのご紹介
Spiderストレージエンジンのご紹介
Kentoku
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Kentoku
MariaDB 10.3から利用できるSpider関連の性能向上機能・便利機能ほか
MariaDB 10.3から利用できるSpider関連の性能向上機能・便利機能ほか
Kentoku
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
Takahiro Moteki
ソーシャルゲームのEMR活用事例
ソーシャルゲームのEMR活用事例
知教 本間
Recommended
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon Web Services Japan
Spider storage engine (dec212016)
Spider storage engine (dec212016)
Kentoku
[F.O.XMeetup#2]インフラ業務を開発エンジニアへ移譲して_2年間の軌跡_
[F.O.XMeetup#2]インフラ業務を開発エンジニアへ移譲して_2年間の軌跡_
Takahiro Moteki
Spiderストレージエンジンのご紹介
Spiderストレージエンジンのご紹介
Kentoku
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Kentoku
MariaDB 10.3から利用できるSpider関連の性能向上機能・便利機能ほか
MariaDB 10.3から利用できるSpider関連の性能向上機能・便利機能ほか
Kentoku
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
[2018bcu30]1年半もかけてしまったビッグデータ環境のリプレイス
Takahiro Moteki
ソーシャルゲームのEMR活用事例
ソーシャルゲームのEMR活用事例
知教 本間
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Web Services Japan
ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
Masakazu Matsushita
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
yuichi_komatsu
若手Webエンジニア勉強会公開用
若手Webエンジニア勉強会公開用
Hiroki Nigorinuma
elasticsearch-hadoopをつかってごにょごにょしてみる
elasticsearch-hadoopをつかってごにょごにょしてみる
Katsushi Yamashita
EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016
Yasuhiro Matsuo
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
Amazon Web Services Japan
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
Sotaro Kimura
リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介
Sotaro Kimura
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
Amazon Web Services Japan
AWSエンジニアが、 経理部門と仲良くなれるTips
AWSエンジニアが、 経理部門と仲良くなれるTips
Tetsuya Ishibashi
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Web Services Japan
Amazon Athena で実現する データ分析の広がり
Amazon Athena で実現する データ分析の広がり
Amazon Web Services Japan
Sparkのクエリ処理系と周辺の話題
Sparkのクエリ処理系と周辺の話題
Takeshi Yamamuro
AWS サービスアップデートまとめ 2014年7月
AWS サービスアップデートまとめ 2014年7月
Yasuhiro Horiuchi
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
maebashi
ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
知教 本間
AWS Elastic Beanstalk のススメ
AWS Elastic Beanstalk のススメ
Taiji INOUE
徹底比較!! Heliosearch vs Solr
徹底比較!! Heliosearch vs Solr
Ebisawa Shinobu
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
Yuuki Namikawa
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
Daiyu Hatakeyama
More Related Content
What's hot
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Web Services Japan
ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
Masakazu Matsushita
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
yuichi_komatsu
若手Webエンジニア勉強会公開用
若手Webエンジニア勉強会公開用
Hiroki Nigorinuma
elasticsearch-hadoopをつかってごにょごにょしてみる
elasticsearch-hadoopをつかってごにょごにょしてみる
Katsushi Yamashita
EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016
Yasuhiro Matsuo
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
Amazon Web Services Japan
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
Sotaro Kimura
リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介
Sotaro Kimura
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
Amazon Web Services Japan
AWSエンジニアが、 経理部門と仲良くなれるTips
AWSエンジニアが、 経理部門と仲良くなれるTips
Tetsuya Ishibashi
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Web Services Japan
Amazon Athena で実現する データ分析の広がり
Amazon Athena で実現する データ分析の広がり
Amazon Web Services Japan
Sparkのクエリ処理系と周辺の話題
Sparkのクエリ処理系と周辺の話題
Takeshi Yamamuro
AWS サービスアップデートまとめ 2014年7月
AWS サービスアップデートまとめ 2014年7月
Yasuhiro Horiuchi
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
maebashi
ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
知教 本間
AWS Elastic Beanstalk のススメ
AWS Elastic Beanstalk のススメ
Taiji INOUE
徹底比較!! Heliosearch vs Solr
徹底比較!! Heliosearch vs Solr
Ebisawa Shinobu
What's hot
(20)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
若手Webエンジニア勉強会公開用
若手Webエンジニア勉強会公開用
elasticsearch-hadoopをつかってごにょごにょしてみる
elasticsearch-hadoopをつかってごにょごにょしてみる
EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
第15回 Solr勉強会 #SolrJP Amazon CloudSearch Deep Dive
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
AWSエンジニアが、 経理部門と仲良くなれるTips
AWSエンジニアが、 経理部門と仲良くなれるTips
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Athena で実現する データ分析の広がり
Amazon Athena で実現する データ分析の広がり
Sparkのクエリ処理系と周辺の話題
Sparkのクエリ処理系と周辺の話題
AWS サービスアップデートまとめ 2014年7月
AWS サービスアップデートまとめ 2014年7月
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
AWS Elastic Beanstalk のススメ
AWS Elastic Beanstalk のススメ
徹底比較!! Heliosearch vs Solr
徹底比較!! Heliosearch vs Solr
Similar to UNICORNの機械学習ワークロードにおけるSpot&AWS Batchの活用
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
Yuuki Namikawa
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
Daiyu Hatakeyama
コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法
Aya Komuro
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
bitbank, Inc. Tokyo, Japan
[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008
Toru Kimura
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化
Nobuyori Takahashi
【JAWS-UG Sapporo】はじめてのAWSワークショップ 概説
【JAWS-UG Sapporo】はじめてのAWSワークショップ 概説
Machie Atarashi
インフラエンジニアデイ Sousousha20100520 01
インフラエンジニアデイ Sousousha20100520 01
真一 藤川
Amazon EC2を使った実践SaaS運用事例
Amazon EC2を使った実践SaaS運用事例
Yuuki Namikawa
AWS Summit New York 2017 Keynote Recap
AWS Summit New York 2017 Keynote Recap
Eiji Shinohara
AWS Black Belt Online Seminar 2017 Amazon EC2
AWS Black Belt Online Seminar 2017 Amazon EC2
Amazon Web Services Japan
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
NTT Communications Technology Development
PHP on Cloud
PHP on Cloud
Akio Katayama
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
SORACOM, INC
SAPでクラウドはじめてみませんか? AWS and Azure
SAPでクラウドはじめてみませんか? AWS and Azure
Masaru Hiroki
AWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native Business
Amazon Web Services Japan
ついに上陸!PaaS 最新兵器のご紹介
ついに上陸!PaaS 最新兵器のご紹介
Miho Yamamoto
Askusa on AWS
Askusa on AWS
Shingo Furuyama
オープンソースで構築するWebメタバース ~Mozilla Hubsで学ぶUX開発から運用コスト最小化まで #CEDEC2022
オープンソースで構築するWebメタバース ~Mozilla Hubsで学ぶUX開発から運用コスト最小化まで #CEDEC2022
GREE VR Studio Lab
Similar to UNICORNの機械学習ワークロードにおけるSpot&AWS Batchの活用
(20)
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化
【JAWS-UG Sapporo】はじめてのAWSワークショップ 概説
【JAWS-UG Sapporo】はじめてのAWSワークショップ 概説
インフラエンジニアデイ Sousousha20100520 01
インフラエンジニアデイ Sousousha20100520 01
Amazon EC2を使った実践SaaS運用事例
Amazon EC2を使った実践SaaS運用事例
AWS Summit New York 2017 Keynote Recap
AWS Summit New York 2017 Keynote Recap
AWS Black Belt Online Seminar 2017 Amazon EC2
AWS Black Belt Online Seminar 2017 Amazon EC2
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
PHP on Cloud
PHP on Cloud
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
SAPでクラウドはじめてみませんか? AWS and Azure
SAPでクラウドはじめてみませんか? AWS and Azure
AWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native Business
ついに上陸!PaaS 最新兵器のご紹介
ついに上陸!PaaS 最新兵器のご紹介
Askusa on AWS
Askusa on AWS
オープンソースで構築するWebメタバース ~Mozilla Hubsで学ぶUX開発から運用コスト最小化まで #CEDEC2022
オープンソースで構築するWebメタバース ~Mozilla Hubsで学ぶUX開発から運用コスト最小化まで #CEDEC2022
UNICORNの機械学習ワークロードにおけるSpot&AWS Batchの活用
1.
https://unicorn.inc 機械学習ワークロードにおける Spot&AWS Batchの活用 11/11/2020 AWS
秋のスポットインスタンス祭り
2.
https://unicorn.inc SEKI INOUE 0.1 PROFILE
自己紹介 博士(情報理工学) TOP DATA SCIENTIST UNICORN, Inc. CTO Mist Technologies, Inc. 特任研究員 @ 東京大学 井上 碩 @peroxyacyl https://unicorn.inc
3.
https://unicorn.inc ABOUT UNICORN 1.0 ABOUT
UNICORN サービスのご紹介 サービスのご紹介 https://unicorn.inc
4.
https://unicorn.inc デジタル広告の価値算定エンジン + 買付プラットフォーム 業界内の立ち位置はDSPだが、買い方はかなり異なる 広告枠 (2300万種類/月) ✕ 広告在庫 (6400種類/月) ユーザー群の行動が どう変わるか? で価値算定 広告枠の相場 =
他社の値付けは 価値算定に一切考慮しない* *買付時はオークション理論に則って最適化
5.
DISPLAY ADS 自動最適化エンジン
APPLE SEARCH ADS 自動最適化エンジン Google SNS 広 告 COVERAGE - メガプラットフォームがリーチできない広告トラフィック 国内最大級の6,000億imp/月を用いて、Google及びSNS広告とは 異なるユーザーのシチュエーションとカバーできない全領域にてリーチ可能。 FRAUD PROTECTION - 徹底的なデータクレンジング 誤タップ誘導と不正imp&clickの検出、CTR/CVR分析、不正広告探知の専門機関によ るコンバージョンデータの検収など、クライアントの広告費用と自社の最適化アルゴリ ズムを徹底的に保護。 PERFORMANCE - 自動最適化・高 ARPUとROAS 「月間6,000億impのデータ学習 + 徹底的なデータクレンジング」を基に、 最も理想的な「広告枠 x オーディエンス x クリエイティブ」の組み合わせを 予測し、ターゲットKPIに合わせて自動最適化。 WHY - なぜApple Search Adsが重要な広告商品なのか? ● App Store内で唯一自社のアプリを宣伝できる広告商品 ● アプリを利用する意思がある状態のユーザーとの接触が可能 ● 事業成長のコアに繋げる事ができる広告商品(自然流入の増加) ● ポストiOS14の環境で最も重要な広告商品 HOW - 10万通り以上の‘属性 x キーワードの組み合わせ’を自動最適化 ● 100+ のユーザー属性の自動生成 ● 1,000+ のキーワード自動収集 ● 100,000+ のユーザー属性 x キーワードの組み合わせに対する自動入札最適化 https://unicorn.inc 課題 Apple Search Adsは戦略的には重要。 しかし、人手には限度がある。 最適化の努力 運用 ● キャンペーン分類別のセグメント ● 完全一致キーワードに高い入札単価設定 ● ネガティブキーワードの活用 ● 新しいキーワードの探索活用 ● etc ● キーワード生成 ● キャンペーン構成の設計 ● キャンペーン / アドグループ設定 ● キーワード選定 / 設定 ● キーワード別の入札調整 人力 = リソースの制限による運用可能なキーワード量の制限 効果の最大化が難しい 機械学習 x 全自動 人力ではコントロール不可能な量のデータを用いて、効果の最大化を実現 最適化の努力 運用 ● キャンペーン分類別のセグメント ● 完全一致キーワードに高い入札単価設定 ● ネガティブキーワードの活用 ● 新しいキーワードの探索活用 ● etc ● キーワード生成 ● キャンペーン構成の設計 ● キャンペーン / アドグループ設定 ● キーワード選定 / 設定 ● キーワード別の入札調整 解決案 UNICORNの Apple Search Ads自動最適化エンジン ユーザー群の未来の行動を予測して、 過去の行動を捉えるのではなく、 広告を広く買付する
6.
https://unicorn.inc UNICORN Tech Numbers
UNICORN 秒間HTTPリクエスト数 リクエストあたり推論数 一日に学習するモデル数 50万 QPS 120 モデル / 日 208 推論 / リクエスト 保有データ量 (一次データのみ) 平均レスポンスタイム 10.31 msec 外部との秒間データ IO 6.7 PB 4.8 GB / sec
7.
https://unicorn.inc UNICORN Biz Numbers
※ 株式会社アドウェイズ 2021年3月期 第2四半期決算説明会資料 AWSインフラコスト が大部分を占める スポットインスタンスがな ければ ビジネスが成立しない
8.
SPOT UNIC 2.0
SPOTUNICORN スポットインスタンスの利用状況 スポットインスタンスの利用状況 https://unicorn.inc
9.
https://unicorn.inchttps://unicorn.inc 2.1 SPOTUNICORN スポットインスタンスの利用状況
全体の半分以上がスポットインスタンス ML推論・学習部分では94% $0.0198 Average cost per VCPU-hour 学習 失敗可能なタスク → Spot+Batch 推論 オートスケール → Spot+ELB DB 負荷が安定 → Reserved 全体 :333スポット/602インスタンス うちML関連部分 ML学習 : 6スポット/6インスタンス ML推論 : 301スポット/319インスタンス DB : 0スポット/98インスタンス 71% Savings $0.0041 Average cost per mem(GiB)-hour 12xlarge
10.
https://unicorn.inc 2.2 SPOTUNICORN スポットインスタンスの利用状況
UNICORN モデル群 学習スケジュール 学習タスクによって ● かかる時間 ● つかうCPU ● 必要なメモリ ● 必要なディスクサイズ が異なる 1 8/ https://unicorn.inc AWS Batchでその都度リソースを確保 第5世代 (c5, c5a, m5, r5)をSPOTで使用
11.
https://unicorn.inc 2.2 SPOTUNICORN スポットインスタンスの利用状況
UNICORN モデル群 学習スケジュール 学習タスクによって ● かかる時間 ● つかうCPU ● 必要なメモリ ● 必要なディスクサイズ が異なる 1 8/ https://unicorn.inc AWS Batchでその都度リソースを確保 第5世代 (c5, c5a, m5, r5)をSPOTで使用 4 vCPU 16GB memory 50GB volume 16 vCPU 2GB memory 500GB volume 8 vCPU 16GB memory 100GB volume
12.
BATCH ML 3.0
BATCHML AWS Batchと機械学習 AWS Batchと機械学習 https://unicorn.inc
13.
https://unicorn.inc ワークロードの概要 1. データのダウンロード 2. データの検証 3.
特徴量変換 4. 学習エポック1 5. 学習エポック2 … 6. 学習エポックN 7. モデルの検証 8. モデルのアップロード https://unicorn.inc S3 RDS その他DB 1. データダウンロード 3. 特徴量変換 shuffle hash等 S3 8. モデルアップロード 4-6.学習 モデルファイル 特徴量ファイル 学習データセット(~500GB) 学習サイクル 高IO : ~1000IOPS 3.1 BATCHML AWS Batchと機械学習
14.
https://unicorn.inc スポットで中断しても良い学習バッチとは? ↓ 失敗したときのバックアッププランを考える https://unicorn.inc 3.2 BATCHML AWS
Batchと機械学習
15.
https://unicorn.inc 学習のチューニング方針 ● モデルバージョン間で大きな推論の差が出ないようにする ○
データセットの期間を長く取る ○ 環境変化に対する即応性とのトレードオフ 1. 学習正常終了 → S3へアップロード(S3 Versioning) 2. 推論側は、定期的にS3をポーリング 失敗してもよいML学習ワークロードの例 失敗した場合は 一つ前のバージョンを使う https://unicorn.inc ① モデルのバージョニング 3.2 BATCHML AWS Batchと機械学習
16.
https://unicorn.inc 失敗してもよいML学習ワークロードの例 学習を短く、数を多く https://unicorn.inc ② マイクロモデルをアンサンブルする 大きな単一のモデルで推論するのではなく、 小さなモデルを複数用意してそれらの平均を取る 学習を短く済ませ、歩留まりを上げる p 平均 サンプリング 40% 40% 40% 学習 Batch Job 3.3
BATCHML AWS Batchと機械学習
17.
https://unicorn.inc 最新 N バージョンを加重平均する 失敗してもよいML学習ワークロードの例 即応性
+ 安定性 https://unicorn.inc ③ バージョニング + アンサンブル ・・・ 1時間前 2時間前 3時間前 失敗 4時間前 5時間前 6時間前 p ← 0.5p' + 0.3p'' + 0.2p''' 3.4 BATCHML AWS Batchと機械学習
18.
https://unicorn.inc BATCHEBS 4.0 BATCHEBS AWS
BatchでEBSを使う方法 AWS BatchでEBSを使う方法 https://unicorn.inc
19.
https://unicorn.inc 4.1 BATCHEBS AWS
BatchでEBSを使う方法 AWS Batchの基本容量はホストあたり8GB ↓ ストレージを足す方法は3つ https://unicorn.inc
20.
https://unicorn.inc 4.2 BATCHEBS AWS
BatchでEBSを使う方法 https://unicorn.inc ① EFSをマウントする EFS = スケーラブルなNAS サイズ課金 + スループット課金 コンテナ (Batch Job) コンテナ (Batch Job) ホスト 8GB AWS EFS ∞ GB mount volume mount volume
21.
https://unicorn.inc 4.2 BATCHEBS AWS
BatchでEBSを使う方法 https://unicorn.inc ① EFSをマウントする EFS = スケーラブルなNAS サイズ課金 + スループット課金 コンテナ (Batch Job) コンテナ (Batch Job) ホスト 8GB AWS EFS ∞ GB mount volume mount volume
22.
https://unicorn.inc 4.3 BATCHEBS AWS
BatchでEBSを使う方法 https://unicorn.inc ② ホストのEBSをアップグレード ルートボリュームを大きくしたAMIを作成する コンテナ (Batch Job) コンテナ (Batch Job) ホスト 100GB Customized AMI
23.
https://unicorn.inc 4.3 BATCHEBS AWS
BatchでEBSを使う方法 https://unicorn.inc ② ホストのEBSをアップグレード ルートボリュームを大きくしたAMIを作成する コンテナ (Batch Job) コンテナ (Batch Job) ホスト 100GB Customized AMI コンテナ (Batch Job) コンテナの数は不定
24.
https://unicorn.inc 4.4 BATCHEBS AWS
BatchでEBSを使う方法 https://unicorn.inc ③ EBSをコンテナにマウント コンテナのdevice socket経由でEBSをマウントする コンテナ (Batch Job) コンテナ (Batch Job) ホスト 8GB AWS EBS 20GB AWS EBS 80GB mount volume mount volume
25.
https://unicorn.inc ③Batch JobごとにEBSを動的アタッチ Jobごとにサイズを可変にして効率化 https://unicorn.inc AWS Batchで標準装備のEBS
Jobごとに作成+アタッチされた揮発領域用のEBS 4.5 BATCHEBS AWS BatchでEBSを使う方法
26.
https://unicorn.inc Dockerコンテナでストレージを使う3つの方法 デフォルトは、インスタンスあたり8GB https://unicorn.inc EFSをマウント EBSをホストにマウント
EBSをコンテナにマウント 共有範囲 全Jobで共有 ホスト内で共有 Jobで専有 マウントの タイミング Job起動時 AMI作成時 Job起動時 メリット データが永続的 全体で共有できる コンテナがシンプル Job毎にサイズ/IOPSが可変 burst creditがリセット 断片化しない(st1も視野) デメリット スループットが高価 サイズ/IOPSの事前設定が必要 十分なリソースの確保が必要 データが完全に揮発的 消しそこねると痛い 4.6 BATCHEBS AWS BatchでEBSを使う方法
27.
https://unicorn.inc Dockerコンテナでストレージを使う UNICORNのワークロードでの費用感 https://unicorn.inc EFSをマウント EBSをホストにマウント
EBSをコンテナにマウント 必要な サイズ 2,500 GB 500 GB x 6 instances 合計 2,500 GB 必要な ProvisionedIO 1,500 Mbps io2 2,000 IOPS (500 IOPS x 4 job) gp2 (起動時のburst creditで足りたため) 月間コスト (ap-northeast) $10,800 / month $1,314 / month $300 / month 4.7 BATCHEBS AWS BatchでEBSを使う方法
28.
https://unicorn.inc Dockerコンテナ起動時のENTRYPOINTで以下の処理を行う ① awscliでEBSを作成 $
aws ec2 create-volume ② 使用可能なデバイスファイルを探す (例: /dev/xvdf ) $ [while文などで] ③ 作ったEBSをホストインスタンスにアタッチ $ aws ec2 attach-volume ④ デバイスのファイルシステムをフォーマット $ mkfs.xfs -f /dev/$DEVNAME ⑤ マウント $ mount /dev/$DEVNAME $EBS_PATH ⑥ EBS削除の設定 (後述) ③ EBSをコンテナにマウント 【EBSをdeviceとしてアクセスする】 https://unicorn.inc ※ 要privilegeフラグ https://github.com/peroxyacyl/batch.tmpl 4.8 BATCHEBS AWS BatchでEBSを使う方法
29.
https://unicorn.inc EBSの削除 EBSが残ると課金が続く ↓ 確実な削除が必要 lambdaで監視するのも有効
1 8/ https://unicorn.inc EBS削除のタイミングと方針 1. 正常終了 ENTRYPOINTでコマンド後に実行 2.プログラムの異常終了 ENTRYPOINTでtrapする https://github.com/peroxyacyl/batch.tmpl 4.9 BATCHEBS AWS BatchでEBSを使う方法
30.
https://unicorn.inc EBSの削除 EBSが残ると課金が続く ↓ 確実な削除が必要 lambdaで監視するのも有効
1 8/ https://unicorn.inc EBS削除のタイミングと方針 3. スポットインスタンスの回収 4. ジョブの手動キャンセル 中断通知内のdetachが間に合わない キャンセルの場合は即時に落ちる → Delete On Termination機能を使う https://github.com/peroxyacyl/batch.tmpl 4.10 BATCHEBS AWS BatchでEBSを使う方法
31.
https://unicorn.inc Tips /devをコンテナにマウント コンテナ内の/devは デバイス追加時に更新されない
/devを仮想ボリュームとして コンテナにマウントする 第三者のdocker imageには注意 1 8/ https://unicorn.inc Host /dev /xvda … 8GB /xvdf … 200GB ← EBSをアタッチしても... Container /dev /xvda ← ここは増えない /hostdev /xvda /xvdf ← こっちは増える マウント -v /dev:/hostdev https://github.com/peroxyacyl/batch.tmpl 4.12 BATCHEBS AWS BatchでEBSを使う方法
32.
https://unicorn.inchttps://unicorn.inc https://github.com/peroxyacyl/batch.tmpl EBSベンチマーク コンテナ直接アタッチのパフォーマンスは問題なし コンテナ専有EBS
(io2 2000IOPS) コンテナ専有EBS (gp2 100GB) ホスト 共有EBS (gp2 100GB) コンテナ専有EBS (st1 500GB) 5.1 APPENDIX 補足
33.
https://unicorn.inc Dockerコンテナでストレージを使う UNICORNのワークロードでの費用感 https://unicorn.inc EFSをマウント EBSをホストにマウント
EBSをコンテナにマウント 必要な サイズ 2,500 GB 500 GB x 6 instances 合計 2,500 GB 必要な ProvisionedIO 1,500 Mbps io2 2,000 IOPS (500 IOPS x 4 job) gp2 (起動時のburst creditで足りたため) 月間コスト (ap-northeast) $10,800 / month $1,314 / month $300 / month 4.6 BATCHEBS AWS BatchでEBSを使う方法
34.
https://unicorn.inchttps://unicorn.inc https://github.com/peroxyacyl/batch.tmpl EBSベンチマーク コンテナ直接アタッチのパフォーマンスは問題なし コンテナ専有EBS
(io2 2000IOPS) コンテナ専有EBS (gp2 100GB) ホスト 共有EBS (gp2 100GB) コンテナ専有EBS (st1 500GB) 5.1 APPENDIX 補足
35.
https://unicorn.inchttps://unicorn.inc 5.2 APPENDIX 補足 開発でもBatchを使う
チューニングなどの高コストな計算をクラウドにオフロード $ ./runbatch.sh --cpu 4 --memory 16000 --volume 100 "python optuna.py" このコマンドは下記を行う ● ディレクトリをdockerに固めてECRにpush ● job definitionの発行 ● 4 vCPUs, 16GB メモリ, 100GB EBS を確保 ● batch上で python optuna.py を起動 ● Log StreamのURLを出力 https://github.com/peroxyacyl/batch.tmpl
36.
https://unicorn.inc 6.0 summary まとめ まとめ https://unicorn.inc 1.
弊社ではスポットインスタンスでコストをオンデマンドより71%下げている 2. 学習ワークロードでは、失敗したときのバックアッププランを作る a. アンサンブル学習が歩留まりを上げるために有効な一例 3. AWS BatchはJobごとに異なる負荷を持つときに効率的 ...だが, 作業用ストレージ領域が足りない 4. EBSをコンテナに直接マウントする方式が有効 5. 開発やチューニングにもAWS Batchは使える https://github.com/peroxyacyl/batch.tmpl
37.
https://unicorn.inc 10.0 WE ARE
HIRING UNICORN採用 We are hiring https://unicorn.inc golang ruby rust assemblyTypeScriptSQL 自然言語処理 Data Visualization 強化学習 Rich Creative Design Data ETL App SDK Tech. Account Managing JS SDK SRE Microservice Orch. contact@unicorn.inc
38.
https://unicorn.inc unicorn.inc
Download now