成長できたと毎日思い続けられるように

SierからWeb業界に転身したWebエンジニアのブログ

Mercari Tech Conf 2017に参加してきました

こんにちは。
SierからWeb業界に転身して4ヶ月目のWebエンジニア石本です。

日頃インプットは意識して行う事が出来ていますが、
アウトプットに関しては全く出来ていなかっったので、これからブログなどで
色々と書いていきたいと思います。

ゆくゆくは、技術検証などの技術内容をメインに書いていきたいですが、
直近は、テックカンファレンスや勉強会に参加する事も多いので、記録も兼ねて参加レポートとして不定期で書いていこうと思います。

今回は、Mercari Tech Conf 2017に参加してきました。

f:id:tishimtoo:20171001145331j:plain

techconf.mercari.com

私が興味を持った、4つのテーマのセッションについて簡単に書いています。

  • メルカリの過去と現在、そして未来(基調講演)
  • Mercariサーバサイドデプロイ:現在と未来
  • US版Mercari iOSアプリのアーキテクチャーとDependency Injection
  • 画像認識技術は人を超えたのか?

 基調講演

創業当初〜

 創業期からのエピソードが語られました。
取り壊し予定のビルからスタートし、初めてシステムを構築する際のインフラ要件は、
「ハイエンドな1サーバーに全部集約」と当時の議事録に残っていたそうです。
 将来的に事業拡大を想定して、システムを用意することは予測困難かつ膨大な初期費用がかかってしまいます。その課題を解決する為に、今構築するインフラに関しては、3ヶ月後に廃棄することを前提としインフラを構築したことで、大幅な工数削減につながったそうです。

サービス開発時〜

サービス開発時の話に移り、「とにかく早くリリースすることを重要」として、
最初のリリースに検索機能を実装しなかったそうです。(当時のアプリを使った事がなかったので知らなかった)
 開始直後のサービスでは、アイテム件数が少なく、商品検索を行ったとしても利用者に最悪な体験を
与えてしまいかつ、開発にも膨大な工数とコストがかかってしまう事から実装をやめたと語っていました。
最後には、メルカリが目指す未来についての話があり、基調講演は終了しました。

 

f:id:tishimtoo:20171001145650j:plain


Mercariサーバサイドデプロイ:現在と未来

 最近、話題に上がるテストやデプロイの自動化やSREチームの話を中心のセッションでした。
 メルカリでは、3つの拠点(日本、アメリカ、イギリス)と約120名のエンジニアが世界中で
開発を行っており、グループでほぼ24時間どこかで開発が行われています。
 そんな中、メルカリのSRE(Site Reliability Engineering)チームは、品質の保証やデプロイの対応
を人力で1つ1つ対応していましたが、日を重ねるごとにデプロイ件数がが増大し、人力での対応が難しくなって
きたところで、自動化を行う事を決めた時の開発エピソードが詳しく語られていました。
(詳しくはスライドなどをご覧ください)

f:id:tishimtoo:20171001145836j:plain


US版Mercari iOSアプリのアーキテクチャーとDependency Injection

 メルカリのアプリでは、日本、アメリカ、イギリスそれぞれで別々のデザインや開発手法をとっているそうですが、
アメリカの話が中心のセッションでした。
 1番興味深い話が日本よりもアメリカは「返品」できる事が当たり前であったり、州ごとにライセンスなどの認証を
とる必要があったりするようです。
 拠点がサンフランシスコにあることもあり、常に最新技術を取り入れ爆速でサービス開発を進めていく事が求められる
こともあり、日本拠点とサンフランシスコ拠点で定期的に情報交換を行っているそうです。


画像認識技術は人間を超えたのか?

 普段、このような話は研究機関や大学の先生などが話している事が多いのですが、(冒頭に本人もそのように言っていました)
今回はメルカリの機械学習系に強いエンジニアが実際に試してみた話を中心のセッションでした。

画像データからカテゴリ分類

 メルカリサービスが4年間蓄積した商品データを教師データとして学習させた上で、出品者が登録時に選択したカテゴリと同じカテゴリを画像から判別をできるかを検証した内容でした。
 判別結果は、ほぼ精度が高く大半が一致していたようです。
 しかし、以下のようなカテゴリや商品は判別ができなかったようです。(人間も同じですが)

  • オモチャ>子供向け>その他 のように具体的に分類できないような商品カテゴリ
  • 「ピーコート」を出品者が「コート」などで商品登録していた場合(どちらも間違ってない)

画像データからブランド名を当てる

 実際に、システムがどこをみてブランドを判定しているかを見えるようにヒートマップを重ねて画像に表示し、それぞれを解説していました。
 判定結果を見ていると、各ブランドの特徴的なデザインやロゴを見て判断している事はだいたい予想の範囲ないでしたが、特にブランド表記やブランド特有の模様がないにもかかわらず、ポケットの独特な形状がブランド固有のものであるらしく、それを特徴として捉えブランドを当てているものもありました。

 

 2つの検証を聞いていると、ほぼ人間の思考に近いプロセスで判断しているようですね。

 

感想

 事前に申し込みが必要で当日の飛び込みなどできないにも関わらず、全てのセッションでほぼ満席でした。 

 参加するまでは、「メルカリ」というサービスしか知りませんでしたがメルチャリや各種端末のアプリをリモートで操作できる社内のツールなどを知れて面白かったです。

f:id:tishimtoo:20171001150118j:plain