世界のデータサイエンティスト、2,384チームが競った「Mercari Price Suggestion Challenge」―メルカリが機械学習活用のコンペを開催した狙いとは?
世界中のデータサイエンティストが集うコミュニティ「Kaggle(カグル)」。ここでは頻繁に、企業や研究者が提供するデータについて、60万人以上のデータサイエンティストや研究者が機械学習における最適なモデルを競い合うコンペティションが開かれている。
今回2017年11月から2018年2月にかけて、「Mercari Price Suggestion Challenge」を開催したのはメルカリの機械学習チーム。その狙いを同社でマネージャーを務める木村俊也氏とメンバーの上田隼也氏に聞いた。
より精度の高い価格査定アルゴリズムを開発してください
Kaggleでは、企業が課題をデータと共に提示し、期間内に最も精度の高い分析モデルを作り、その分析モデルから出されたスコアを競うオンラインのコンペティションが随時開催されている。
今回、メルカリが開催したコンペは「Mercari Price Suggestion Challenge」というもの。メルカリのUSにおけるサービスで、2017年8月中旬から開始している出品時の価格査定機能「Mercari Suggestion Price」のアルゴリズム改善がテーマだ。
「Mercari Suggestion Price」とは、アイテムを出品するユーザーが「この商品なら、だいたいいくらぐらいの値付けにすれば売れやすいか」を考えるとき、メルカリに膨大に蓄積されたデータを活かしてその参考額を提案してくれるというもの。背景では機械学習のアルゴリズムやエンジンがフルに稼働しており、提示額の精度をいかに高めるかは、メルカリ社内でも重要な課題になっている。
「世界中の研究者や開発者にこの課題を解いてもらい、僕たちのベースラインとして作成したアルゴリズムを上回るようなものをぜひ開発してほしいと期待しました。結果的に僕らのベースラインよりも高いものが得られて満足しています。そのアルゴリズムはいまUSメルカリなどで実際に導入テストをしているところです」
と語るのは、機械学習の分野で、メルカリで機械学習チームのEngineer Managerを担当している木村俊也氏だ。
株式会社メルカリ 機械学習チーム Engineer Manager 木村俊也氏
優秀なアルゴリズムを開発した個人・チームに贈られる賞金は1位6万ドル、2位3万ドル、3位1万ドルの総計10万ドル(日本円で約1,000万円)だ。3カ月にわたるコンペに参加したチームは世界各国から2,384に及び、メルカリの予想を上回った。
メルカリは、上位に輝いたロシア、中国、ポーランドの3カ国のエンジニアを日本に招待。5月9日にはメルカリ本社で、日本人の中でも上位ランカー陣もパネリストとして招待してパネルディスカッションを開催した。
パネルディスカッションの中ではデータセットをどのように分割すべきか、どのようなモデルや分析手法を選択し組み合わせるべきかなど、Kaggleのコンペで上位を獲得するための秘策が披露された。
とはいえ、アルゴリズム開発には魔法があるわけではなく、「主要なモデルを全て試すなど、ひたすら時間をかけることが欠かせない」など、基本の重要性も指摘された。同時に「普通の考え方だけでは絶対に上位には上がれない。発想のジャンプをすることが欠かせないという話も印象的でした」と木村氏は感想を述べる。
イベントゲスト①:左から、Engineer at Scrapinghub Konstantin Lopuhin氏(ロシア)、IT コンサルタント Paweł Jankiewicz氏(ポーランド)、IT エンジニア Zhenzhe Ying氏(中国)、NLP Algorithm Expert at Alibaba Chenglong Chen(中国)。イベントの開会の挨拶は株式会社メルカリ 取締役CPO 濱田優貴 氏が行った。
今回のイベントで最も優秀な結果を残した4人が、どのようにしてKaggleの問題を解いていったのかなどをディスカッション。モデレータは株式会社メルカリ 機械学習エンジニア Hao Zhang氏。
イベントゲスト②:競技プログラミングコンテストで優勝経験を持つtakapt (たかぷと)さん、自然言語処理に興味を持つITコンサルタント企業に勤める佐藤尚至さん、Kaggle Expertとして、機械学習エンジニアを育成するAIコースの担当しているDIVE INTO CODE マネージャーの中尾亮洋さん。
企業の膨大な実データを元に分析できるのが最大の魅力
今回のコンペにはもう一つの狙いもあった。
「メルカリは、今後よりグローバルにサービスを展開していきます。データサイエンティストを含むエンジニアのグローバル採用も強化していきたい。その点、Kaggleは世界の優秀なエンジニアが集うコミュニティ。Mercari Price Suggestion Challengeの開催を通して、機械学習やデータ分析に関わる研究者やエンジニアが働く場所として当社の魅力を世界に伝えたいという狙いもありました」(木村氏)
木村氏によれば、今回のコンペを通し「普通の採用活動ではリーチできないような人たちと出会えた」とのこと。ただ、実際の採用は単に能力だけでなく企業のカルチャーとのマッチングも必須なので、今回の上位入賞者に即採用のオファーを出したわけではない。
ちなみに、メルカリは現在、パロアルト、ロンドンに海外開発拠点をもつが、今後さらに、グローバルに拠点展開することも予想される。日本発の企業ではあるが、その職場は日本だけではないのだ。
Kaggleに集うデータサイエンティストたちにとって、企業コンペに参加する意義は単に賞金額だけではない。当該企業が実際に使っている膨大なデータセットが提供されることが最大の魅力だ。今回の「Mercari Price Suggestion Challenge」でもUS版メルカリで使われた、数百万に上る匿名化された実データが提供された。
「実際にサービスで使われている大規模な実データを扱えるのが魅力だと思います。機械学習の実力を磨くためには、膨大な実データを直接触りながら、何度も試行錯誤を重ね、予測精度を高めていくことが欠かせない。そこに世界のKagglerたちは魅力を感じているのだろう」と、木村氏。
今回はカーネル形式での出題であり、実際の計算はKaggleのサーバーを使って行う形式での開催になった。
「参加者が様々なカーネルを公開し、それを参考にすることができるので参加しやすい。また、自分の計算機の資源を気にすることなく、課題に取り組める。計算資源の少ない参加者も取り組みやすかったのではないでしょうか」と、メルカリの上田隼也氏は語っている。
株式会社メルカリ 上田隼也氏
日本でも広がるか。機械学習、Kaggleへの関心
Kaggleはデータサイエンス分野では世界に知られたコミュニティであり、今回メルカリが参戦したことが、国内のエンジニアのKaggleへの関心をさらに高めることになったのはたしかだ。
すでにメルカリ内には社内部活動として「Kaggle部」が存在し、7名の部員が月に2回ほ活動しているという。
「機械学習や探索的データ解析のためのより良いコードの書き方などの情報交換を通して、機械学習スキルの底上げを図っています。Kaggleコンペへの参加は趣味の一環であるとはいえ、そこでのベストプラクティスを実際の業務にも反映することもできます」(上田氏)。
機械学習への活用は、IT・インターネット企業などの膨大なデータを扱う分野に広まりつつある。日系企業がkaggleのコンペティションが開催する機会も増え、今後はますますKaggleから目が離せなくなってきた。
取材・文:広重隆樹/撮影:平山諭