gokartを作った話

De48ef31de22781848d8f9988bd20a5e?s=47 nishiba
February 05, 2020

 gokartを作った話

De48ef31de22781848d8f9988bd20a5e?s=128

nishiba

February 05, 2020
Tweet

Transcript

  1. gokartを作った話
 エムスリー/エンジニアリンググループ リーダー/ AI・機械学習チーム リーダー 
 西場 正浩
 2020年02月05日更新
 


  2. この登壇について
 2

  3. エムスリー株式会社
 発表中のお願い
 3 写真・SNSへ投稿OK
 
 感想、コメント、ツッコミを
 SNSに投稿してほしい!
 
 ※ 発表後でエゴサする!


  4. エムスリー株式会社
 自己紹介
 4 西場 正浩 @m_nishiba 
 
 
 


    機械学習の勉強を始めて約3年 
 プロダクトマネージャー(PdM)の勉強とチャレンジ 
 38歳くらいで起業したい(あと4年) 
 趣味は「ビジネスで新しい挑戦をすること」負荷かけたい 
 本・論文(ビジネスやML)はたくさん読む。巨人の肩にのりたい。 
 毎月続けるか辞めるかを考えている。 

  5. エムスリー株式会社
 5

  6. エムスリー株式会社
 医療に関わる体験を良くしたい!!
 〜〜〜〜仲間募集中〜〜〜〜
 
 エムスリーにおける
 AI・機械学習チームの立ち上げと
 機械学習プロダクト開発
 gokartを作り始めた会社


  7. エムスリー株式会社
 7 日本における65歳以上の人口比率
 3人に1人


  8. エムスリー株式会社
 8 増え続ける日本の医療費
 40兆円超


  9. エムスリー株式会社
 エムスリーのミッション
 インターネットを活用し、
 健康で楽しく長生きする人を一人でも増やし、
 不必要な医療コストを一円でも減らすこと
 9

  10. エムスリー株式会社
 m3.com 医療従事者向けポータルサイトを運営
 10 日本の医師の約90%(28万人以上)が登録 
 20以上の医療系のサービスを展開 
 日経225に採用された大企業 


    (AI関連のスタートアップではないです) 
 ❌ 医療業界の人がITにチャレンジ 
 ⭕ IT業界の人が医療にチャレンジ 
 グローバル展開。エンジニアも数ヶ月NY出張。 
 2018年、営業利益が300億円を突破 

  11. エムスリー株式会社
 医療界の変革をテーマに事業創造
 11

  12. エムスリー株式会社
 エムスリーは非常にフラットな組織
 12 経営会議メンバー
 エンジニアリングG
 
 グループ
 A
 グループ
 B


    AI・機械学習チーム
 チーム A
 チーム B
 階層を最小化
 意思決定のスピードも超高速
 経営メンバー
 リーダー
 メンバー

  13. gokartを作った話
 なぜ必要だったのか?
 13

  14. エムスリー株式会社
 前処理の変更や追加など、データパイプライン上の一部の処理だけを簡単に変更し たい。
 
 途中の計算結果など保存し、パラメータや入力が変わったら再計算をしたい。これら を意識することなく実行したい。
 アルゴリズム開発でPDCAを高速にまわしたい!
 
 Plan(計画)→ Do(実行)→

    
 Check(評価)→ Act(改善)

  15. エムスリー株式会社
 コードレビューの負荷を減らす方法
 • コード量を減らす。フレームワークがよしなに色々してくれる。
 • 管理コストが低い再利用できるコードを増やす。クラス設計を強制的に統一す る。
 • 単一責任の原則を強制しやすくする。
 エンジニアリング力がジュニアなメンバーの


    コードレビューの負荷を減らしたい。

  16. エムスリー株式会社
 コードや中間データ、モデルを共通化したい。
 都度、pageview関連データなどの大きいデータを落とすのはしんどい。
 複数のプロジェクトを同時に開発したい。


  17. エムスリー株式会社
 本番で落ちたときに対応を簡単にしたい。S3等から中間生成物をダウンロードして、 restore(task_id)で全く同じものを再現できる。
 
 すべてのプロジェクトで構成が統一できるので動かすのが誰でも比較的簡単。
 管理コストやキャッチアップのコストを下げたい。


  18. エムスリー株式会社
 PandasのDataFrameがemptyのときのテストやcolumnの型が意図せず変わってしま う問題への対処。
 
 gokartを使ってデータパイプライン上のpandas関連をテストする。
 開発の知見を共有し、共通化したい。


  19. エムスリー株式会社
 gokart.TaskOnKartを組み合わせて、さくっとモデル開発ができるようにしたい。
 チームメンバーが作ったモデルや処理、過去に自分が追試したアルゴリズムなどを 低コストで使いまわしたい。
 もっと開発を楽したい。


  20. エムスリー株式会社
 Qiita: PythonのPipelineパッケージ比較:Airflow, Luigi, Gokart, Metaflow, Kedro, PipelineX
 のコメント参照。
 前処理を追加したり、モデルを変更するなど、ワークフローの一部を変更することが

    コード上容易。また中間生成物なども”いい感じに”管理してくれる。
 
 gokart.TaskInstanceParameter
 requiresの中で自由に組み合わせることができる。

  21. gokartを作った話
 今後どうしたいか?
 21

  22. エムスリー株式会社
 一部テストの自動化(pandasの型チェックなどはすでにある)
 
 テストのコード量を減らしたい。
 
 単体テストを楽したい


  23. エムスリー株式会社
 ごめん。。。
 Write high-quality friendly documentation!!


  24. エムスリー株式会社
 78。。。
 star数を増えないかな〜


  25. エムスリー株式会社
 実務上、困っていることを改善するのが大切
 issue driven!!