왜 '관심사 표현 계층'이 필요해졌을까

메타 광고 스택은 오랫동안 '딥퍼널(Deep Funnel)' 최적화, 즉 클릭 이후의 전환·구매 같은 진짜 성과를 잘 맞히는 방향으로 진화해 왔습니다. 문제는 딥퍼널 신호가 구조적으로 희소하다는 점이에요. 노출은 수십억 건인데, 그중 실제 전환 피드백은 극소수죠.

그래서 메타가 택한 카드가 Hierarchical Interest Representation(HIR) 입니다. 이름 그대로 '계층적 관심사 표현'인데, 쉽게 말하면:

  • 사용자, 광고주, 상품, 캠페인 같은 광고 생태계의 모든 엔티티를 하나의 이종 그래프(heterogeneous graph) 로 묶고,
  • 그 위에 트랜스포머 기반 그래프 학습을 얹어서,
  • 사용자의 잠재 관심사와 광고주의 실제 오퍼링을 하나의 임베딩 공간에서 연결하는 업스트림 표현 계층입니다.

포인트는 이게 단순한 랭킹 모델이 아니라 랭킹 모델 위에 얹히는 표현 레이어라는 것. GEM(Generative Ads Model), Andromeda, Adaptive Ranking Model 같은 기존 컴포넌트에 플러그인처럼 꽂히는 걸 목표로 합니다.

국내 광고/추천 시스템 팀 관점에서 보면, 이 구조는 '피처 엔지니어링을 그래프 학습으로 대체'하는 방향성과 정확히 맞물립니다. 사내에 이미 유저-아이템 상호작용 로그가 쌓여 있다면, HIR류 접근은 다음 단계 업그레이드 카드로 검토해볼 만해요.

Diagram of hierarchical interest representation layers connecting users and advertisers on Meta ads graph System Abstract Visual

아키텍처 핵심 4가지

HIR의 설계는 크게 네 가지 속성으로 요약됩니다.

1. 차원 축소 (Dimension Reduction)

원본 그래프는 노드와 엣지가 수십억 단위라 그대로는 학습이 불가능합니다. HIR은 원본 그래프를 '관심사 원시(primitive) 노드'로 구성된 슈퍼 그래프로 투영합니다. 원본에서 희소했던 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

트랜스포머 인코더의 3가지 디테일

  • World Knowledge: 광고주/상품의 요약 텍스트, 이미지, 영상 등을 커스텀 LLM 추론 엔진으로 인코딩해 노드 초기 피처로 사용합니다.
  • Bias Composition: 그래프 구조 신호(노드 타입 전이, 최단 경로 거리 등)를 어텐션의 QK 내적에 바이어스로 주입합니다. 서브그래프를 '노드 봉지'로 취급하지 않고 위상(topology)을 인지하게 만드는 핵심이에요. 표준 message-passing이 long-range 관계에서 과도하게 스무딩되는 문제를 완화합니다.
  • FlexAttention: 그래프 구조 바이어스를 넣으면 보통 pairwise bias 행렬을 물리화해야 해서 메모리 효율 어텐션이 깨집니다. HIR은 FlexAttention으로 바이어스를 on-the-fly 계산해 행렬을 만들지 않습니다. 가변 길이 서브그래프를 block-mask로 패킹해 패딩 낭비와 그래프 간 누출도 방지하죠.

학습: Cross-View Distillation + Engagement Prediction

자기지도 학습은 teacher-student 뷰 페어링으로 이뤄집니다. 같은 앵커 노드에 대해 넓은 뷰(teacher)와 좁은 뷰(student)를 샘플링하고, student가 teacher와 같은 관심사 클러스터를 예측하도록 학습합니다. Teacher가 더 넓게 보기 때문에 더 확신 있는 타깃을 주고, 이게 딥퍼널 전환 유저라는 극소수 신호를 넘어 희소성 문제를 직접 완화합니다. Sinkhorn-Knopp 균형 할당으로 단일 클러스터 붕괴(자기지도 학습의 고질병)도 방지합니다.

여기에 실제 엣지 존재 여부를 예측하는 supervised 목적(Engagement Prediction)을 더해, 뷰 불변 구조 사전지식 + 실제 행동 그라운딩을 동시에 확보합니다.

학습 인프라: 30배 속도 향상

원본 이종 그래프는 메타의 온라인 그래프 엔진 위에 있고, 학습과 서빙이 동일 데이터 소스를 씁니다. 서브그래프 페치와 노드 피처 읽기를 GPU 연산과 파이프라이닝해서, 동기 베이스라인 대비 30배 wall-clock 속도 향상을 얻었다고 합니다. 학습/평가는 컷오프 타임스탬프로 시간 순서를 엄격히 지켜 미래 정보 누출을 차단합니다.

Large-scale heterogeneous graph transformer architecture with bias-aware attention for ads ranking Programming Illustration

Bag-of-Meaning 토큰과 서빙 스택 연결

연속 임베딩은 랭킹에는 강하지만, 역색인(inverted index) 검색이나 집합 집계, 사람이 읽는 해석에는 부적합합니다. 그래서 HIR은 임베딩을 Bag-of-Meaning(BoM) 토큰으로 이산화합니다. 복합 양자화(composite quantization)로 만든 압축된 비순서 관심사 어휘죠.

  • 사용자 = 관심사를 설명하는 BoM 토큰 집합
  • 광고/광고주 = 그들이 제공하는 관심사의 BoM 토큰 집합

이러면 역색인 룩업만으로 빠른 리콜이 가능해지고, MoE(Mixture of Experts) 라우팅을 슈퍼 관심사 카테고리로 태우는 아키텍처도 자연스러워집니다.

장단점 비교

항목HIR 접근전통적 피처 엔지니어링
신호 희소성자기지도 증류로 완화수작업 피처에 의존
신규 엔티티LLM 멀티모달 지식으로 일반화콜드스타트 취약
검색/랭킹 공용화BoM 토큰으로 통합파이프라인별 별도 표현
학습 비용그래프 규모 + 어텐션 커널 최적화 필수상대적으로 저렴
해석 가능성BoM 토큰으로 부분 확보피처 단위로 명확

이 기술의 한계와 주의사항

  • 인프라 장벽: 수십억 노드 그래프와 FlexAttention 수준의 커널 최적화는 대부분 조직에 현실적이지 않습니다. 사내에서는 우선 소규모 이종 그래프 + 그래프 바이어스 어텐션부터 검증하는 게 안전해요.
  • 시간 누출 위험: 시계열 컷오프를 엄격히 지키지 않으면 오프라인 지표가 실제 성능을 크게 과대평가합니다. 백테스트 파이프라인에 컷오프 검증을 반드시 넣으세요.
  • 자기지도 붕괴: Sinkhorn 같은 균형 할당 없이 클러스터 자기지도를 돌리면 소수 클러스터로 붕괴하는 경우가 흔합니다.
  • 해석 가능성 한계: BoM 토큰은 부분적 해석만 제공합니다. 규제 산업(금융/의료 광고 등)에서는 별도 설명 레이어가 필요할 수 있어요.

다음 단계 학습 방향

  1. 이종 그래프 + 그래프 어텐션 바이어스 개념을 먼저 익히려면 PyG(PyTorch Geometric)나 DGL로 소규모 재현부터 해보세요.
  2. 자기지도 표현 학습은 SimCLR, BYOL, DINO 계열을 그래프에 옮긴 논문들을 따라가면 HIR의 teacher-student 뷰 설계가 훨씬 잘 보입니다.
  3. FlexAttention은 PyTorch 2.5+에서 실습 가능하니, 커스텀 bias를 붙이는 예제를 돌려보면 '메모리 효율 + 구조 인지' 트레이드오프를 체감할 수 있습니다.

Bag-of-Meaning interest tokens visualized as embedding clusters for ads retrieval and personalization Dev Environment Setup

정리: HIR이 던지는 진짜 메시지

HIR의 진짜 임팩트는 특정 모델 구조가 아니라 "표현 계층을 업스트림에 두고, 다운스트림 랭킹/검색/개인화가 이를 공유한다" 는 설계 철학입니다. 피처를 각 태스크마다 따로 만드는 대신, 관심사 공간 자체를 학습해 재사용하는 거죠.

국내 환경에서 바로 따라 하긴 어렵지만, 다음 세 가지는 지금 당장 적용 가능한 시사점입니다.

  • 희소 신호를 자기지도로 증폭: 전환 로그가 부족해도 뷰 페어링 자기지도로 표현을 학습할 수 있다.
  • 구조를 어텐션에 주입: 그래프 위상을 어텐션 바이어스로 넣으면 long-range 관계 포착이 개선된다.
  • 연속 임베딩 + 이산 토큰 병행: 랭킹은 임베딩으로, 검색은 BoM 같은 이산 토큰으로 이원화하면 스택 전체가 유연해진다.

메타가 공개한 원문은 근거자료에서 확인할 수 있습니다.

함께 보면 좋은 글

본 콘텐츠는 신뢰할 수 있는 출처를 바탕으로 AI 도구를 활용하여 초안이 작성되었으며, 편집자의 검토를 거쳐 발행되었습니다. 전문가의 조언을 대체하지 않습니다.