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.4k
gokartを作った話
nishiba
February 05, 2020
Tweet
Share
More Decks by nishiba
See All by nishiba
m3 ai team
nishiba
36
48k
Graph Convolutional Networksを使った 推薦システム
nishiba
6
8.5k
機械学習関連の開発を 効率化した話
nishiba
7
5.6k
エムスリーの機械学習チームビルディングの考え方
nishiba
13
7.4k
Graphの推薦システムへの応用
nishiba
6
8.9k
AI・機械学習チームにおけるデータパイプライン構築
nishiba
8
27k
エムスリーにおける 機械学習活用事例と開発の効率化
nishiba
3
6.7k
医療用語に注目した文書の類似度計算
nishiba
6
5.1k
WSDM 2018 論文読み会 Hyperbolic Representation Learning for Fast and Efficient Neural Qestion Answering
nishiba
0
1.8k
Other Decks in Programming
See All in Programming
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
110
副作用と戦う PHP リファクタリング ─ ドメインイベントでビジネスロジックを解きほぐす
kajitack
3
520
NEWT Backend Evolution
xpromx
1
170
iOS開発スターターキットの作り方
akidon0000
0
230
Workers を定期実行する方法は一つじゃない
rokuosan
0
140
AI Ramen Fight
yusukebe
0
120
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
420
DatadogのArchived LogsをSnowflakeで高速に検索する方法(Archive Searchでオワコンにならないことを祈って) / How to search Datadog Archived Logs quickly with Snowflake (hoping Datadog Archive Search doesn’t make this obsolete)
civitaspo
0
110
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
120
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
930
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
730
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.7k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Raft: Consensus for Rubyists
vanstee
140
7k
A Modern Web Designer's Workflow
chriscoyier
695
190k
The Pragmatic Product Professional
lauravandoore
36
6.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
750
The World Runs on Bad Software
bkeepers
PRO
70
11k
GitHub's CSS Performance
jonrohan
1031
460k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
540
Site-Speed That Sticks
csswizardry
10
750
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!!