なぜ今「興味表現」が再注目されているのか

Metaが公開した Hierarchical Interest Representation(HIR) は、その名の通り「興味を階層的に表現する上流レイヤー」です。GEM、Andromeda、Adaptive Ranking Modelといったランキングモデルをどれだけチューニングしても、その下流で ユーザーと広告エンティティをどう埋め込むか が性能の上限を決める、という問題意識から出発しています。

噛み砕くとこうです。

  • 従来:「このユーザーは広告Aをクリックした」→ その信号をランキングモデルが消費
  • HIR:「このユーザーは 猫のフード・サステナブルな暮らし・週末キャンプ という興味プリミティブに属する」→ その表現をランキングモデルが消費

特に深層ファネル領域では コンバージョンまで到達するユーザーが極端に少なく、信号が疎(sparse)になります。HIRはこの疎性を LLMベースのマルチモーダル知識 + グラフ構造学習 で補おうというアプローチです。

根拠資料: Meta Engineering - Exploring Hierarchical Interest Representation

💡 日本の開発コミュニティへの示唆: Qiitaでも「ユーザー-アイテムの相互作用が疎なときに、コンテンツ知識(LLM埋め込み)でどう補強するか」は繰り返し議論されるテーマです。HIRはこれを グラフ + LLM + 自己教師あり学習 の組み合わせで解いたリファレンスケースとして、推薦パイプライン設計の参考になります。

Graph visualization of users and ads entities connected by interest primitives in Meta's hierarchical representation layer

アーキテクチャ解説:4つの設計軸

HIRの設計は大きく4つの性質に集約されます。

1. Dimension Reduction(次元圧縮)

元のグラフのユーザー-広告エッジは非常に疎です。HIRはこれを super-graph に射影し、各super-nodeを「学習された潜在興味プリミティブ」にします。結果として、疎だったエッジがプリミティブグラフでははるかに dense になり、語彙自体が安定化します。

2. Knowledge Enrichment(知識による補強)

広告主・商品エンティティに テキスト・画像・動画 のマルチモーダル特徴を付与し、LLM推論エンジンでエンコードします。「ユーザーがどう消費したか」だけでなく 「それが実際に何であるか」 を同時に表現するのが要点です。

3. Unified Relational Representation(統合関係表現)

ユーザー・広告・広告主・商品を 単一のメトリック空間 に埋め込みます。埋め込み演算だけでprimitive-to-primitive、cluster-to-clusterの関係が計算でき、ユーザーと興味プリミティブの近接度も求まります。

4. Multi-Hierarchical Granularities(多階層粒度)

Denseで安定した関係は 粗い(coarse)上位抽象 として、疎で具体的な接続は 細かい(fine)抽象 として表現します。HIRは複数階層をcascadeするsuper-graphを学習し、ランキング・パーソナライゼーション・検索など多様な下流タスクに接続できる設計です。

中核コンポーネント:Hierarchical Encoder

トランスフォーマーベースのエンコーダですが、グラフ構造を attention bias として組み込むのがポイントです。

# 概念的な疑似コード(実際のMeta実装とは異なります)
# Bias-aware attention:グラフ構造信号をattentionスコアに加算
def graph_biased_attention(Q, K, V, node_types, shortest_path_dist):
    # 1) 基本のattentionスコア
    attn = Q @ K.transpose(-2, -1) / (d_k ** 0.5)

    # 2) グラフ構造biasを加算
    #    - node-type transition bias(エッジ伝播時の型変化)
    #    - shortest-path distance bias(局所連結性)
    bias = node_type_bias(node_types) + spd_bias(shortest_path_dist)
    attn = attn + bias

    # 3) FlexAttentionでpairwise bias行列をmaterializeせずon-the-fly計算
    #    → メモリ効率とグラフ構造認識を両立
    return softmax(attn) @ V

FlexAttention を採用した理由は実務的に重要です。グラフbiasを標準attentionにそのまま加算すると、pairwise bias行列を丸ごとメモリに載せる必要があり、memory-efficient attentionに落とせません。FlexAttentionはbias項を on-the-flyで計算 することでこれを回避します。可変長サブグラフはblock-maskedシーケンスにパッキングし、paddingの無駄とcross-graph leakageも防ぎます。

学習:Cross-View Distillation + Engagement Prediction

  • Cross-View Distillation:同一anchorノードに対しteacher view(広く)とstudent view(狭く)をサンプリング。Studentがteacherと同じinterest clusterを予測するよう学習します。Teacherはより広いグラフを見るため、よりconfidentなターゲットを提供できる構造です。
  • Sinkhorn-Knopp balanced assignment によりsingle-cluster collapse(自己教師あり学習の既知の失敗モード)を防止します。
  • Engagement Prediction:2つのノード表現+エッジタイプ+時刻が与えられたとき、実際のエッジが存在するかを予測。自己教師あり(view-invariant)と教師あり(実行動)を組み合わせ、 汎用スコアリング関数 にします。

オンライングラフ基盤

  • 学習とサービングが 同一データソース を使用 → 分布一致
  • サブグラフfetchとノード特徴readをGPU演算と パイプライン化 → 同期baseline比で 30x wall-clock speedup
  • Bit-exact reproducibility を維持 → インフラ移行やチェックポイント復旧がモデル挙動を無言で変えない
  • 学習・評価時に cutoff timestamp で未来情報のリークを遮断、バッチは時間チャンク内でのみシャッフル

トークン化:Bag-of-Meaning(BoM)

連続埋め込みはランキングには強い一方、 inverted-index検索・集合集約・人間による解釈 には不向きです。そこでcomposite quantizationで離散化した BoMトークン を生成します。

  • ユーザー = 興味を表すBoMトークン集合
  • 広告/広告主 = 提供する興味のBoMトークン集合

これによりretrieval段階でinverted index lookupによる高速recallが可能になり、MoEルーティング(super-interestカテゴリベース)などの特殊アーキテクチャも実現できます。

Transformer-based hierarchical encoder processing multimodal advertiser content for interest embedding learning Technical Structure Concept

注意点と限界(批判的視点)

HIRは印象的ですが、そのまま自チームにコピーできる代物ではありません。

1. スケール前提が異なる

「billions of interactions」をend-to-endで学習するというのは、グラフエンジン・GPUパイプライン・bit-exact再現性までインフラが支えられているという意味です。中規模チームがこのアーキテクチャをそのまま導入すると、 インフラコストがモデル性能の利得を食い潰します

2. 自己教師あり学習の落とし穴

Cross-View Distillationはteacher viewの品質に性能が大きく依存します。Sinkhorn-Knoppでcollapseは防いでいますが、 クラスタ数・温度ハイパーパラメータ に敏感です。実務ではクラスタ品質を別途モニタリングすべきです。

3. FlexAttention依存

FlexAttentionは特定のハードウェア/カーネル組み合わせに最適化されています。別スタックに移すと memory-efficient attention + graph bias を同時に満たすのが難しくなる可能性があります。

4. BoMトークンの情報損失

連続埋め込みを離散化するとretrievalには有利ですが、 fine-grainedランキング性能は落ちる可能性があります。HIRもBoMはretrieval/パーソナライゼーション補助として使い、最終ランキングは連続埋め込みを使うハイブリッド構成と見られます。

5. 時間リーク防止のコスト

Cutoff timestamp + 時間チャンクシャッフルは正確性を守りますが、 バッチ多様性を制限 します。学習スループットと時間的厳密性のトレードオフを認識しておく必要があります。

次の学習ステップ

  • グラフトランスフォーマー:Graphormer、GraphGPS系の論文から追うと、Bias-aware attentionの原型が見えます。
  • 自己教師あり学習:DINO、SimCLR、SwAVのview invarianceの考え方を押さえると、Cross-View Distillationが格段に読みやすくなります。
  • FlexAttention:PyTorch 2.5+の torch.nn.attention.flex_attention ドキュメントを実際に動かしてみてください。カスタムbiasの登録方法が掴めます。
  • Composite Quantization:Product Quantization(PQ)系を見ると、BoMトークンの設計意図が理解できます。

Large-scale online graph engine serving billions of user-ad interaction edges for deep funnel optimization Dev Environment Setup

実務適用のためのまとめ

HIRの本質的なメッセージは「大規模グラフ + LLM知識 + 自己教師あり学習を組み合わせれば、疎な深層ファネル信号を安定した興味表現に変換できる」ということです。このアイデア自体は 自チームの規模に合わせて縮小して 適用できます。

  1. まずグラフスキーマを整理:ユーザー-アイテム-広告主-カテゴリをtyped, weighted, time-decayedグラフとしてモデリングします。これがないと何も始まりません。
  2. 知識補強はLLMで:商品/広告クリエイティブをLLMで埋め込み、sparse interactionを補強します。最近はオープンソースの埋め込みモデルでも十分効果が出ます。
  3. 自己教師あり + 教師ありの併用:view-invariant目的関数だけでは実サービス性能は出ません。必ずengagement predictionのような教師あり目的関数を併せて掛けるべきです。
  4. Retrieval用の離散トークンを別管理:連続埋め込みとBoMのような離散トークンを 分離して 運用してください。一つで全部やろうとすると両方落とします。

あわせて読みたい

結局HIRは「表現層(representation layer)をうまく設計すれば下流が全部良くなる」という古くからの真理を、Metaスケールで証明した事例です。モデルを大きくする前に、まず 表現 を見直すべき時かもしれません。

本コンテンツは、信頼性の高い情報源をもとにAIツールを活用して作成され、編集者によるレビューを経て公開されています。専門家によるアドバイスの代替となるものではありません。