Upgrade to Pro — share decks privately, control downloads, hide ads and more …

技術CAMPアカデミア講演『Web広告エンジニアのお仕事』

 技術CAMPアカデミア講演『Web広告エンジニアのお仕事』

技術CAMPアカデミアにて、Supershipアドテクノロジーセンター副センター長 三宅が講演した際のスライドです(講演日:2023年5月17日)。
▼Supership 2023 Summer internship(就業型インターン)のご応募はこちらから!
https://hrmos.co/pages/supership/jobs/0000250
▼Supership新卒採用サイトはこちら
https://recruit-newgrad.supership.jp/
■講演タイトル:
技術の総合格闘技!Web広告エンジニアのお仕事~100msec以内の高速処理とペタバイトの大規模データ処理~
■アジェンダ:100msec以内での高速処理やペタバイトクラスの超大規模データ処理が求められるWeb広告の概要と仕組みについて、この業界のエバンジェリストであるSupershipアドテクノロジーセンター副センター長の三宅が、徹底解説します。
■登壇者:Supership株式会社 プロダクト開発本部アドテクノロジーセンター 副センター長
三宅 佑磨(みやけ ゆうま)
Ruby/Railsエンジニアとして、2018年5月からSupershipの広告事業に参加。
現在はSupershipの全広告プロダクトを統括するアドテクセンターの副センター長 兼 データ/機械学習チームのマネージャーを担当。

Supership株式会社

May 25, 2023
Tweet

More Decks by Supership株式会社

Other Decks in Business

Transcript

  1. 2023.05.17 yuma.miyake
    100msec以内の高速処理とペタバイトの大規模データ処理

    View Slide

  2. 自己紹介
    三宅 佑磨(yuma.miyake)
    Supership株式会社 プロダクト開発本部アドテクノロジーセンター 副センター長
    ヒューマンネットワーク高専 事務局
    Ruby/Railsエンジニアとして、2018年5月からSupershipの
    広告事業に参加。
    現在はSupershipの全広告プロダクトを統括するアドテクセンター
    の副センター長 兼 データ/機械学習チームのマネージャーを担当。
    2

    View Slide

  3. 自己紹介
    略歴
    ● 2004年4月 津山高専 電子制御工学科 入学
    ● 2010年4月 津山高専 専攻科 電子・情報システム工学専攻 入学
    ● 2012年4月 (株)OPTiM 入社
    ● 2018年5月 Supership(株) 入社
    イベント参加
    ● 高専プロコン
    ○ 茨城大会 自由部門
    ○ 津山大会 課題部門
    ● ハッカソンや高専カンファレンスの開催など
    3

    View Slide

  4. 4
    Supershipグループについて

    View Slide

  5. Supershipグループについて
    5
    5
    合計
    10社のスタートアップの共創体
    KDDI
    電通
    グループ
    関連会社
    TV CMのデジタル化に
    向けた事業
    (テレビ朝日等とのJV)
    グループ企業
    6社合併
    アドプラットフォーム /
    データソリューション/
    DXコンサル
    広告詐欺
    ブランド毀損防止
    AI構築 /
    DXコンサル
    アドベリフィケーション
    スタートアップならではのスピード感や高度なテクノロジーに加え、大企業のアセットを活用しながらビジネスを
    展開する「ハイブリッドスタートアップ」として、数多くのベンチャー企業をM&Aしながら成長を続けています。
    (    )
    大企業 × スタートアップが共創するハイブリッドスタートアップ

    View Slide

  6. Supershipグループは、
    データをコアに、
    クライアント企業のビジネスを支援する
    様々なサービスを提供することで、
    クライアント企業の収益向上だけでなく、
    その先にいる消費者にも
    より良い体験の提供を目指しています。
    \データをコアに様々なサービスを展開/
    6
    Supershipグループについて

    View Slide

  7. Web広告のおしごと
    7

    View Slide

  8. 8
    広告とは何か

    View Slide

  9. 広告とは
    広く世間に知らせること。特に、商品や興行物などを広く知らせ、人の関心を引
    きつけること。また、それを記したものやコマーシャル。
    9
    https://languages.oup.com/google-dictionary-ja/

    View Slide

  10. 広告とは
    10
    一般にこういったファネル状で表現される消費者の購買行動モデルを次
    の段階に進めるために行う活動が広告。
    興味関心や購買意欲といったような人間の感情,潜在意識に作用するもの
    のため、心理学的な側面を持つ。
    購買意欲未満の人を見込み顧客と呼び、その人たちを購入まで到達させ
    顧客に転換させることをコンバージョン(CV)と言います。
    このコンバージョン率を上げ、売上を増やす事が目的。
    無知
    認知
    関心
    購買意欲
    購入

    View Slide

  11. 広告の歴史
    11
    https://ja.wikipedia.org/wiki/%E5%BA%83%E5%91%8A
    https://medium.com/@wesfrycopywriter/from-papyrus-to-ppc-1000-year-old-ads-secret-to-agele
    ss-advertising-c8761ead9cc2
    パピルスに書かれたポスター

    View Slide

  12. 広告の歴史
    世界のあらゆる技術的・商業的・政治的変化が影響してくるのが広告
    ● いい意味でも悪い意味でも、社会から受ける / 社会に与える影響が大きい
    ● 逆に言うと、広告業界に携わっていると社会情勢がなんとなく分かる
    12
    人類に購買行動が存在する以上、消えることはない

    View Slide

  13. Web広告とは
    よくインターネットで見かける広告の種類
    13
    バナー(静止画)広告 動画広告
    PR

    View Slide

  14. Web広告とは
    よくインターネットで見かける広告の種類
    14
    アプリのリワード広告 ネイティブと呼ばれるサイトと一体化した広告

    View Slide

  15. Web広告とは
    最近増えてきた広告の種類
    15
    音声広告(Spotify, radiko等) 街頭ビジョンやタクシー等の屋外広告

    View Slide

  16. 時代の変化についていく必要がある
    ● スマホ料金の低下 → 通勤中にYoutubeやTVerを見る人の増加
    ● 5Gの回線速度アップ → 屋外ディスプレイなどへのCM動画配信
    ● スマートスピーカーの普及 → (ラジオ的な)音声広告の再評価
    16
    それらの広告配信を支える技術が
    アドテクノロジー(アドテク)
    Web広告とは

    View Slide

  17. 以降、テクノロジーについてのみ焦点を当てるので、
    広告の中身については触れません
    17

    View Slide

  18. 18
    アドテクについて

    View Slide

  19. 19
    Web広告の仕組み

    View Slide

  20. Web広告の仕組み
    登場人物
    ● 広告主(デマンド)
    ○ お金を払って広告を出したい会社
    ● メディア媒体(サプライ)
    ○ 広告を表示してお金を稼ぎたいサイトやアプリ
    ● ユーザー
    ○ メディアとそこに表示される広告を見て、実際に商品を買う人々
    20

    View Slide

  21. Web広告の仕組み
    21
    広告主
    メディア
    ユーザー
    ターゲットのユーザーだけに
    広告を出したいなぁ
    広告枠をうまく運用して広告
    収益を拡大させたいなぁ
    興味のある広告だけ見たい
    なぁ
    広告出稿費
    情報
    商品売上

    View Slide

  22. Web広告の仕組み
    パターン1 予約型広告:決まった期間の間、同じ広告を表示する方法
               画像/動画が表示できればいいので、最悪広告システムは不要
    22
    ユーザー
    配信
    広告主
    メディア
    SALE
    入稿
    SALE

    View Slide

  23. Web広告の仕組み
    23
    パターン2 運用型広告:オークションを通して広告を売買する方法
               DSP / SSP という2システムがオークションする
    ①広告リクエスト
    ⑤DSP Aの広告タグ
    ②BidRequest
    ②BidRequest
    ③BidResponse
    ③BidResponse
    SSP
    メディア
    DSP1
    DSP2
    120円
    80円
    120円の車
    広告を表示

    View Slide

  24. Web広告の仕組み
    それぞれのメリット
    予約型広告
    ● システムがシンプル
    ○ = レスポンスが早い(サーバー負荷が低い)
    ○ = 利用料が安い
    運用型広告
    ● オークションの原理が働く
    ○ 自分が買いたいものだけ買う = ターゲティングが行える
    24

    View Slide

  25. Web広告の仕組み
    25
    24,801億円
    21,189億円
    2,647億円
    965億円
    2022年 日本のインターネット広告媒体費
    「2022年 日本の広告費 インターネット広告媒体費
    詳細分析」電通 2023/3/14 を元に生成
    https://www.dentsu.co.jp/news/release/2023/0314-010594.html

    View Slide

  26. 26
    アドテクで解決すること

    View Slide

  27. アドテクで解決すること
    アドテクで解決すること
    ● メディアにとって最大限の収益
    ○ 一番広告価格が高い広告主とのマッチング
    ● 広告主にとって最大限の効果
    ○ 一番広告効果の高いメディアとのマッチング
    ● 誰にとっても無価値な広告をゼロに
    27

    View Slide

  28. アドテクで解決すること
    無価値な広告とは
    ● 視聴ユーザー的に、
    ○ ユーザビリティを損なう表示
    ○ 興味関心が全くない内容
    ● メディア的に、
    ○ 違法な商材
    ● 広告主的に、
    ○ 見込み顧客にならない人への配信
    ○ Botによる表示やクリック
    ○ 違法サイト
    ● など...
    28

    View Slide

  29. アドテクで解決すること
    無価値な広告とは
    ● 視聴ユーザー的に、
    ○ ユーザビリティを損なう表示    → メディアターゲティング
    ○ 興味関心が全くない内容      → ユーザーターゲティング
    ● メディア的に、
    ○ 違法な/不適切な商材        → 手動/自動の広告審査、肌色検知
    ● 広告主的に、
    ○ 見込み顧客にならない人への配信  → ユーザーターゲティング
    ○ Botによる表示やクリック      → Bot検知、メディアターゲティング
    ○ 違法サイト            → メディアターゲティング、不正取引検知
    ● など...
    29

    View Slide

  30. SupershipのWeb広告のプロダクト
    Supershipでは以下のような広告プロダクトを開発運用しています
    30
    DSP
    (Demand Side Platform)
    SSP
    (Supply Side Platform)
    DMP
    (Data Management Platform)

    View Slide

  31. 31
    アドテクを支える技術

    View Slide

  32. トラフィックの流れ
    32
    SSP
    DSP1
    DSP2
    ①広告くれ
    ②案件くれ

    View Slide

  33. トラフィックの流れ
    33
    SSP
    DSP1
    DSP2
    ③案件の探索
    ・日本車A社
    ・化粧品B社
    ・おむつC社

    View Slide

  34. トラフィックの流れ
    34
    SSP
    DSP1
    DSP2
    ⑤一番高いやつ
    やる
    ④案件やる

    View Slide

  35. 35
    Q: Webページの表示に
    何秒待てますか?
    https://gigazine.biz/word-advertising-slot/

    View Slide

  36. トラフィックの流れ
    SSP DSP1
    ①広告くれ
    ⑤一番高いやつ
    やる
    ここが500ms(0.5秒)
    ネットワークレイテンシ + SSPの応答時間

    View Slide

  37. トラフィックの流れ
    SSP DSP1
    ①広告くれ
    ⑤一番高いやつ
    やる
    ここが500ms(0.5秒)
    ③案件くれ
    ④案件やる
    ここが100ms
    ネットワークレイテンシ + SSPの応答時間 ネットワークレイテンシ + DSPの応答時間

    View Slide

  38. トラフィックの流れ
    SSP DSP1
    ①広告くれ
    ⑤一番高いやつ
    やる
    ここが500ms(0.5秒)
    ③案件くれ
    ④案件やる
    ここが100ms ③案件の探索
    ネットワークレイテンシ + SSPの応答時間 ネットワークレイテンシ + DSPの応答時間 DSPの応答時間
    何秒使えるか?

    View Slide

  39. トラフィックの流れ
    SSP DSP1
    ①広告くれ
    ⑤一番高いやつ
    やる
    ここが500ms(0.5秒)
    ③案件くれ
    ④案件やる
    ここが100ms ③案件の探索
    ネットワークレイテンシ + SSPの応答時間 ネットワークレイテンシ + DSPの応答時間 DSPの応答時間
    何秒使えるか?
    → 40ms

    View Slide

  40. 40
    40msの世界

    View Slide

  41. 40msの世界
    40msの間にやること
    41
    他社DSPの落札価格を予想し、自分が入札する価格を決定
    そのユーザーが一番クリック/購入しそうな案件を選ぶ
    配信期間中の広告案件(商品)の中からターゲティングにマッチす
    るものを選択
    ブラウザ、UserAgent、IPアドレス、Cookieなどの識別

    View Slide

  42. 40msの世界
    40msを支える技術
    ● そもそも動作が速い言語で書く
    ○ Scaleout/AdGenerationの場合はC++
    ● 高速なDatabaseを使う
    ○ Scaleout/AdGenerationの場合はオンメモリDBにKeyValueの形で保持
    ● リクエストの内容をflag化して足切りを行う
    ○ stringとして処理するのではなく、予めbooleanやintの形に変換して無駄な文字列マッチなど
    なくす
    ● 40ms超えそうな場合は途中で探索を止めてレスポンスを返す
    ○ 案件探索のアルゴリズムを最後まで流すのではなく、途中で打ち切ってレスポンスを返す
    ● など
    42

    View Slide

  43. 43
    20万req/sec と PB級データの世界

    View Slide

  44. 20万 request / secの世界
    1メディアに複数枠広告が表示される
    ● 右のGigazineの例だと4箇所表示されるので、4回広
    告リクエストが発生する
    ○ 通常Webサイト/アプリの数倍〜十数倍のトラ
    フィックが発生する
    ● 夜中でもそこそこのトラフィックが発生する
    44
    https://gigazine.biz/word-advertising-slot/

    View Slide

  45. 20万 request / secの世界
    3月の広告リクエスト実績:4000億 rquest
    ● 平均 15万 request / sec
    ● ピーク時 20万 request / sec 以上
    ● 広告動画/画像配信に使っているCDNは毎月 2PB 以上
    45
    サーバー稼働費 = 原価になるため、
    大量トラフィックを 安く かつ 確実に さばく必要がある
    (広告がタイムアウトして白い枠がWebサイトに表示されるのは事故)

    View Slide

  46. 20万 request / secの世界
    近年Live配信、特にスポーツ中継の地上波/Web同時配信が盛んになっている
    スポーツLive配信
    ● 時には数百万同時接続を見込む必要がある
    ○ Youtubeや見逃し配信などのVODコンテンツはユーザーの任意のタイミングで視聴を開始する
    ため、CMタイミングが分散される
    ○ Live配信ではサッカーハーフタイムなど、視聴者全員が同じタイミングでCMに入るため、同
    じタイミングで数百万リクエストを処理しないといけない
    ● Live配信以外の広告トラフィックも当然流れるため、そっちに影響を出してはいけない
    46

    View Slide

  47. 20万 request / secの世界
    24時間365日トラフィックが耐えないという特性から、通常配信はオンプレで
    行っている
    ● データセンターのサーバー約2300台を64クラスタ化して、冗長性を確保
    ● 各データセンターとインターネット間の通信が通常時 7Gbps / ピーク時 10Gpbsオーバーで発生、
    それに耐えうるネットワークの設計、構築
    ● サーバー故障検知なども実施
    一方Live配信時は急激なトラフィック増が起こるのでクラウドで受ける
    ● AWS上に想定同時視聴数分のサーバーを用意
    47
    オンプレ/クラウドのハイブリッド基盤で運用

    View Slide

  48. 20万 request / secの世界
    用途に合わせてサーバークラスタを設計
    オンプレサーバー環境
    ● 都心型データセンター:高価、低遅延    → 配信基盤で利用
    ● 郊外型データセンター:割安、遅延が大きい → クラウドデータ基盤移行前の
                           データ基盤で利用
    48
    都心型DC
    郊外型DC
    都心で利用しているサーバーラック

    View Slide

  49. PB級データの世界
    20万 request/sec の世界ではアクセスログの処理もテクニックが必要
    ● 1リクエスト1行のnginxログが吐かれるとしても秒間20万行のログが追加されていき、
    実際には毎時 2TB 以上のログが生成され処理されている
    ● 3月実績で合計 1PB 以上のログ/データを保有
    広告配信においてアクセスログは極めて重要
    ● ログ = 効果/売上の証明なので、正常にログが処理できないと売上が請求できなくなる
    ● 広告を配信した実績をユーザや周辺システムへとフィードバックし次の広告配信に活かしてもらう
    のが広告配信ログの存在意義
    ● したがってPB級のデータをいかに早くユーザへのフィードバックループに乗せるかが重要
    49

    View Slide

  50. PB級データの世界
    PB級データを数秒単位で集計するのは不可能
    Supershipでは以下の仕組みで速度と精度のバランスを取っている
    ● 配信実績のサマリはできるだけ早くユーザーにフィードバックしたいので、配信サーバ上で動作す
    るC++のモジュールで集計データを作って高速化
    ○ 画面表示用
    ● 相関する複数のイベントを使ってレポートを作る場合はGoogle Cloud上に配信ログを取り込んで大
    規模分析処理にかけることでスケーラビリティを確保
    ○ CSVレポート用
    50
    データ量は少ないが高速なデータ処理系と、
    時間はかかるが詳細なデータ処理系の2系統で運用

    View Slide

  51. 51
    最適化の世界

    View Slide

  52. ターゲティング
    ターゲティングがない場合
    52
    PR
    ユーザー: 20代男性 広告主: 化粧品会社
    興味がない、
    というかむしろ嫌いになった
    お金をかけているのに、
    なぜか売上が上がらない

    View Slide

  53. ターゲティング
    ターゲティングがある場合
    53
    PR
    ユーザー: 20代女性 広告主: 化粧品会社
    新作が知れて嬉しい 新製品が知られて嬉しい

    View Slide

  54. ターゲティング
    ターゲティングがない場合
    54
    PR
    子供
    広告主: ビール会社

    View Slide

  55. ターゲティング
    ターゲティングがない場合
    55
    PR
    子供
    そもそも見せてはダメ
    広告主: ビール会社

    View Slide

  56. ターゲティング
    ターゲティングが行えることが運用型広告の強み
    どのようなターゲティングを行うか?
    ● サイト/アプリターゲティング
    ○ 特定、もしくはあるカテゴリのサイトやアプリに絞って広告を配信する
    ● 位置情報ターゲティング
    ○ IPアドレスなどを使って国や都道府県を絞る
    ● ユーザーターゲティング
    ○ Cookieを使い過去に商品サイトに来た人を絞る
    ○ 社内や連携先のデータを使って性別や年代のクラスタを作成する
    ● 類似ユーザーターゲティング
    ○ 特定のユーザー属性と近しい行動をしている人に配信する
    56

    View Slide

  57. ターゲティング
    類似ユーザーターゲティング
    ● 過去の配信ログ(アクセス履歴)から、対象データ(正解データ)の行動パターンが似ているユーザーを
    選び出す
    ○ 少ない正解データから対象を増やせるので嬉しい
    ● 例えば実際に化粧品を購入したユーザーグループと同じようなサイト(@cosmeなど)を見ているユー
    ザーグループは購入の確率が高いだろうという予測
    57
    https://www.adkdd.org/Papers/Tencent-Ads%3A-Interesting-Problems-and-Unique-Challenges/2019

    View Slide

  58. 配信最適化
    最適な入札戦略とは?
    広告をクリックする確率が高い人のリクエストのみを、他社をギリギリ上回る価格で入札すること
    そのためには以下を行い、最適な配信価格を決定する
    ● クリックする確率の予測
    ● 他社の落札価格の予測
    国際的な論文も出ており日々の進捗が非常に速い
    kaggleコンペも開催
    58
    https://www.kaggle.com/c/avazu-ctr-prediction

    View Slide

  59. 59
    その他のアドテクに使われる技術

    View Slide

  60. それ以外で使われている主な技術たち
    ● Web Backend
    ○ データ基盤からのスピーディーなレポーティング
    ○ 他社広告サービスとの連携
    ● Web Frontend
    ○ 入稿画面
    ○ Webサイトに組み込んでもらうためのJSの広告SDK
    ● Native App
    ○ ゲームやアプリに組み込んでもらうための様々なフレームワーク用の広告SDKの提供
    ● データエンジニアリング
    ○ 配信ログの集計、マーケティングでの利用
    ● 画像/動画処理
    ○ 広告画像の肌の露出の検知、デバイスに合わせた動画エンコード
    ● その他
    ○ セキュリティ、データガバナンス、詐欺虚偽対策など
    60

    View Slide

  61. 61
    まとめ

    View Slide

  62. まとめ
    ● Web広告は、インフラ、クラウド、機械学習をはじめ、Web開
    発、アプリ開発などほぼ全ての技術領域の上に成り立っている
    ● 1つの技術領域を突き詰めるもよし、広く全体を見通すでもよ

    ● 日常的に見かけるものだからこそ、興味があったら是非アドテ
    クの世界を知って欲しい
    62

    View Slide

  63. インターンシップのお知らせ
    63
    対象
    内容
    広告コース:国内最大級の広告プロダクト開発
    検索コース:大量の検索ログデータを用いたサジェストシステム開発
    日時
    報酬
    2025年卒業予定の大学生、大学院生、高専生、専門学校生
    2023年8月29日(火)~2023年9月11日(月)
    ※平日のみの10日間
    16万円
    人数 14名(広告コース:8名、検索コース:6名)
    Supership 2023 Summer Internship(就業型インターン)
    ご応募はこちら
    Supership新卒サイト

    View Slide

  64. 64
    ご視聴ありがとうございました
    去年のインターンシップ

    View Slide