[Paper Review] Bi-Level Optimization for Generative Recommendation: Bridging Tokenization and Generation (SIGIR 2026)

Problem Statement

Generative Recommendation은 사용자 상호작용 이력을 Token Sequence로 표현을 한 뒤, LLM 등의 추론 모델이 다음 아이템의 Token을 생성하도록 하는 태스크입니다. 순차 추천 시스템처럼, 과거 아이템의 토큰 시퀀스를 보고, 다음에 상호작용할 아이템의 토큰 시퀀스를 예측합니다.

Generative Recommendation에는 크게 2가지의 대분류로 나뉩니다.

  • Item Tokenization : 아이템을 모델이 생성할 수 있는 토큰 시퀀스로 변경하는 단계입니다.
    • Item 1 -> c1, c2, …, cL
    • 해당 방법에는 RQ-VAE 같은 방법, Textual ID 등의 토큰 시퀀스 생성 방법 등 여러가지가 사용됩니다. 해당 논문에서는 RQ-VAE 기반의 방법(numeric ID)이 사용됩니다.
  • Autoregressive Generation : 사용자의 과거 item token sequence를 입력받아 다음 아이템의 token sequence를 앞에서부터 하나씩 생성합니다.
    • P(Y X) = P(c1 X) × P(c2 X,c1) × P(c3 X,c1,c2)과 같은 과정으로 생성합니다.

Previous Limitations

image

기존 연구의 한계점은 다음과 같습니다.

  • Sequential Optimization
    • Ex, TIGER, LETTER
    • 토크나이저가 아이템 토큰을 만들 때, 직접적으로 추천 성능을 고려하지 않는다는 문제가 있습니다.
    • 해당 과정으로 생성되는 토큰이 다음 아이템을 잘 생성하는 것에 좋은 토큰인지는 알 수 없습니다.
  • Alternating Optimization
    • Ex, ETEGRec
    • 토크나이저를 업데이트 -> 추천 업데이트하는 방식으로 단순히 번갈아서 업데이트하는 것만으로는 토크나이저, 추천 모델의 본질적인 상호 의존성을 간과하는 문제가 발생합니다.

무엇보다 문제는, Tokenizer, Recommender의 목표가 다르다는 것입니다. Tokenizer의 경우, 아이템 임베딩이나 의미 구조를 잘 설명하는 토큰을 생성하는 것이 목표라면, Recommender은 사용자 행동 기반으로 다음 아이템을 잘 생성할 수 있는 토큰을 생성하는 것이 목표입니다.

Method : BLOGER

위 문제를 해결하기 위해, 본 논문에서는 BLOGER이라는 프레임워크를 제안합니다.

Input과 Output은

  • Input : 사용자의 과거 상호작용 아이템 시퀀스
  • Output : 다음 상호작용할 아이템 (토큰 X)

Problem Reformulation

BLOGER은 기존의 Generative Recommendation이 가지는 이전의 문제를 해결하기 위해, Bi-level Optimization이라는 문제로 정의합니다.

이 Bi-level Optimization은 일반적인 Generative Recommendation이 분리해서 학습하는 것과 다르게 학습이 진행됩니다. Bi-level Optimization은 크게 다음 2가지 학습 과정으로 구성되어 있습니다.

  • Inner level : 현재 Tokenizer이 만든 토큰 시퀀스로 Recommender을 학습
  • Outer level : 그 Recommender이 잘 추천하도록 토큰 시퀀스를 업데이트 크게 이렇게 2가지 과정으로 이루어져 있습니다.

이 과정으로 결과적으로 Item Tokenization에서 아이템을 잘 표현하는 것 뿐만이 아닌, 추천 모델이 잘 생성할 수 있는 Item identifier을 만드는 과정이 해당 태스크의 목표입니다.

BLOGER

image

BLOGER에서는 Inner level로 현재 Tokenizer로 Recommender을 학습하고, Outer level에서는 Recommender이 잘 추천하도록 토크나이저를 학습합니다.

Tokenizer

BLOGER에서 Tokenizer은 RQ-VAE 기반의 item tokenizer을 사용합니다.

  • Input : Item embedding (LLaMA2-7B base)
  • Output : Item token sequence (c1, c2, ..)

해당 과정을 통해서 Numeric token 이 만들어집니다.

Recommender

BLOGER에서는 T5 기반 Encoder-Decoder을 사용하고, 사용자의 과거 item token sequence를 보고 다음 아이템의 토큰 시퀀스를 예측합니다.

여기서 사용되는 Mixed Representation은, Recomemnder에 토큰을 넣기 위한 미분가능한 임베딩 표현입니다. 추천 모델에서 item token sequence를 mixed representation embedding으로 변환한 뒤, T5 모델에 넣어서 다음 아이템 토큰 시퀀스를 생성합니다.

이를 위해서 다음의 과정을 수행합니다.

  • Hard, Soft embedding 만들기
    • Hard : 선택된 Token ID를 Recommender의 Vocabulary embedding table에서 lookup한 벡터 -> 즉, T5 모델에 Token ID를 임베딩 레이어에 넣었을 때 나오는 임베딩
      • 해당 Hard embedding만으로는 토큰 선택이 argmax 방식이기에, 토크나이저까지 gradient가 흐르기 어렵습니다. 이를 위해서 Soft embedding을 같이 반영합니다.
    • Soft : tokenizer가 codebook token들에 대해 계산한 선택 확률분포를 사용해서 만든 weighted average embedding -> 즉, 확률분포 전체를 사용합니다.
      • Soft embedding은 확률분포 기반이기 때문에, 미분이 가능해서 Rec Loss의 Gradient가 Tokenizer의 토큰 할당 과정까지 흐를 수 있게 됩니다.

이렇게 해서 도출된 Hard Embedding, Soft Embedding을 결합하여

o = s + stop_gradient(h - s)

과 같이 결합하여 혼합된 표현을 Encoder-Decoder에 집어넣어 추천을 수행하게 됩니다.

이렇게 만들어진 표현이 추천 모델에 들어가 추천을 수행하는데, 이로 인해 정확성과 미분 가능성을 동시에 얻을 수 있게 됩니다.

Tailored Learning Scheme

앞에서 정의한 Tokenizer, Recommender의 구조를 어떻게 학습할지에 대한 설명입니다.

현재 Generative Recommendation에서는 토크나이저를 업데이트하기 위해서 현재 토크나이저로 Recommender을 끝까지 학습한 뒤에 성능을 확인해야 해서, 비용이 기하급수적으로 발생합니다. 이를 위해서 BLOGER에서는

  • Meta-learning Strategy
  • Gradient Surgery

를 사용합니다.

Meta-learning Strategy

image

Bi-level Optimization을 정확하게 하기 위해서는

  1. 현재 tokenizer Tϕ를 고정
  2. recommender Rθ를 끝까지 학습
  3. 학습된 recommender Rθ*의 recommendation loss 계산
  4. 그 loss를 기준으로 tokenizer Tϕ 업데이트 이렇게 4가지 과정이 필요하지만, 비싼 비용으로 인해 MAML 스타일의 Meta-learning을 적용합니다.

즉, 끝까지 학습하지 않고, 한 Step만 반영해서 업데이트한 Recommender을 사용해서 Tokenizer을 업데이트합니다.

업데이트 과정은 다음과 같습니다

  • Inner level에서 Recommender 업데이트: 현재 tokenizer가 만든 item token sequence를 사용해, Recommender가 next item token을 더 잘 생성하도록 파라미터
  • Recommender 가상 업데이트: 토크나이저 업데이트 이전, 현재 Recomemnder을 한번 더 가상 업데이트해 임시 Recommender을 만ㄷ름 -> 현재 Tokenizer의 토큰이 Recommender 학습에 얼마나 도움이 되는지 평가
  • 가상 Recommender로 Tokenizer 평가 : Rec Loss를 계산해서, 한 번 학습된 Recommender이 얼마나 잘 추천하는지 확인
  • Tokenizer 업데이트 : Token Loss, Rec Loss를 사용해서 토크나이저 업데이트
    • 여기서 Tokenization은 RQ-VAE Tokenization에서 가져옵니다.

이 과정을 통해 단순히 토크나이저가 아이템 임베딩을 잘 복원하는 것만이 아닌, 추천 성능에 도움이 되는 아이템 토큰을 생성하도록 합니다.

Discussion

image

  • Sequential Optimization : Tokenizer가 만든 토큰이 추천 성능에 직접적으로 좋은지 알 수 없다는 한계점이 있습니다.
  • ETEGREc : Tokenizer, Recommender을 번갈아 업데이트하는데, Auxiliary loss로 두 모델의 중간 표현을 맞춥니다.
    • 단, 이는 token sequence를 점진적으로 refine하지만, recommendation loss를 tokenizer에 직접 사용하는 것이 아니라 auxiliary loss를 통해 간접적으로 alignment합니다.
  • 반면, BLOGER은 bi-level optimization과 meta-gradient를 통해 recommendation loss가 tokenizer를 직접 guide하도록 합니다.

즉, BLOGER은 이 토큰을 사용할 때 Recommender이 실제로 추천을 잘 하는지를 기준으로 토크나이저를 조정합니다.

Experiments

image

Overall Performance

image

Ablation Study

image

  • w/ LETTER : BLOGER에 LETTER 결합
  • w/o GS : Gradient Surgery 제거 -> 2개의 Gradient가 충돌해서 Tokenizer 학습이 망가질 수 있습니다.
  • Joint : Bi-level 구조 없이, Tokenizer, Recommender 공동 학습
    • Joint w/ GS : Joint optimization에 Gradient surgery 추가
    • Fixed : Tokenizer 고정, Recommender만 (TIGER과 유사)

Hyperparameter Analysis

image

  • Rec Loss와 Tokenization Loss를 조정하는 파라미터, 업데이트 빈도 파라미터에 대한 실험

In-depth Analysis

image

image

Conclusion

  • Contribution
    • Tokenizer-Recommender을 상호보완적으로 학습해서 추천 성능 향상 (추천 loss가 Tokenizer 학습에도 영향이 가도록)
    • “아이템 토큰을 잘 만드는 것”과 “그 토큰으로 추천을 잘하는 것”을 하나의 최적화 구조 안에 반영
  • Limitations
    • Tokenizer의 문제를 개선하는 논문이 아닙니다. -> RQ-VAE 기반 Numeric Token의 근본적인 문제를 해결하지 않았습니다. (전혀 다른 아이템이 같은 토큰 ID를 공유하는 문제)
    • Cold-start / Tail-item 등에 대한 증명 부족

Leave a comment