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
CyberAgent AI Labを支えるCloud実験環境 / ML Experiment ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
chck
May 26, 2021
Programming
7
4.3k
CyberAgent AI Labを支えるCloud実験環境 / ML Experiment Management via Cloud Computing Platform in CyberAgent AI Lab
PyData.Tokyo Meetup #23
での発表資料です
chck
May 26, 2021
Tweet
Share
More Decks by chck
See All by chck
CyberAgent AI Lab研修 / Social Implementation Anti-Patterns in AI Lab
chck
6
4k
CyberAgent AI Lab研修 / Container for Research
chck
1
2.2k
CyberAgent AI Lab研修 / Code Review in a Team
chck
3
2.2k
論文読み会 / Socio-Technical Anti-Patterns in Building ML-Enabled Software: Insights from Leaders on the Forefront
chck
0
93
CyberAgent AI事業本部MLOps研修Container編 / Container for MLOps
chck
3
5.8k
論文読み会 / GLAZE: Protecting Artists from Style Mimicry by Text-to-Image Models
chck
0
63
論文読み会 / On the Factory Floor: ML Engineering for Industrial-Scale Ads Recommendation Models
chck
0
39
論文読み会 / GUIGAN: Learning to Generate GUI Designs Using Generative Adversarial Networks
chck
0
48
機械学習開発のためのコンテナ入門 / Container for ML
chck
0
960
Other Decks in Programming
See All in Programming
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
460
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
170
CSC307 Lecture 15
javiergs
PRO
0
220
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
320
CSC307 Lecture 11
javiergs
PRO
0
590
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
350
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
910
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
200
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
520
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
120
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
68
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Docker and Python
trallard
47
3.8k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
GitHub's CSS Performance
jonrohan
1032
470k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
230
It's Worth the Effort
3n
188
29k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
120
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
200
Designing Powerful Visuals for Engaging Learning
tmiket
0
260
New Earth Scene 8
popppiees
1
1.7k
Transcript
CyberAgent AI Labを支える Cloud実験環境 PyData.Tokyo 20210526 Yuki IWAZAKI@chck / CyberAgent
AI Lab
Hello! I am Yuki IWAZAKI@chck ◦ 2014...Backend Engineer (Ruby/Scala) └2017...ML/DS
(Scala/Python) └2018-...Research Engineer in AI Lab ◦ Multimedia (Vision & Language) 2
CyberAgent AI Labの規模感 人数(35) 研究領域 3
AI Labを支えるEcosystem 4
AI Labを支えるEcosystem 5
AI Labを支えるEcosystem Data selection ailab-datasets 6
tensorflow-datasets Public Datasetのdata loader 7 celeb_a imagenet, cifar10, mnist coco
squad iris, movielens, titatic imdb, wiki40b youtube_vis https://www.tensorflow.org/datasets/catalog/overview
tensorflow-datasets Public Datasetのdata loader 8 celeb_a imagenet, cifar10, mnist coco
squad iris, movielens, titatic imdb, wiki40b youtube_vis https://www.tensorflow.org/datasets/catalog/overview Dataset名を指定 Iterationの定義
tensorflow-datasets: load “tensorflow” とあるが, numpyやpandas形式で出力できる 9
tensorflow-datasets: load “tensorflow” とあるが, numpyやpandas形式で出力できる 10 tf.data numpy pandas
tensorflow-datasets: create tfds cliからtemplateを生成 11
12
13 Versioning Metadata. カラムの型の定義 データの説明文 引用論文のURL データのダウンロード 分割方法の指定 前処理含むGenerator
14
15 前処理含むGenerator (apache-beam pipeline)
Private dataの課題感 ◦ Private dataの管理にルールがない ◦ 全プロダクトのデータ集約基盤は Researcher向けじゃない ◦ 各々がオレオレJupyterlabで実験
◦ 前処理の冪等性担保や共有が困難 ◦ とにかく属人的で難解なSQL ◦ Public -> Private dataでの実験 ◦ インターンや新メンバーの学習コスト ◦ 急にDomain知識が必要になる preprocess preprocess preprocess product_a dataset_c product_b 16
ailab-datasets ◦ mnist.loadのようにメンテフリーに扱いたい ◦ Domain知識をコード内に埋め込みたい ◦ tensorflow-datasetsのwrapper ◦ Lab共通のPrivate Dataset
Loader ◦ 社内githubからpip installで利用 1. Data追加が簡単 2. ProductやTaskの単位でVersioning 3. Apache Beamによる高速な前処理 product_a product_b dataset_c product_a dataset_c product_b ailab-datasets 17
ailab-datasets product_a product_b dataset_c product_a dataset_c product_b ailab-datasets 18 ailab_datasets/
┣products/ ┃┣product_a ┃┗product_b ┣image_classification/ ┗text_generation/
PowerfulなDataset Runner Apache BeamによりCPU並列, Worker並列が選択可能 https://towardsdatascience.com/running-an-apache-beam-data-pipeline-on-azure-databricks-c09e521d8fc3 19
ailab-datasets -> post-process 利用者がデータ規模に応じて後段の処理を自由に選択可能 20 ailab-datasets Tensorflow Transform tf.data Numpy
Pandas Dask-cuDF Distributed GPU CPU Apache Beam
AI Labを支えるEcosystem Modeling ailab-model-zoo 21
Private modelの課題感 ◦ 似たデータ,似たタスクによるモデルの再発明が多発 ◦ 例えば広告×NLPや広告×CVでpretraining taskが収束してくる ◦ Researcher間で重みシェアしたい欲高まる ◦
誰がどんな学習済モデルを秘蔵しているかが把握しづらい状況 ◦ Aさんの学習済モデルはBさんに応用できるかも ◦ Public pre-trained modelのprivate版がほしかった ◦ ResNet(on imagenet)やBERT(on ja-wiki)の社内データ版 22
ailab-model-zoo (WIP) tensorflow-hubのManaged版であるAI Hub(GCP)を利用 以下3つがPrivateに共有可能: - kubeflow pipeline - notebook
- trained model 23
ailab-model-zoo (WIP) “tensorflow” とあるが, 実体はuploadしたobjectの検索service Metadataを入力して共有したいobjectをupload tf.hubのself-hostingも可能だが 現状はAI Hubで必要十分 tensorflow/hub/issues/266
24
ailab-model-zoo (WIP) 検索機能付きで管理しやすく,Downloadして利用 25 Public model Private model
AI Labを支えるEcosystem ailab-mlflow Evaluation 26
実験管理の課題感 Teamや個人で実験管理がしたい Free: MLflow, Keepsake SaaS: Neptune.ai, Comet.ml, Wandb MLflowはServer構築が面倒
SaaS系は個人の無料枠を超えると高い 27
実験管理の課題感 MLflow Serverを1つ立てて使い回しでもよいが, Experiments枠で各Userの実験を分けると煩雑 個人やチームごとに1MLflowあるとBetter 28 ▪ Write ▪ Read
ailab-mlflow AI Lab共通で使えるMLflow Clusterを構築 OSSのMLflow Tracking ServerをLab PrivateでHosting GCP Resourceで各ユーザはCost/Server管理要らず
Gmail Whitelist Accessなので共同研究先との利用にも 29
30
31
32
33
Cloud IAPによるユーザ認証 34 Not Authorized
How to track 1. Terraformで$user endpointを作成 2.Training codeからOAuth Token発行 3.Serverに向けて実験ログを飛ばす
4.${MLFLOW_HOST}/${USER}にアクセス 5.実験結果を自由に管理 35
Summary - 実験の流れ - Data (ailab-datasets) - -> Preprocess (tft,
tf.data, numpy, pandas) - -> Training (ai platform training) - -> Save model (ailab-model-zoo) - -> Report (ailab-mlflow) OSSを上手くwrapすることで メンテコストを抑えた実験サポート環境を実現 36
Future work: ailab-pipeline - 実験の流れ - Data (ailab-datasets) - ->
Preprocess (tft, tf.data, numpy, pandas) - -> Training (ai platform training) - -> Save model (ailab-model-zoo) - -> Report (ailab-mlflow) 全体のPipelineもうまいこと管理したいが... Pipeline 37
どう布教させるかの話 ResearcherはCloudの新技術とかに拘らない傾向 意外と使ってくれないのでTutorialや事例を地道に増やす, 共著で入るときにこっそり導入してしまう 全体のPipelineを設計して自由度を下げるよりも、まずはパーツ 部分に注力し、利用者側が取捨て選択できるように 38
ailab-mlflowの構築方法 近々blog公開するのでぜひ https://cyberagent.ai/blog/research/ 39
40 Thanks! Any questions? You can find me at: ◦
github@chck ◦
[email protected]