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

AutoML パッケージの開発を円滑に進めたい / How to develop AutoML package

Kon
July 19, 2019

AutoML パッケージの開発を円滑に進めたい / How to develop AutoML package

Kon

July 19, 2019
Tweet

More Decks by Kon

Other Decks in Science

Transcript

  1. AutoML パッケージの開発を円滑に進めたい
    データと ML 周辺エンジニアリングを考える会 #2
    Jul 19, 2019

    View full-size slide

  2. Yu Ohori (a.k.a. Kon)
    NS Solutions Corporation (Apr 2017 - )
    ● Researcher
    ● Data Science & Infrastructure Technologies
    ● System Research & Development Center
    ● Technology Bureau
    @Y_oHr_N
    @Y-oHr-N
    #SemiSupervisedLearning #AnomalyDetection #DataOps

    View full-size slide

  3. 約 3 ヶ月,同僚 3 名と以下の大会に参加した
    April 1, 2019 - July 20, 2019
    3
    任意のデータセットに対
    する予測精度を競う大会
    https://www.4paradigm.com/competition/kddcup2019

    View full-size slide

  4. 何故参加したか?
    AutoML 周辺技術の調査 開発力強化 案件利用
    4

    View full-size slide

  5. 本大会の内容は?
    入力
    ● 5 つの表形式データセット
    ● スキーマ,関係等が記載されたファイル(右図)
    提出物
    ● 学習,予測を行うコード
    制約
    ● 計算資源:4 vCPUs (16 GB Memory)
    ● 計算時間:数十分程度
    評価指標
    ● AUROC
    5

    View full-size slide

  6. 本大会の課題は?
    時系列データの扱い
    ● data leak を予防する方法は?
    ● concept drift に対応する方法は?
    複数表の扱い
    ● 一対多,多対多で結ばれる表を結合する方法は?
    4 つの型の扱い
    ● cat 型を num 型に変換する方法は?
    ● multi-cat 型を num 型に変換する方法は?
    ● time 型を num 型に変換する方法は?
    6

    View full-size slide

  7. Concept drift とは?
    データを生成する確率分布が時間経過で変化する現象
    ● cat 型の場合,新規カテゴリの出現が相当
    7
    Gama, J., et al., "A survey on concept drift adaptation," ACM CSUR, 46(4), p. 44, 2014.

    View full-size slide

  8. 結果は?
    計算時間超過で失格…
    通過チームは 31/161
    パッケージの内容は
    懇親会でお話します
    8

    View full-size slide

  9. 開発中,問題になったことは?
    コードが煩雑で,予測精度が低下した際にバグを特定できない
    9

    View full-size slide

  10. どうやってこれらの問題を解決したか?
    Codecov
    カバレッジを記録
    CircleCI
    テストを実行
    Comet.ml
    学習結果を記録
    開発者
    変更を push/PR
    GitHub
    外部サービスに通知
    テスト及び CV スコアの監視を継続的に行い,バグの混入を早急に察知する
    10

    View full-size slide

  11. 何故これらのサービスを採用したか?
    環境構築の手間を削減できるため
    ● mlflow は自身でサーバを構築する必要がある
    private リポジトリに無料利用できるため
    ● Travis CI は課金する必要がある
    ● Code Climate は private リポジトリに利用できない
    11

    View full-size slide

  12. 何を学習結果として記録したか?
    ● commit ID
    ● ブランチ名
    ● 実行日時
    ● 計算時間
    ● 標準出力
    ● 依存関係
    ● 学習曲線
    ● CV スコア
    ● ベストパラメータ
    ● 等
    12

    View full-size slide