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
7
GOの実験環境について
2021/04に行われた社内 AI技術勉強会の発表資料
Takashi Suzuki
April 01, 2021
Tweet
Share
More Decks by Takashi Suzuki
See All by Takashi Suzuki
到着予想時間サービスの特徴量のニアリアルタイム化
t24kc
0
19
Kubernetes超入門
t24kc
0
38
AI予約サービスのMLOps事例紹介
t24kc
0
9
MLプロジェクトのリリースフローを考える
t24kc
0
7
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
35
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
17
MOVの機械学習システムを支えるMLOps実践
t24kc
0
7
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
17
MOV お客さま探索ナビの GCP ML開発フローについて
t24kc
0
7
Other Decks in Technology
See All in Technology
Microsoft クラウド サービスのコスト管理
murachiakira
0
120
Oracle Database 23ai セキュリティ新機能
oracle4engineer
PRO
1
1.9k
SREがいない”今いる場所”で 「SRE」について聞いて、考えてみた
maimyyym
1
210
GitHub Copilotと快適なユニットテストコード作成生活
bun913
8
3.5k
CSPが提供しない、フレッツ網をつかった閉域接続サービス&データ持ち込みにつかえるサービス 3選
armaniacs
1
920
JAWS-UGの楽しみ方
schwrzktz
1
240
React 19を概念から理解する
uhyo
19
6.2k
Building Static Websites with Sculpin
opdavies
0
1.3k
Oracle Database Technology Night #79 - Oracle Database 23ai 新機能 Oracle Advanced Cluster File System (ACFS)
oracle4engineer
PRO
1
130
Improve developer experience with Spring Interface Clients Spring I/O 2024
olgamaciaszek
0
110
組織的なクラウド統制のはじめの一歩_20240529
yhana
0
400
Waffle Festival2024(斉藤裕希)
cybozuinsideout
PRO
3
190
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
268
39k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
It's Worth the Effort
3n
180
27k
Navigating Team Friction
lara
179
13k
Making the Leap to Tech Lead
cromwellryan
125
8.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Git: the NoSQL Database
bkeepers
PRO
423
63k
The Pragmatic Product Professional
lauravandoore
26
5.9k
Design by the Numbers
sachag
274
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
Robots, Beer and Maslow
schacon
PRO
155
8k
Code Review Best Practice
trishagee
56
16k
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