This repository has been archived by the owner on Apr 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Atsushi SAKAI edited this page Aug 7, 2020
·
21 revisions
このページは、機械学習基盤のproductionization(本番環境への適用)に関する情報を集めるためのWikiです。
機械学習を実際にプロダクションで回していくためには、様々な課題がある一方でそれを解決するためのシステム・アーキテクチャのパターンは明確になっていません。MLOpsといった言葉も話題になりつつありますが、その定義も人によって様々であり、またエンジニアリング主体の取り組みが多く、体系化された情報もまだまだ少ないです。
そこで、いわゆる "awesome ML in production" というような情報をリンク集のようなものを、このWikiで書いていければと思います。
対象となる課題・トピックは、例えば
- 機械学習基盤のアーキテクチャ
- data analysis, training, deploymentといったend to endの機械学習のパイプラインの作り方、管理方法
- モデルのライフサイクル管理・デプロイ、ガバナンス、サービング
- feature storeやデータ・モデル・パイプラインのバージョン管理、ガバナンス
などを想定していますが、これらに限らず収集できればと思います。リンク先は論文やarXivのpre printだけでなく、ブログ記事などもOKです。
こちらのWikiでまとめた情報を元に、サーベイ論文のような形で体系化をしていければと考えています。
本Wikiは機械学習工学研究会 MLSEの「本番適用のためのインフラと運用WG」の活動の一貫として行っていますが、どなたでも書き込みしていただけます。
-
Why is DevOps for Machine Learning so Different? - By Ryan Dawson
- MLの開発ライフサイクルを伝統的なサイクルと比較し、 Training, Live Predictions and Model Serving, Rollout, Governanceの4つの観点で整理
-
"Requirements to achieve MLOps"
- MLOpsが成功するための4つの要素として、"Reproducible", "Accountable", "Collaborative", "Continuous"を掲げている
-
Best Practices for MLOps
- MLOpsに関する5つのベストプラクティスをインフォグラフィックにまとめている
-
Continuous Delivery for Machine Learning
- Data Engineer/Data Scientist/Machine Learning Engineerと組織が3分割されており、DSのモデルが実験環境でしか動かない事を最大の障壁として、それをどう乗り越え後段のML Engが再利用可能としCDするかの戦いだというのが明確に。各課題のOSSでのアプローチも随所に紹介がある
-
Kubeflow Pipelinesで日本語テキスト分類の実験管理 - やむやむもやむなし
- Kubeflow PipelineとAllenNLPを使った日本語テキスト分類のパイプラインの構築例
-
[1810.08055] Ten Simple Rules for Reproducible Research in Jupyter Notebooks
- Jupyter Notebookの再現性に関する10のルール。途中でモデリング担当からみた分析のサイクル図があるが分析の観点が強く興味深い
-
KubeflowとJupyter Enterprise GatewayでJupyter Notebook環境をさらに便利に | CyberAgent Developers Blog
- KubeflowベースでJupyter Labの管理をする事例
-
When is a neural net too big for production?
- ML modelのデプロイパターンをRESTFul, Consumer, Cron Jobsの3つに整理。BERTを題材にSanicを使ったcookiecutterを紹介
-
Efficient and Robust Automated Machine Learning
- NIPS 2015。いわゆるAutoMLの類。特徴量加工、アルゴリズム選択、ハイパーパラメータチューニングを機械化。論文中で強調されていたのはメタ学習による効率化とアンサンブル構成。scikit-learnベースであり、auto-sklearnとしてGitHubに実装が公開されている。
-
[1909.05372] Overton: A Data System for Monitoring and Improving Machine-Learned Products
- AppleのML基盤Overtonの紹介。データのschema, data file, model tuningの情報を与えるとTF/PyTorch/CoreMLのコードを生成しデプロイまで行う。weak supervised learning, Zero-code deep learningも重要と主張
-
Analyzing anomalies with ThirdEye
- 必ずしもML向けではないが、LinkedInにおける監視の仕組み。データキューブ化されたメトリクスを利用。複数のディメンションにまたがった分析を行う。
-
THE DEFINITIVE GUIDE TO Machine Learning Platforms
- ML系Podcast TWIML AI Podcastの主催者によるML Platformの事例集。
-
MLOpsの歩き方
- 有賀によるMLOpsを中心としたML基盤の解説記事。雑誌n月刊ラムダノートは有料だが、ドラフト版は無料で読める
-
継続的改善をし続けるための機械学習基盤の課題
- 有賀によるIBIS 2019での発表。4つのMLOpsのManifestをベースに9つのML in productionの課題を整理している
-
Data Platform for Machine Learning
- AppleのML基盤MLdpのSIGMOD'19での論文。HDFS,Blob,local等様々なストレージレイヤーを抽象化しSQLで扱える、streamデータも統合、annotatinonは別テーブルに分けデータもcopy-on-writeでバージョニングする等工夫が多い。8つのML data platformの要件は重要な示唆を示している。
-
On the FaaS Track: Building Stateful Distributed Applications with Serverless Architectures
- パブリッククラウドの普及もあり、FaaS(Function as a Service)がデータ処理基盤として使われるケースも生まれてきた。本論文では、コンテナ同士が互いにデータをやり取りするような処理を、FaaS上に乗せるための技術を提案。特に機械学習をスコープに入れている。コンテナ間で共有するオブジェクトそのものを、オブジェクト更新用のメソッドとセットでストアするオブジェクトストアを提案したところが特徴的である。
- Knowledge Bases
-
Awesome production machine learning
- MLOpsの情報を中心にproductionでのML基盤に使える技術のリストを作成している。彼らのメールマガジンも新しいトピックが毎週配信されて参考になる
-
Awesome production machine learning
- News
-
The Batch - deeplearning.ai
- Andrew Ngが主催するdeeplearning.aiの提供するメールマガジン。幅広い内容が提供されており、ethicの話やproject structureの話も含まれており、opinionatedなメールマガジン。
-
The Batch - deeplearning.ai
- Conferences
-
MLOps Conference NYC
- iguazio社が主催するMLの管理とオートメーションに関するカンファレンス
-
USENIX OpML'20, OpML'19
- MLのプロダクション・ライフサイクルに関するカンファレンス。研究と産業の横断的な取り組み。
-
SysML Conference
- 学習システムのベストプラクティスとデザイン原則から、実用的な機械学習ワークフローに合わせた新しい学習方法と理論の開発など、横断的な研究を対象とする
-
MLOps Conference NYC
- What we need for?MLOps / Keigo Hattori(ABEJA), July 13, 2019
- JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜 / Tetsutaro Watanabe(JapanTaxi), Jul 13, 2019
- メルカリの写真検索を支えるバックエンド CCSE 2019 version / Hirofumi Nakagawa(メルカリ), July 13, 2019
- つらくないAirflowにむけて / Kenji Yamauchi(LINE), May 30, 2019
- 機械学習関連の開発を効率化した話 / 西場正浩(エムスリー), May 30, 2019
- MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと / 三浦航(楽天), May 16, 2019
- 機械学習モデル精度の比較・管理について(How to evaluate & manage machine learning model) / Shunya Ueta(メルカリ), May 3, 2019
- データサイエンティストが力を発揮できるアジャイルデータ活用基盤 / 田村真一(リクルートライフスタイル), Apr 24, 2019
- AI/MLシステム開発の難しさ / 鈴木翔太(DeNA), April 17, 2019