Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
gokartを作った話
Search
nishiba
February 05, 2020
Programming
2
8.3k
gokartを作った話
nishiba
February 05, 2020
Tweet
Share
More Decks by nishiba
See All by nishiba
m3 ai team
nishiba
36
47k
Graph Convolutional Networksを使った 推薦システム
nishiba
6
8.5k
機械学習関連の開発を 効率化した話
nishiba
7
5.5k
エムスリーの機械学習チームビルディングの考え方
nishiba
12
7.4k
Graphの推薦システムへの応用
nishiba
6
8.8k
AI・機械学習チームにおけるデータパイプライン構築
nishiba
8
27k
エムスリーにおける 機械学習活用事例と開発の効率化
nishiba
3
6.7k
医療用語に注目した文書の類似度計算
nishiba
6
5k
WSDM 2018 論文読み会 Hyperbolic Representation Learning for Fast and Efficient Neural Qestion Answering
nishiba
0
1.8k
Other Decks in Programming
See All in Programming
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
380
Benchmark
sysong
0
220
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
580
生成AIで日々のエラー調査を進めたい
yuyaabo
0
610
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
380
CursorはMCPを使った方が良いぞ
taigakono
0
120
A2A プロトコルを試してみる
azukiazusa1
2
700
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
240
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
For a Future-Friendly Web
brad_frost
179
9.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Building Adaptive Systems
keathley
43
2.6k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
GraphQLとの向き合い方2022年版
quramy
46
14k
How STYLIGHT went responsive
nonsquared
100
5.6k
4 Signs Your Business is Dying
shpigford
184
22k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Transcript
gokartを作った話 エムスリー/エンジニアリンググループ リーダー/ AI・機械学習チーム リーダー 西場 正浩 2020年02月05日更新
この登壇について 2
エムスリー株式会社 発表中のお願い 3 写真・SNSへ投稿OK 感想、コメント、ツッコミを SNSに投稿してほしい! ※ 発表後でエゴサする!
エムスリー株式会社 自己紹介 4 西場 正浩 @m_nishiba
機械学習の勉強を始めて約3年 プロダクトマネージャー(PdM)の勉強とチャレンジ 38歳くらいで起業したい(あと4年) 趣味は「ビジネスで新しい挑戦をすること」負荷かけたい 本・論文(ビジネスやML)はたくさん読む。巨人の肩にのりたい。 毎月続けるか辞めるかを考えている。
エムスリー株式会社 5
エムスリー株式会社 医療に関わる体験を良くしたい!! 〜〜〜〜仲間募集中〜〜〜〜 エムスリーにおける AI・機械学習チームの立ち上げと 機械学習プロダクト開発 gokartを作り始めた会社
エムスリー株式会社 7 日本における65歳以上の人口比率 3人に1人
エムスリー株式会社 8 増え続ける日本の医療費 40兆円超
エムスリー株式会社 エムスリーのミッション インターネットを活用し、 健康で楽しく長生きする人を一人でも増やし、 不必要な医療コストを一円でも減らすこと 9
エムスリー株式会社 m3.com 医療従事者向けポータルサイトを運営 10 日本の医師の約90%(28万人以上)が登録 20以上の医療系のサービスを展開 日経225に採用された大企業
(AI関連のスタートアップではないです) ❌ 医療業界の人がITにチャレンジ ⭕ IT業界の人が医療にチャレンジ グローバル展開。エンジニアも数ヶ月NY出張。 2018年、営業利益が300億円を突破
エムスリー株式会社 医療界の変革をテーマに事業創造 11
エムスリー株式会社 エムスリーは非常にフラットな組織 12 経営会議メンバー エンジニアリングG グループ A グループ B
AI・機械学習チーム チーム A チーム B 階層を最小化 意思決定のスピードも超高速 経営メンバー リーダー メンバー
gokartを作った話 なぜ必要だったのか? 13
エムスリー株式会社 前処理の変更や追加など、データパイプライン上の一部の処理だけを簡単に変更し たい。 途中の計算結果など保存し、パラメータや入力が変わったら再計算をしたい。これら を意識することなく実行したい。 アルゴリズム開発でPDCAを高速にまわしたい! Plan(計画)→ Do(実行)→
Check(評価)→ Act(改善)
エムスリー株式会社 コードレビューの負荷を減らす方法 • コード量を減らす。フレームワークがよしなに色々してくれる。 • 管理コストが低い再利用できるコードを増やす。クラス設計を強制的に統一す る。 • 単一責任の原則を強制しやすくする。 エンジニアリング力がジュニアなメンバーの
コードレビューの負荷を減らしたい。
エムスリー株式会社 コードや中間データ、モデルを共通化したい。 都度、pageview関連データなどの大きいデータを落とすのはしんどい。 複数のプロジェクトを同時に開発したい。
エムスリー株式会社 本番で落ちたときに対応を簡単にしたい。S3等から中間生成物をダウンロードして、 restore(task_id)で全く同じものを再現できる。 すべてのプロジェクトで構成が統一できるので動かすのが誰でも比較的簡単。 管理コストやキャッチアップのコストを下げたい。
エムスリー株式会社 PandasのDataFrameがemptyのときのテストやcolumnの型が意図せず変わってしま う問題への対処。 gokartを使ってデータパイプライン上のpandas関連をテストする。 開発の知見を共有し、共通化したい。
エムスリー株式会社 gokart.TaskOnKartを組み合わせて、さくっとモデル開発ができるようにしたい。 チームメンバーが作ったモデルや処理、過去に自分が追試したアルゴリズムなどを 低コストで使いまわしたい。 もっと開発を楽したい。
エムスリー株式会社 Qiita: PythonのPipelineパッケージ比較:Airflow, Luigi, Gokart, Metaflow, Kedro, PipelineX のコメント参照。 前処理を追加したり、モデルを変更するなど、ワークフローの一部を変更することが
コード上容易。また中間生成物なども”いい感じに”管理してくれる。 gokart.TaskInstanceParameter requiresの中で自由に組み合わせることができる。
gokartを作った話 今後どうしたいか? 21
エムスリー株式会社 一部テストの自動化(pandasの型チェックなどはすでにある) テストのコード量を減らしたい。 単体テストを楽したい
エムスリー株式会社 ごめん。。。 Write high-quality friendly documentation!!
エムスリー株式会社 78。。。 star数を増えないかな〜
エムスリー株式会社 実務上、困っていることを改善するのが大切 issue driven!!