Slide 1

Slide 1 text

@moriaki
 2019/09/25
 Engineer’s Meetup for Students


Slide 2

Slide 2 text

2 自己紹介 Engineering division Machine Learning team Software Engineer (SysML) 2019年4月 新卒入社 2019年6月 メルペイ配属 moriaki (@moriaki3193)

Slide 3

Slide 3 text

Summer Internship
 初めてのメルカリとの接点 
 機械学習エンジニアコースのイン ターンシップに参加
 Machine Learning Teamで 
 SysML & Modeling の業務 
 
 ランキング学習による 
 検索アルゴリズムの実装 
 6月頭まで研修期間 
 チームでのスクラム開発など 
 内定者インターン
 メルカリ入社
 3 配属までの経緯 12月
 2019年6 月
 メルペイ配属
 Recipioに参加
 9月
 スタートアップに参加
 2017年8 月
 
 2018年8 月
 
 2019年4 月


Slide 4

Slide 4 text

MLチームの普段の業務 Payならではの面白さ&難しさ 複業との相乗効果 01 02 03 4 今日紹介したいこと

Slide 5

Slide 5 text

MLチームの普段の業務 5

Slide 6

Slide 6 text

6 与信モデルの構築 メルペイあと払いサービス
 ● お客様のメルカリ・メルペイ上の行動履歴から
 与信モデルを構築
 ● 「あんしん・あんぜん」なあと払い利用枠を
 設定するための元となる情報を提供


Slide 7

Slide 7 text

7 具体的なタスク ML Team
 モデリング SysML モデルの解釈性 モデルの改善 特徴量探索 モデリング効率化 Data Pipeline の構築 与信モデルの出力に対する説明性 
 モデルの精度の向上 
 データセット・モデルの構築 
 マイクロサービスへの流し込み 
 データ探索のし易い環境の構築 
 フローの実行時間短縮 
 メルカリ・メルペイのデータから 
 信用の創造につながるものを探索 
 2020 1Q はこのあたりの タスクを担当

Slide 8

Slide 8 text

システムの一例 8 Train/Predict Pipeline Engineers Data Pipeline Mercari/Merpay DB BigQuery Predict Result BigQuery Datasets Cloud Storage Models Cloud Storage load dataset Create Dataset Cloud Composer Train/Predict Image Container Registry loads save Predict Job Kubernetes Engine Train Job Kubernetes Engine load image dump Monitoring Logging Query ①Pipeline更新 ②Dataset生成 ③Dataチェック ④学習 ⑤予測 ⑥あと払い連携

Slide 9

Slide 9 text

Payならではの面白さ&難しさ 9

Slide 10

Slide 10 text

与信モデルに求められる性質 堅牢性 妥当性 解釈性 10 ユーザの「良い行い」が 
 より良い与信につながる 
 精度の高さはもちろんのこと... ユーザの多様な行動履歴 による入力に対して堅牢 
 なぜその結果になるのかあ る程度の理解を与える 


Slide 11

Slide 11 text

11 モデルの出力に対する解釈性 解説: この例は「チームがプレイヤーに Man of the Match賞を獲得させるかどうかを予測」です. 予測値は 0.7 です.base_valueは0.4979です. - 予測の向上(正の寄与) → 特徴量の値はピンク色 - 予測を減少(負の寄与) → 特徴量の値は青色 - バーの長さが特徴量の効果の大きさ ピンク色のバーの長さから青いバーの長さを引くと,ベース値から出力までの距離に等しくなります. (実際の図はお見せできないので例にて) Lundberg, Scott M., and Su-In Lee. "A unified approach to interpreting model predictions." Advances in Neural Information Processing Systems. 2017. 著者によるPythonでの実装 : https://github.com/slundberg/shap

Slide 12

Slide 12 text

複業との相乗効果 12

Slide 13

Slide 13 text

Tech Stack: Backend + ML
 13 扱う技術スタック and more ...


Slide 14

Slide 14 text

他にも...
 14 ハードスキル・ソフトスキル ● Design Doc
 ● スクラム開発
 ● マイクロサービス
 ● etc...


Slide 15

Slide 15 text

起床&準備 出社 通常業務 退社 就寝 15 「メルペイ」のあとの時間
 1日の流れ 8:30
 11:00
 20:00
 21:00
 1:00
 予定がなければ 空いている時間 :thinking_face: ● 学生時代にエンジニアとして参加していた会社
 はメルペイに入った後もお手伝いしている
 ● メルカリ・メルペイはフレックスタイム制
 柔軟に空いた時間を設定・利用できる
 ● 普段の業務で得た経験を他の場所で試したい
 副業にも挑戦
 12:00
 朝会


Slide 16

Slide 16 text

いろいろな失敗ができた
 16 やってみて... ● スクラム
 ○ 毎日みんなが顔を突き合わせていられるわけじゃない ○ 課題がどこに存在するのかを洗い出すことが困難になっていった ● マイクロサービス
 ○ バックエンドの開発人数がサービス数を上回る事態に... ○ 気がついたら巨大なモノリスを作っていた...

Slide 17

Slide 17 text

よかったこと
 わるかったこと
 17 やってみて... ● オーナーシップを持って技術や仕組みを
 導入することにより、『腹落ち』するまでの
 スピードが早くなる
 ● 当たり前だけど大切な気づき:
 組織の規模感が異なれば、効いてくる技術・
 仕組みは当然異なる
 ● 空いた時間が価値を生み出している(かも)
 という感覚は純粋に楽しい
 ● 体調を崩すととたんにいろいろなスケジュールがシ ビアなことになる...
 ● どうしても時間がない時に少しばかり休日を
 犠牲にすることに...


Slide 18

Slide 18 text

まとめ 18

Slide 19

Slide 19 text

金融系サービス 業務形態の柔軟さを活かした活動 精度だけではない、 の問題設定 01 02 03 まとめ 19

Slide 20

Slide 20 text

ありがとうございました 20