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

vaaaaanquish
PRO

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

    View Slide

  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)

    View Slide

  3. OBJECTIVE
    • 専門的な知識を活かしたOSS貢献について知る
    • OSS貢献がエンジニアとしての価値に繋がる事を知る
    • 自身が使っているOSSに興味を持ち
    「コードを読んでみようかな」という気持ちになる

    View Slide

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

    View Slide

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

    View Slide

  6. 機械学習OSSの分類

    View Slide

  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

    View Slide

  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

    View Slide

  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~)

    View Slide

  10. POPULAR MODELING TOOLS
    State of ML & Data Science 2021 - Kaggle
    https://www.kaggle.com/kaggle-survey-2021

    View Slide

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

    View Slide

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

    View Slide

  13. CASE 1
    https://github.com/microsoft/LightGBM/pull/2620
    • XE NDCG MARTの実装
    • ランキングに微分可能な損失関数
    • 高速かつ精度が高い
    • arXiv公開から短い期間で著者が実装
    • 数式をコードに落とし込む力
    • 論文をサーベイする力
    https://arxiv.org/abs/1911.09798

    View Slide

  14. CASE 2
    https://github.com/vaaaaanquish/lightgbm-rs/pull/24
    • Feature Importance抽出機能追加
    • モデルの解釈基準を数値化する
    • 実際にモデリングする過程で
    求められる事が多い
    • コンペティションに向けた機能追加
    • ユースケースに対する理解
    • wrap元のロジックの理解

    View Slide

  15. CASE 3
    https://github.com/scikit-learn/scikit-learn/pull/16625
    • Top k Accuracyの実装
    • 上位N個を見て正解が何個あるか
    • Accuracy Scoreは既存実装あり
    • 最初のissueは2017年
    • 長らく実装されていなかっただけ
    • 大きなOSSでもissueは山ほどある
    • 自身が日々使う中でのissueでも◎

    View Slide

  16. POINT
    • ResearchやCompetition、日々の業務の中で得た
    ML/DSの専門知識が活きる貢献が多くあり求められている
    • 機械学習に限らず、物理や数学、医学…などでも言える
    • 小さな改善も多く残っている

    View Slide

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

    View Slide

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

    View Slide

  19. KAWAI’s CAREER with OSS
    • LightGBMコミュニティから
    スカウトメール
    • CADDi転職においても
    Rustと機械学習のOSSを
    作っていた文脈でDMを頂いた
    https://type.jp/et/feature/19084/

    View Slide

  20. POINT
    • 機械学習の知識、実装力が見え
    実際にキャリアに繋がることがある
    • 特に専門性を磨いてきた方でMLE・DSを
    目指す場合は非常に有効
    • CADDi AI Lab採用でもGitHubアカウント見ています
    (※Nice to haveです)

    View Slide

  21. ~ 未来を作ろう ~
    Twitterを今すぐフォロー!

    View Slide