レポート作成のためだけに使われていたデータ
サイバーエージェントはデジタル広告を担うアドテク本部内に、営業部門と開発部門である「Adtech Studio(以下、アドテクスタジオ)」を擁し、そこには200名近くのエンジニアが所属している。研究開発チームでは複数のプロダクトに対して横断的に応用研究を行っており、注力するプロダクトでは内部に研究開発チームを作ることもあるという。横断型の応用研究の場合はプロダクトに共通して活用できる研究がメインになるため、その多くはチーム内で完結することが多い。しかし、プロダクト内に作られた研究開発チームの場合、プロダクトのさまざまなメンバーと密接に連携することが求められる。
機械学習に関する研究開発チームの設立は、谷口氏が入社して1カ月後の2014年5月。入社前から研究開発を希望していた谷口氏を含む新卒社員3名が、社内の新規事業コンテスト「アドつく!」でプレゼンテーションを行ったことがきっかけだ。それが高い評価を得て、そのまま事業化された。しかし、立ち上げ時は戸惑うことばかりだった。
谷口氏は当時を振り返り、次のように語る。
「大学や大学院で機械学習について学んではいても、完全に新卒だけのチームだったので、アドテクに関する知識が欠如しており、研究テーマを自分たちで決めることすらできない状況だった。また組織側の問題として、データをビジネスのKPIとして見ることはあっても、データから課題を解決する文化がなく、機械学習についてもほとんど認知されていなかった。さらに、データの集計をしてレポートを出すようなシステムはあったものの、大規模データを処理できる基盤がないといった研究開発環境の問題もあった」
そこで、「データに強い組織作り」を推進するため、アドテクスタジオ全体で改革に取り組んだという。
最初に取り組んだのが、自分たちが検証したデータを活用できる環境を作り出すことだった。「応用研究では研究の下地として、公開されているデータだけでなく、自分たちのデータを持っているほうが有利」と、谷口氏は述べる。実際に自分たちが取り組む対象に対して提案をする際に、実際に有用性を検証したり、比較したりできるほうが、説得力があるというわけだ。
当時のデータ関連技術には「Apache Hadoop」「Apache Hive」「Apache Spark」などが存在し、クラウドが普及し始めていた。アドテクスタジオでは分析環境として「Amazon Redshift」を主に使用しており、配信ログのローデータを「Amazon S3」に保存し、直近の配信ログをAmazon Redshiftにコピーして、クエリで集計や分析を行っていた。また、「Amazon EMR」でHadoop環境を立て、Apache Hiveや「Cascading」などを用いて集計のシステムを組むプロダクトもあった。アドテクスタジオで使用されている言語の7〜8割がScalaであったため、「Scalding」などの利用も行われていた。
しかし、当時のデータの使い方について、谷口氏は「広告主やアドネットワークごとにKPIを集計し、広告主や代理店に提示するためのレポート作成にだけ使われていた」と語る。“結果”の把握のみに活用されており、分析や機械学習のために使われていなかったのだ。
そうした状況下で、機械学習による「特徴抽出」や「モデル学習」をしようとしても、実際の現場ではデータが不足していたり、工数が必要だと拒否されたり、そもそも処理基盤がなかったりと、さまざまな問題が山積みとなっていた。