Unipos engineer blog

Uniposの開発者ブログ

エムスリーさんと合同で、機械学習勉強会を開催しました

機械学習の開発及び、データ分析を行っています長谷川(@Hase8388)です。 先週の2/5にエムスリー株式会社さんの機械学習エンジニアの皆様と、合同で勉強会を開催しました。

f:id:fringeneer:20200212134059j:plain
イベント後のエムスリーさんの皆様との集合写真

テーマは、最近話題に上がることが多い『MLOps』。機械学習における開発、運用をする上でのハマりどころや、円滑にプロジェクトを進めるための知見についてです。

m3-engineer.connpass.com

弊社からは、自社サービスの一角である、広告プロダクトにおける機械学習をどのように導入したかについて私(長谷川)が、また、同じく自社プロダクトで、従業員同士で感謝と給料を贈り合うHRサービスのUniposでのデータ分析及び、機械学習の活用について同じチームの水谷(@tenajima)が発表しました。

f:id:fringeneer:20200210163925j:plain
f:id:fringeneer:20200210164446j:plain

また、エムスリーさんからは、チームリーダーである西場正浩(@m_nishiba)さんと、AI・機械学習チームの河合俊典(@vaaaaanquish)さんにご登壇頂き、自社で開発されているOSSgokartについて、開発に至った背景、運用方法、他のパイプラインフレームワークと比較したときのメリット・デメリットなどについて、開発者だからこそわかる知見を発表して頂きました。

登壇内容

gokartを作った話(M3: 西場さん)

最初は西場さんから。
gokartの開発に至った背景と、gokartが実際のプロダクトにおいて、どのような良さがあるのかについて発表していただきました。 gokartという『型』を提供することで、レビューとキャッチアップの負担を減らし、複数プロダクトを回す上での負担を少なくすることで、本質的な改善箇所に集中することができるというのは、機械学習チームが大きくなるにつれ、かなり大きなメリットとして活きてくるのではないかと思いました。

機械学習を無理なく広告システムに導入する(F81: 長谷川)

私(長谷川)の内容です。
広告配信システムにおいては、かなり速いレスポンス(最大でも20ms以内)が求められます。その条件下で、配信側のシステムを開発するエンジニアと齟齬なく協力しながら開発し、機械学習システムを運用する方法について発表しました。

gokartの運用と課題について(M3: 河合さん)

三番目は、エムスリーの河合さんから。 gokartのサポートしている(していない)部分から、様々な観点からみた際の強み、エムスリーさんにおける運用方法などについて発表して頂きました。 gokartの導入の検討から、実際の運用までフェイズごとに、さまざまな知見を得ることができる内容です。また、gokartだけでなく、周りをサポートするthunderboltなどさまざまなOSSライブラリもご紹介頂いており、gokartで開発・運用する際は、リファレンスとして、発表内容を改めて参照させて頂きたいです。

gokart導入のきっかけと運用の現状(F81: 水谷)

最後は、水谷の発表です。
Fringe81では、Uniposのデータ分析におけるのパイプライン構築において、gokartを積極的に採用させて頂いてます。実際に現場で使用するにおいて、どのような点でgokartの良さが活かされているのかについて、Luigi単体の場合と比較しつつ発表しました。

おわりに

懇親会では、弊社開催のイベントで定番になりつつあるまい泉のヒレカツサンドを片手に、参加者の皆様と一緒に、機械学習プロジェクトの難しさ、面白さについて意見を交換しあい、非常に盛り上がる事ができました。 イベント終了の直前、gokartのスター数がちょうど100(blog執筆時点では119)となり、全員で盛り上がりました⭐

f:id:fringeneer:20200210170703j:plain
gokartが100starとなった瞬間