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
GOの実験環境について
Search
Takashi Suzuki
April 01, 2021
Technology
0
18
GOの実験環境について
2021/04に行われた社内 AI技術勉強会の発表資料
Takashi Suzuki
April 01, 2021
Tweet
Share
More Decks by Takashi Suzuki
See All by Takashi Suzuki
到着予想時間サービスの特徴量のニアリアルタイム化
t24kc
0
120
Kubernetes超入門
t24kc
0
120
AI予約サービスのMLOps事例紹介
t24kc
0
23
MLプロジェクトのリリースフローを考える
t24kc
0
13
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
77
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
29
MOVの機械学習システムを支えるMLOps実践
t24kc
0
19
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
33
MOV お客さま探索ナビの GCP ML開発フローについて
t24kc
0
14
Other Decks in Technology
See All in Technology
LLMの開発と社会実装の今と未来 / AI Builders' Community (ABC) vol.2
pfn
PRO
3
260
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
0
240
技術選定を突き詰める 懇親会LT
okaru
2
1.3k
事業と組織から目を逸らずに技術でリードする
ogugu9
19
5.5k
激動の一年を通じて見えてきた「技術でリードする」ということ
ktr_0731
8
8.5k
PythonツールであるpygnmiをSONiCのgNMIに対して使ってみた
sonic
0
310
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
740
Cline&CursorによるAIコーディング徹底活用―Live Vibe Coding付き
pharma_x_tech
2
430
Tailwind CSS の小話「コンテナークエリーって便利」
yamaday
0
150
非同期処理でも分散トレーシングしたい!- OpenTelemetry × Pub/Sub -
phaya72
1
110
ゆるくはじめるSLI・SLO
yatoum
1
130
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
200
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
The Language of Interfaces
destraynor
158
25k
Done Done
chrislema
184
16k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Unsuck your backbone
ammeep
671
58k
Building Adaptive Systems
keathley
41
2.5k
What's in a price? How to price your products and services
michaelherold
245
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Transcript
Mobility Technologies Co., Ltd. MLエンジニアリンググループ 鈴木 隆史 GOの実験環境について
Mobility Technologies Co., Ltd. 実サービスで実験環境を利用する際の - セキュリティ要件 - スケール要件 -
コスト要件 を加味した運用ノウハウを共有します 今日話すこと 2
Mobility Technologies Co., Ltd. 実験環境の要件定義 01 3
Mobility Technologies Co., Ltd. MLシステムにおける実験環境の役割 4 データサイエンティスト BigQuery 探索的データ解析 前処理
学習 推論 評価
Mobility Technologies Co., Ltd. クラウド実験環境の要望 5 セキュリティ要件 • セキュアなデータへのアクセスのため、権限・証跡を管理したい スケール要件
• 実験データが肥大化した際、ローカルPCではOOMでも快適に実験したい コスト要件 • 単に強いインスタンスを利用するのではなく、コストも必要最小限に運用した い
Mobility Technologies Co., Ltd. • JupyterHubはユーザごとにJupyter環境を管理するツール • HelmにJupyterHubのパッケージがありカスタム利用可能 • インフラ設定はk8s管理、起動イメージはdocker管理
• 構築詳細は zero-to-jupyterhub JupyterHubの利用 6
Mobility Technologies Co., Ltd. セキュリティ要件 02 7
Mobility Technologies Co., Ltd. • GCPマネージドSSL証明書を作成しLBで利用 SSL対応 8
Mobility Technologies Co., Ltd. • k8sのIngressのBackendConfigで設定 • Cloud ArmorにはVPNやoffice IPを設定
IP制限(Cloud Armor) 9
Mobility Technologies Co., Ltd. • IAMロールを持つユーザのみにアクセスを絞れる • Google Groupと連携させることで棚卸しが楽に 個人認証
Identity-Aware Proxy (IAP) 10
Mobility Technologies Co., Ltd. • 全員一括でdocker+conda env側で管理 • packageの脆弱性 発生時などは一括更新
python package管理 11
Mobility Technologies Co., Ltd. • 全員一括でdocker側で管理 • 個別に要望があればserverに入れてもらう jupyterlab extension管理
12
Mobility Technologies Co., Ltd. セキュリティ要件 13 SSL • SSL対応でデータの暗号化 IP制限
• 社内IPに制限 個人認証 • 特定のロールをもったユーザのホワイトリスト化 package更新 • 脆弱性発生時などには一括で更新
Mobility Technologies Co., Ltd. スケール要件 03 14
Mobility Technologies Co., Ltd. • NFS Serverを別途立て共有用ディレクトリを分離 ディスクの分離 15
Mobility Technologies Co., Ltd. • 通常の実験はNotebook環境で実施 • 個別ユーザに割り当てるデフォルトMemory/CPUを設定 • 最大でノード上限までデータ分析が可能
通常時のリソース 16
Mobility Technologies Co., Ltd. • k8sのauto scallingを有効にすることで、実験するユーザ数が 増えてもノードインスタンス数が増えて追従 ノードのスケール 17
Mobility Technologies Co., Ltd. • AI Platform Training Jobでマシンタイプ指定して実行 •
imageをpushする手間はあるが、お手軽に実行可能 ノード上限以上のメモリ要求(1) 18
Mobility Technologies Co., Ltd. • 実験用の外部GKEを指定してJobを実行する方法 • Training Jobよりも細かいインスタンス調整が可能 ノード上限以上のメモリ要求(2)
19
Mobility Technologies Co., Ltd. ディスクの分離 • 共有用のディスクは分離 ノードのスケール • 実験ノードのメモリ上限まではそのまま利用可能
• 人数が増えてもノードがスケールして追従 大きいメモリ要求 • 外部GKEやAI Platform Training Jobを利用 • 一度GCRへimageをpushするのがひと手間かかるのがデメリット スケール要件 20
Mobility Technologies Co., Ltd. コスト要件 04 21
Mobility Technologies Co., Ltd. • ノードは2つ設定(常時起動の最小サイズのdefault node、利 用者向けのcostom node(min size:0))
ノードの分離 22
Mobility Technologies Co., Ltd. • airflowで21:30にcostom nodeを0にresizeしてコスト削減し、9:30にsize 1に 戻す 夜間/休日スケーリング
23
Mobility Technologies Co., Ltd. ノードの分離 • 通常起動の最小nodeと、実験向きのnodeに分離 実験ノードのスケール • 利用しない夜間/休日に関しては、実験ノードを0にリサイズ
コスト要件 24
confidential 文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Mobility Technologies Co., Ltd. 25