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
11
GOの実験環境について
2021/04に行われた社内 AI技術勉強会の発表資料
Takashi Suzuki
April 01, 2021
Tweet
Share
More Decks by Takashi Suzuki
See All by Takashi Suzuki
到着予想時間サービスの特徴量のニアリアルタイム化
t24kc
0
62
Kubernetes超入門
t24kc
0
66
AI予約サービスのMLOps事例紹介
t24kc
0
14
MLプロジェクトのリリースフローを考える
t24kc
0
7
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
52
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
20
MOVの機械学習システムを支えるMLOps実践
t24kc
0
11
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
23
MOV お客さま探索ナビの GCP ML開発フローについて
t24kc
0
10
Other Decks in Technology
See All in Technology
LLMに日本語テキストを学習させる意義
ksaito
13
3.6k
Eventual Detection Engineering
ken5scal
0
1k
PlaywrightによるE2Eテスト入門 / Introduction to E2E Testing with Playwright
rhumie
3
1k
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
160
Cloud Service Mesh への期待が止まらない!!
phaya72
2
190
Estrategias de escalabilidade para projetos web
jessilyneh
2
200
FastConnect の冗長性
ocise
0
7.2k
CRTO/CRTL/OSEPの比較・勉強法とAV/EDRの検知実験
chayakonanaika
1
1k
自社開発した大規模言語モデルをどうプロダクションに乗せて運用していくか〜インフラ編〜
pfn
PRO
16
4.1k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
3.2k
Javaにおける関数型プログラミンへの取り組み
skrb
7
280
Azure SQL Database Hyperscale HA レプリカの監視
sansantech
PRO
0
220
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
RailsConf 2023
tenderlove
27
800
Building Better People: How to give real-time feedback that sticks.
wjessup
359
18k
What's in a price? How to price your products and services
michaelherold
242
11k
Typedesign – Prime Four
hannesfritz
39
2.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
[RailsConf 2023] Rails as a piece of cake
palkan
45
4.6k
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
Designing the Hi-DPI Web
ddemaree
278
34k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
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