Upgrade to Pro — share decks privately, control downloads, hide ads and more …

機械学習OSSの変遷と未来

 機械学習OSSの変遷と未来

まつもとゆきひろ氏と考える つよいエンジニアになるためのオープンソースの使い方 - 2021/4/13
https://techplay.jp/event/849756

CADDi AI Lab Tech Lead Shunsuke Kawai

620c94b3affc3376c62540a64ce7ba36?s=128

vaaaaanquish

April 13, 2022
Tweet

More Decks by vaaaaanquish

Other Decks in Technology

Transcript

  1. 機械学習OSSの変遷と未来 まつもとゆきひろ氏と考える つよいエンジニアになるためのオープンソースの使い方 2021/4/13 CADDi AI Lab Tech Lead Shunsuke Kawai

  2. I AM • CADDi, inc. AI Lab Tech Lead M3,

    inc. Engineering Fellow Developers Guild Bolder’s Owner • OSS • XGBoost、LightGBM、Rust wrapper • gokart • xonsh Shunsuke Kawai (@vaaaaanquish)
  3. OBJECTIVE • 専門的な知識を活かしたOSS貢献について知る • OSS貢献がエンジニアとしての価値に繋がる事を知る • 自身が使っているOSSに興味を持ち 「コードを読んでみようかな」という気持ちになる

  4. AGENDA 1. 機械学習OSSの分類 - 3分 2. 専門性を活かした貢献とポイント - 5分 3. エンジニアのキャリアとの接続 - 5分

  5. ”NOT” SPEAK TODAY • OSSとは • 古典的、メジャーでない機械学習OSSの話 • 機械学習の理論の話

  6. 機械学習OSSの分類

  7. MACHINE LEARNING OSS LAYER conda, poetry, pipenv, … Jupyter, Streamlit,

    FastAPI, … dbt, Dagster, DVC, feast, hadoop, … k8s, TF Serving, OpenMPI, faiss, … MLflow, Airflow, gokart, … NumPy, Pandas, NetworkX, … xfeat, spaCy, torchvision, Albumentation, … sklean, LightGBM, PyTorch, TensorFlow, Optuna… Matplotlib, Seaborn, Plotly, Bokeh… SHAP, AIF360, … Package Management Application Data Management Machine Learning Pipeline Data Representation Analysis & Modeling Visualization Verification Infrastructure & Deployment Data Preprocessing
  8. MACHINE LEARNING OSS LAYER conda, poetry, pipenv, … Jupyter, Streamlit,

    FastAPI, … dbt, Dagster, DVC, feast, hadoop, … k8s, TF Serving, OpenMPI, faiss, … MLflow, Airflow, gokart, … NumPy, Pandas, NetworkX, … xfeat, spaCy, torchvision, Albumentation, … sklean, LightGBM, PyTorch, TensorFlow, Optuna… Matplotlib, Seaborn, Plotly, Bokeh… SHAP, AIF360, … Package Management Application Data Management Machine Learning Pipeline Data Representation Analysis & Modeling Visualization Verification Infrastructure & Deployment Data Preprocessing Today
  9. HISTORY OF MACHINE LEARNING OSS 1991 2000 2010 2020 Python

    0.9 Python 3.0 NumPy (1995~) PIL (1995~) Pandas (2008~) SciPy (2001~) sklean (2007~) LightGBM (2016~) XGBoost (2014~) PyTorch (2016~) TensorFlow (2015~) Optuna (2018~) spaCy (2015~) MeCab (2006~) NetworkX (2005~) xfeat (2020~) torchvision (2017~) PyTorch Lightning (2019~) Albumentation (2018~) PyCaret (2020~) autogluon (2020~) CatBoost (2017~) transformers (2018~) JAX (2020~) cudf (2020~)
  10. POPULAR MODELING TOOLS State of ML & Data Science 2021

    - Kaggle https://www.kaggle.com/kaggle-survey-2021
  11. POINT • 機械学習OSSを大まかに分類 • 栄枯盛衰、個々のモデル実装などは多々あれど 主要なフレームワークは大きく動いていない • Machine Learning、Data Science全体に貢献できる

  12. 専門性を活かした 貢献とポイント

  13. CASE 1 https://github.com/microsoft/LightGBM/pull/2620 • XE NDCG MARTの実装 • ランキングに微分可能な損失関数 •

    高速かつ精度が高い • arXiv公開から短い期間で著者が実装 • 数式をコードに落とし込む力 • 論文をサーベイする力 https://arxiv.org/abs/1911.09798
  14. CASE 2 https://github.com/vaaaaanquish/lightgbm-rs/pull/24 • Feature Importance抽出機能追加 • モデルの解釈基準を数値化する • 実際にモデリングする過程で

    求められる事が多い • コンペティションに向けた機能追加 • ユースケースに対する理解 • wrap元のロジックの理解
  15. CASE 3 https://github.com/scikit-learn/scikit-learn/pull/16625 • Top k Accuracyの実装 • 上位N個を見て正解が何個あるか •

    Accuracy Scoreは既存実装あり • 最初のissueは2017年 • 長らく実装されていなかっただけ • 大きなOSSでもissueは山ほどある • 自身が日々使う中でのissueでも◎
  16. POINT • ResearchやCompetition、日々の業務の中で得た ML/DSの専門知識が活きる貢献が多くあり求められている • 機械学習に限らず、物理や数学、医学…などでも言える • 小さな改善も多く残っている

  17. エンジニアの キャリアとの接続

  18. MLE/DS CAREER • バックグラウンドが広く個人に対する評価が難しい • 営利企業においてOSS活動は評価しやすい軸の1つ • 知識を活かしプロダクト開発に向き合えるか • チームで開発ができるか

    . . ., etc MLE/DS Physics Math Medicine CS ML Statistics Economy Engineering
  19. KAWAI’s CAREER with OSS • LightGBMコミュニティから スカウトメール • CADDi転職においても Rustと機械学習のOSSを

    作っていた文脈でDMを頂いた https://type.jp/et/feature/19084/
  20. POINT • 機械学習の知識、実装力が見え 実際にキャリアに繋がることがある • 特に専門性を磨いてきた方でMLE・DSを 目指す場合は非常に有効 • CADDi AI

    Lab採用でもGitHubアカウント見ています (※Nice to haveです)
  21. ~ 未来を作ろう ~ Twitterを今すぐフォロー!