SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2017】セッションレポート(AD)

研究開発チームが組織を変革する! サイバーエージェント アドテクスタジオにAI Labが誕生するまで【デブサミ2017】

【16-D-6】人工知能の研究開発チームがプロダクト・組織をどのように変えたのか

  • このエントリーをはてなブックマークに追加

 急速な進化を遂げているデジタル広告業界では、データ分析や機械学習の導入が積極的に行われている。サイバーエージェントのアドテク本部も2014年5月に機械学習・人工知能の研究開発チームを立ち上げ、広告配信ロジックの開発や機械学習の研究開発に取り組んでいる。その結果もたらされた技術革新および組織の変化を、研究開発チームの立ち上げメンバーであり、現在も研究開発に携わる谷口和輝氏が紹介した。

  • このエントリーをはてなブックマークに追加
株式会社サイバーエージェント アドテク本部 AI Lab Data Scientist 谷口和輝氏
株式会社サイバーエージェント アドテク本部 AI Lab Data Scientist 谷口和輝氏

レポート作成のためだけに使われていたデータ

 サイバーエージェントはデジタル広告を担うアドテク本部内に、営業部門と開発部門である「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を集計し、広告主や代理店に提示するためのレポート作成にだけ使われていた」と語る。“結果”の把握のみに活用されており、分析や機械学習のために使われていなかったのだ。

 そうした状況下で、機械学習による「特徴抽出」や「モデル学習」をしようとしても、実際の現場ではデータが不足していたり、工数が必要だと拒否されたり、そもそも処理基盤がなかったりと、さまざまな問題が山積みとなっていた。

研究開発とプロダクトのチームが共に作る、機械学習の開発環境

 データで課題を解決する文化がなく、導入したアルゴリズムを検証する方法も、大規模な機械学習を実行できる環境もない中で、組織はどのように問題を解決しようとしたのか。谷口氏はアドテクスタジオの行動指針を紹介する。

 「性能へのシビアな要求に向き合う。スピードと品質を両立させる。経験よりデータを。直感より分析を。有益な情報を伝えることが広告である」

 このような社内の雰囲気と共に、研究開発チームの活動を後押ししたのが「Tableau(タブロー)」の導入だった。Tableau DesktopとTableau Serverを連携させることで、ローカルで自分が作ったダッシュボードなどを、サーバーを通じて利用者と共有することができる。そして、ABテストや多変量テストなどを行う検証環境を整備しようとする機運も高まった。さらにはAWSやGoogle Cloud Platformに代表される、急速に進んだクラウド環境の充実や、サイバーエージェント独自のプライベートクラウドの整備なども相まって、チームの研究開発環境が整っていった。

 そして、環境が徐々に整う中で、プロダクトのデータをしっかり確認する意識も高まっていった。それを受ける形でアドテクスタジオが取り組んだのが「データサイエンス」の強化だという。

 まず、プロダクトのデータから課題を発見・改善・解決するためのスキルを重視するようにしたことで、研究開発チームで活動していたものに対し、プロダクトチームのメンバーがサポートの形で参加するようになった。その結果、プロダクトの開発リソースを利用できるようになり、機械学習の導入が加速したというわけだ。

 その中で谷口氏が意識し、今もまた課題として感じているのは「プロダクトとの距離」だという。“目標設定を行う場所”がプロダクト側であればプロダクトのメンバーと一緒にいる時間が長くなり、逆であれば短くなる。その距離が近ければ近いほど導入スピードは速くなり、課題の理解は深く、本質を捉えやすいメリットがある。

プロダクトとの距離が及ぼす影響
プロダクトとの距離が及ぼす影響
プロダクトとの距離は「導入のスピード」「課題の理解」と深い関わりがある
プロダクトとの距離は「導入のスピード」「課題の理解」と深い関わりがある

 しかし、プロダクト側の立場では目標設定が短〜中期的なものにとどまってしまう。例えば、売り上げ・利益・コストといった“足元の数字”に注力するため、その実現のための計画や競合を意識した機能開発、差別化戦略などが前面に押し出される。研究開発チームのメンバーに対しても、プロダクトに関連する範囲内で研究を行ってほしいと考えがちだ。新しいアルゴリズムに関しても、プロダクトに次々と導入して結果を出したいという思いが強い。

 一方、研究開発チームの立場としては、プロダクトの次の武器になる技術的競争力の準備や、組織全体の長期的な研究開発の計画、当然ながら基礎研究も重要なミッションとなる。目標は自然と中長期的なものになり、参入したプロダクトに貢献することを基本としながらも、成功した技術を他に応用することや組織全体に活用することを考えている。

「距離の近さ」と「研究開発のミッション」のバランス

 このようにさまざまな違いがあると、プロダクトと一体となり業務を遂行するうちに、研究開発チームもプロダクト側の意識に引っ張られてしまいがちだ。しかし、距離が近いことのメリットは非常に大きい。そこで、距離のメリットを担保しつつ研究開発チームとしてのスタンスを保持するため、個人の中長期的な目標を設定する際には研究開発チームから第三者が入ることになった。さらにそのメンバーは、開発した技術を他のプロダクトに横展開することを考える立場にもなるという。

 ただ、「この第三者の役割が大変難しく、できるだけ第三者本人への依存を減らす必要があった。そのためには各プロダクトでの情報を共有することと、ノウハウを蓄積して次の課題を効率的に解決するように計画することが大切だ」と、谷口氏は強調する。現在は「Adtech Developer Conference」という、アドテクスタジオのエンジニア全員が参加する社内向けカンファレンスが開催されており、1年間で利用した技術を他プロダクトに共有している。

 さらに、研究開発チームは人工知能の研究強化を目的として2016年1月よりAI Labに名称を変更、新たな活動を活発化させている。

 これを機に、研究開発の対象も変わっていった。これまでは広告はもちろん、ブランディングや位置情報、動画広告といった既存のプロダクトの課題に終始していたが、ディープラーニングや因果推論、統計モデリングといった基礎研究へ広がっていった。当然、研究の範囲が広がれば広がるほど、新しい技術を学ぶために勉強する必要に迫られる。そこで課題となるのが、学習や研究の効率化だ。

 そこで、大学や他の研究機関との産学連携を進め、現在は東京大学や東京工業大学など、大学の6研究室と協力関係を持っている。現時点では共同研究とアドバイザリー契約の2つの形があり、アドバイザリー契約では研究に関する具体的なアドバイスに乗ってもらうだけでなく、月1~2回のペースで研究に関する講義が社内で開講されている。

AI Labが連携している大学の研究室(2017年2月時点)
AI Labが連携している大学の研究室(2017年2月時点)

 こうした産学連携の効果について、谷口氏は「最先端の技術や情報を学習する機会が増えただけでなく、社外から『あの先生と研究されているんですね』と声をかけられたり、自分たちだけでは難しい高度な研究を進めることができたりと、多方面でメリットがあった」と、語る。

マジックワードを廃し、ビジネス側と綿密な関係を作る

 共通組織としての研究チームが、プロダクトチームと程よい距離を保ちながら研究開発としてのミッションを遂行する一方で、プロダクトチームにしっかりとジョインして成果を出した事例についても紹介された。

 「Dynalyst」というスマホゲームに特化した広告配信プロダクトでは、チームメンバーのうち研究開発に携わるメンバーが1割、開発が4割、そしてビジネスのメンバーが半数を占める。このプロダクトでは大量かつ高速に、効率よく広告配信を行う必要があるため、アルゴリズムが重要な役割を持つ。しかしアルゴリズム自体が複雑であるため、研究開発側からビジネス側へ十分な説明を行わないことも多かった。そのためビジネス側は、課題解決のための提案を「“ロジック”でなんとかならないか?」と、表現するようになり、“ロジック”という単語がマジックワードと化してしまった。

 さらに、機械学習に対して「難しそう」という固定概念がついてしまい、積極的に関わることをやめてしまったという。

 そこで、アルゴリズムに関する説明を行ったり、共通言語を増やすことを意識したりしながら、ビジネス側と連携してアルゴリズムを考える作業を行った。このように互いの仕事に対する理解が進んだ結果、ビジネス側が持つ、確度の高い仮説を活用して本番までの導入スピードを劇的に上げることができた。

 谷口氏は、「ビジネスにおける機械学習は、人ができることを、365日24時間、全案件に適応できることが強みであり、決して導入すれば勝手にKPIが向上するわけではない。やはり人のほうが優秀」と、語る。機械学習はあくまでレバレッジを効かせるためのもの、ということだ。

 最後に谷口氏は共通組織とプロダクト、それぞれの中での研究開発チームにおける組織作り・改革のポイントを改めて振り返り、発表を締めくくった。

お問い合わせ

 株式会社サイバーエージェント

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10041 2017/04/14 21:32

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング