なぜ「興味表現レイヤ」が必要なのか
Metaの広告スタックは長らく「ディープファネル最適化」、すなわちクリック後のコンバージョンや購入といった真の成果を当てにいく方向へ進化してきました。課題は、ディープファネルの信号が構造的に疎であることです。表示は数十億件規模でも、実際のコンバージョンフィードバックはごく僅かしかありません。
そこでMetaが打ち出したのが Hierarchical Interest Representation(HIR) です。名前の通り「階層的興味表現」であり、要点は次の通りです。
- ユーザー、広告主、商品、キャンペーンといった広告エコシステムの全エンティティを**単一の異種グラフ(heterogeneous graph)**として統合し、
- その上にTransformerベースのグラフ学習を載せ、
- ユーザーの潜在興味と広告主の実際のオファリングを単一の埋め込み空間で結びつける上流表現レイヤ。
重要なのは、これが単なるランキングモデルではなく、ランキングモデルの上に乗る表現レイヤである点です。GEM(Generative Ads Model)、Andromeda、Adaptive Ranking Modelといった既存コンポーネントにプラグイン的に接続されることを狙っています。
日本の広告・推薦システム開発の文脈では、「特徴量エンジニアリングをグラフ学習で置き換える」という潮流とちょうど重なります。社内にユーザー-アイテム相互作用ログが蓄積されているなら、HIR系のアプローチは次のアップグレード候補として検討に値します。

アーキテクチャの4つの設計特性
HIRの設計は大きく4つの特性に集約されます。
1. 次元削減(Dimension Reduction)
原グラフはノード・エッジが数十億単位でそのままでは学習不能です。HIRは原グラフを**「興味プリミティブノード」からなるスーパーグラフ**に射影します。原グラフで疎だったuser-adエッジはスーパーグラフ上では密になり、語彙(vocabulary)も安定するため、広告ビジネスが変動しても表現は揺らぎません。
2. 知識強化(Knowledge Enrichment)
広告主・商品のテキスト/画像/動画といったマルチモーダルコンテンツをLLM推論エンジンでエンコードし、グラフに注入します。「ユーザーが何をクリックしたか」だけでなく、**「それが実際に何であるか」**をモデルが理解できるようになるわけです。未見エンティティにも意味ベースで汎化できます。
3. 統合関係表現(Unified Relational Representation)
ユーザー、広告主、商品、興味プリミティブノードを単一のメトリック空間に埋め込みます。これにより埋め込み演算だけでprimitive-to-primitive、cluster-to-clusterの関係を計算でき、「このユーザーに最も近い興味は?」「この広告がカバーする興味クラスタは?」といったクエリが自然に導出されます。
4. 多階層粒度(Multi-Hierarchical Granularities)
密で安定した関係は粗い抽象度に、疎で特殊な関係は細かい抽象度に射影します。複数階層をカスケードする構造により、ランキング、パーソナライゼーション、検索など多様な下流タスクで同じ表現を再利用できます。
# 概念理解のための擬似コード(実際のHIR実装ではありません)
# ユーザーuと広告aの興味プリミティブトークン類似度計算の例
import torch
import torch.nn.functional as F
def interest_affinity(user_emb, ad_emb, primitive_bank):
"""
user_emb: (D,) # ユーザー埋め込み
ad_emb: (D,) # 広告埋め込み
primitive_bank: (K, D) # K個の興味プリミティブノード埋め込み
"""
# 1) ユーザー埋め込みを興味プリミティブ空間に射影
user_scores = user_emb @ primitive_bank.T # (K,)
# 2) 広告埋め込みも同じ空間に射影
ad_scores = ad_emb @ primitive_bank.T # (K,)
# 3) 上位の興味プリミティブノードにおける親和度を計算
affinity = F.cosine_similarity(
user_scores.unsqueeze(0),
ad_scores.unsqueeze(0),
dim=-1,
)
return affinity
Transformerエンコーダの3つのディテール
- World Knowledge: 広告主/商品の要約テキスト、画像、動画などをカスタムLLM推論エンジンでエンコードし、ノード初期特徴として使用します。
- Bias Composition: グラフ構造信号(ノードタイプ遷移、最短経路距離など)をアテンションのQK内積にバイアスとして注入します。サブグラフを「ノードの袋」として扱わず、トポロジーを認識させる核心です。標準的なmessage-passingがlong-range関係で過度にスムージングされる問題を緩和します。
- FlexAttention: グラフ構造バイアスを入れると通常はpairwise bias行列を実体化する必要があり、メモリ効率の良いアテンションが使えなくなります。HIRはFlexAttentionでバイアスをオンザフライ計算し、行列を作りません。可変長サブグラフをblock-maskでパッキングし、パディングの無駄とグラフ間リークも防ぎます。
学習:Cross-View Distillation + Engagement Prediction
自己教師あり学習はteacher-studentのビューペアリングで行われます。同じアンカーノードに対し、広いビュー(teacher)と狭いビュー(student)をサンプリングし、studentがteacherと同じ興味クラスタを予測するよう学習します。Teacherはより広く見るため確信度の高いターゲットを提供し、これがディープファネルコンバージョンユーザーという極小の信号を超えて、疎性問題を直接緩和します。Sinkhorn-Knopp均衡割当により、単一クラスタ崩壊(自己教師あり学習の既知の失敗モード)も防ぎます。
さらに実際のエッジ存在を予測するsupervised目的(Engagement Prediction)を加えることで、ビュー不変の構造事前知識と実行動へのグラウンディングを同時に獲得します。
学習インフラ:30倍の速度向上
原異種グラフはMetaのオンライングラフエンジン上にあり、学習とサービングが同一データソースを使用します。サブグラフ取得とノード特徴読み込みをGPU演算とパイプライン化し、同期ベースライン比で30倍のwall-clock速度向上を達成したとのことです。学習・評価はカットオフタイムスタンプで時間順序を厳格に守り、未来情報のリークを遮断します。

Bag-of-Meaningトークンとサービングスタックへの接続
連続埋め込みはランキングには強い一方、転置インデックス検索や集合集約、人間が読む解釈には不向きです。そこでHIRは埋め込みを Bag-of-Meaning(BoM)トークンに離散化します。複合量子化(composite quantization)で作られた圧縮・非順序の興味語彙です。
- ユーザー = 興味を記述するBoMトークン集合
- 広告/広告主 = 提供する興味のBoMトークン集合
これにより転置インデックスのルックアップだけで高速リコールが可能になり、MoE(Mixture of Experts)のルーティングをスーパー興味カテゴリで行うアーキテクチャも自然に成立します。
長所・短所の比較
| 項目 | HIRアプローチ | 従来の特徴量エンジニアリング |
|---|---|---|
| 信号の疎性 | 自己蒸留で緩和 | 手作業特徴量に依存 |
| 新規エンティティ | LLMマルチモーダル知識で汎化 | コールドスタートに弱い |
| 検索/ランキング共通化 | BoMトークンで統合 | パイプライン別に別表現 |
| 学習コスト | グラフ規模+アテンションカーネル最適化が必須 | 比較的低コスト |
| 解釈性 | BoMトークンで部分的に確保 | 特徴量単位で明確 |
この技術の限界と注意点
- インフラ障壁: 数十億ノードのグラフとFlexAttention級のカーネル最適化は、多くの組織にとって現実的ではありません。社内ではまず小規模な異種グラフ+グラフバイアスアテンションから検証するのが安全です。
- 時間リークの危険: 時系列カットオフを厳格に守らないと、オフライン指標が実性能を大きく過大評価します。バックテストパイプラインにカットオフ検証を必ず組み込んでください。
- 自己教師あり崩壊: Sinkhornのような均衡割当なしでクラスタ自己教師ありを回すと、少数クラスタに崩壊するケースが頻発します。
- 解釈性の限界: BoMトークンは部分的な解釈しか提供しません。規制産業(金融・医療広告など)では別途説明レイヤが必要になる可能性があります。
次のステップ学習の方向性
- 異種グラフ+グラフアテンションバイアスの概念を先に習得するなら、PyG(PyTorch Geometric)やDGLで小規模再現から始めましょう。
- 自己教師あり表現学習はSimCLR、BYOL、DINO系をグラフに移植した論文を追うと、HIRのteacher-studentビュー設計がよく見えてきます。
- FlexAttentionはPyTorch 2.5+で実習可能なので、カスタムbiasを付けるサンプルを動かすと「メモリ効率+構造認識」のトレードオフを体感できます。

まとめ:HIRが投げかける本当のメッセージ
HIRの真のインパクトは特定のモデル構造ではなく、「表現レイヤを上流に置き、下流のランキング/検索/パーソナライゼーションがそれを共有する」 という設計哲学にあります。タスクごとに特徴量を別々に作るのではなく、興味空間そのものを学習して再利用するわけです。
日本の開発現場でそのまま再現するのは難しいですが、次の3点は今すぐ応用可能な示唆です。
- 疎信号を自己教師ありで増幅: コンバージョンログが乏しくても、ビューペアリング自己教師ありで表現を学習できる。
- 構造をアテンションに注入: グラフのトポロジーをアテンションバイアスとして入れると、long-range関係の捕捉が改善する。
- 連続埋め込み+離散トークンの併用: ランキングは埋め込みで、検索はBoMのような離散トークンで、と二層化するとスタック全体が柔軟になる。
Metaが公開した原文は根拠資料で確認できます。