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
機械学習プラットフォーム でのDocker利用事例 / DevSumiAbeja
Search
toshitanian
February 15, 2018
Technology
630
1
Share
機械学習プラットフォーム でのDocker利用事例 / DevSumiAbeja
toshitanian
February 15, 2018
More Decks by toshitanian
See All by toshitanian
エッジデバイスでディープラーニング! AWSを活用したエッジデバイスマネジメントの紹介/ aws-edge-device-deeplearning
toshitanian
1
2.3k
nvidia-jetson-x-deep-learning
toshitanian
0
1.7k
Amazon Kinesis Video Streams × Deep Learning
toshitanian
1
7.2k
急成長スタートアップのシステムの裏側 / ABEJA Innovation Meetup
toshitanian
0
1.4k
Docker入門 - Ruby on RailsアプリケーションをDockerで動かしてみる - / Introduction to Docker
toshitanian
7
3k
Other Decks in Technology
See All in Technology
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
29
9.2k
JOAI2026講評会資料(近藤佐介)
element138
1
130
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
240
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
EBS暗号化に失敗してEC2が動かなくなった話
hamaguchimmm
1
120
BigQuery × dbtでコスト削減した話
rightcode
0
150
レビューしきれない?それは「全て人力でのレビュー」だからではないでしょうか
amixedcolor
0
110
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
78k
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
330
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
インターネットの技術 / Internet technology
ks91
PRO
0
130
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
180
Design in an AI World
tapps
0
190
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Docker and Python
trallard
47
3.8k
Transcript
機械学習プラットフォーム でのDocker利用事例 スタートアップなエンジニアLT! 〜スタートアップはどんな技術を駆使して開発を行っているのか?〜 ABEJA, Inc Toshiya Kawasaki 15-E-7 #devsumiE
2018/02/15
河崎 敏弥 @toshitanian ABEJA, Inc. Platform Division Lead Engineer •創業1年の時にABEJAに参画
•バックエンドエンジニア •クラウド上でシステム構築 •IoTデバイスとのシステム連携 •コンテナ •エッジコンピューティング
None
機械学習のプロセス 4 入力データ 学習 推論 教師データ モデル モデル 入力 入力
学習 推論結果 推論 デプロイ
機械学習のプロセス + 周辺システム 5 入力データ 学習 推論 教師データ モデル モデル
入力 入力 学習 推論結果 推論 デプロイ データ蓄積/データセット管理/ジョブの管理 /コードの管理/ログ・メトリクス/デバイス管理/etc… 周辺システム
•学習フェーズ •推論フェーズ •クラウドサーバでの推論 •エッジデバイス上での推論 •マイクロサービス Dockerの使い所 6
•特徴 •ジョブの起動時間が長い(数時間〜数週間) •GPUを使って学習する •現在の構成 •Kubernetesのクラスタを作っている •GPUのノードをたくさんぶら下げている •nvidia-docker2経由でコンテナがGPUを使える 学習フェーズ 7
•特徴 •アプリケーションによってCPUで処理するか、GPUで処理するか変わる •HTTPでモデルをサーブする・バッチ処理でデータを処理するの大きく2種類の使い方 •現状の構成 •モデルの利用形式によりECSとAWS Batchを使い分けている •HTTPでモデルをサーブする場合: ECS •クラスタを分けてCPU/GPUノードへのスケジュールをしている •バッジ処理で利用する場合:
AWS Batch •全てスポットインスタンス 推論フェーズ - クラウドサーバ上 - 8
•特徴 •リソース制約がある(CPU/メモリ/etc…) •ネットワーク制約がある。 •常時インターネット接続があるとは限らない •NAT超え •現状の構成 •AWS IoTをベースに、デバイスへDockerコンテナをデプロイ •ARMアーキテクチャ向けのDocker Imageを利用している
•基本的にDockerを動かす事によるオーバーヘッドは無い 推論フェーズ - エッジデバイス上 - 9
•特徴 •学習⇔推論プロセスをユーザが運用するための周辺システム •データ管理/ジョブ管理/デプロイ管理/コード管理/デバイス管理/etc… •現状の構成 •基本的に全てのAPIサーバはDockerでデプロイ •ECSのひとつのクラスタで全てのAPIサーバを同居させている •ちなみに、マイクロサービスの前段に独自のAPIゲートウェイ マイクロサービス 10
•基本的に全てのアプリケーションはDockerコンテナとして動かしている •AWSのサービスやKubernetesを用途に合わせて使い分けている •7分では話しきれないので、詳細は別の機会で… ! まとめ 11 "