[논문리뷰] DuoLM: Fast and Effective Personalized Recommendation with Language Models
링크: 논문 PDF로 바로 열기
저자: Jiang Wu, Yutong Song, Hongbo Wang, Guanghe Cao, Jeff Lei Liang
1. Key Terms & Definitions (핵심 용어 및 정의)
- Encoder LLM: Item content를 compact하고 user-independent한 item representation으로 압축하는 Large Language Model입니다. 이 모델은 offline에서 실행되어 reusable한 item vector를 생성합니다.
- Personalized Ranker LLM: Encoder LLM에서 생성된 item embedding과 user history 및 feedback을 결합하여 personalized score를 예측하는 Large Language Model입니다. 이 모델은 online inference 시 사용됩니다.
- Virtual Token IDs (VIDs): Precomputed item embeddings를 GPU-resident table에서 효율적으로 참조하기 위해 사용되는 가상 ID입니다. 이를 통해 online inference 시 full item vector 전송 없이 item ID와 user feedback만으로 request payload를 크게 줄입니다.
- Multi-Item Scoring (MIS): SGLang 기반으로 구현된 효율적인 inference path로, 단일 request 내에서 여러 candidate items를 동시에 scoring합니다. 이때 user history KV cache를 공유하여 중복 계산을 줄입니다.
- CUDA Graph: GPU operation과 그 dependencies를 캡처하여 저장하고, 이를 replay함으로써 CPU scheduling 및 kernel launch overhead를 줄이는 NVIDIA의 GPU 최적화 기술입니다.
2. Motivation & Problem Statement (연구 배경 및 문제 정의)
Language models 기반의 personalized recommendation 시스템은 rich item content, user history, feedback을 활용하여 사용자 선호도를 효과적으로 평가할 수 있습니다. 그러나 많은 candidate items를 full-text input으로 평가하는 과정에서 상당한 online computation이 발생하여 serving throughput이 제한되는 문제가 존재합니다. 본 연구는 이러한 도전 과제를 두 가지 핵심 측면에서 식별합니다.
첫째, recommendation quality를 저하시키지 않으면서 online computation을 실질적으로 줄이는 것이 어렵습니다. 기존 ID-based two-tower recommenders는 효율적이지만, textual semantics나 pretrained world knowledge를 직접 통합하지 못해 long-tail 및 cold-start items에 대한 generalization 능력이 부족합니다. Full-text cross-encoders는 사용자 context에 따라 candidate representation이 달라져 재사용이 불가능하며, item text를 압축하는 방식은 특정 사용자에게 중요한 세부 정보를 손실할 수 있습니다. 따라서 high-quality personalized judgment를 지원하면서도 compact하고 reusable한 item representations을 얻는 것이 핵심 문제입니다.
둘째, 모델의 computation 감소가 end-to-end request processing 속도 향상으로 자동적으로 이어지지 않습니다. vLLM과 같은 inference engines는 batching 및 prefix caching을 통해 latency와 throughput을 개선하지만, recommendation service가 workload를 준비하고 제출하는 방식에서 여전히 중복 작업이 발생할 수 있습니다. 단일 recommendation request는 동일한 user history에 대해 여러 candidate를 평가하므로, candidate가 개별적으로 제출되면 동일한 history input이 반복적으로 구성 및 전송되고 각 candidate마다 별도의 scheduling overhead가 발생하여 end-to-end recommendation throughput을 제한합니다.
3. Method & Key Results (제안 방법론 및 핵심 결과)
본 논문은 이러한 도전 과제를 해결하기 위해 representation learning과 효율적인 inference를 통합한 DuoLM 프레임워크를 제안합니다 [Figure 1]. DuoLM의 핵심 아이디어는 reusable item representations와 personalization을 함께 학습하고, 이를 offline item encoding에 활용하는 것입니다. 이와 더불어, 런타임 최적화를 통해 computational savings를 실제 serving 속도 향상으로 전환합니다.
DuoLM 모델은 item text를 단일 hidden-state vector로 압축하는 Encoder LLM과, 이 vector를 user history 및 feedback과 결합하여 personalized score를 생성하는 Personalized Ranker LLM으로 구성됩니다. 이 두 모델은 recommendation labels와 frozen full-text teacher로부터의 distillation을 통해 end-to-end로 공동 학습됩니다. 학습 완료 후에는 item representations를 offline으로 precompute하여 Ranker LLM만 online으로 실행함으로써 inference 부담을 줄입니다.
런타임 측면에서는 여러 가지 최적화가 적용됩니다. 첫째, Virtual Token IDs (VIDs)를 도입하여 precomputed item embeddings를 GPU-resident table에서 참조하고, request payload를 평균 90% 이상 감소시킵니다. 둘째, SGLang (Zheng et al., 2024) 기반의 새로운 Multi-Item Scoring (MIS) path를 구축하여 단일 request 내에서 여러 candidate items를 동시에 scoring하며, user history KV cache를 공유하여 중복 계산을 방지합니다 [Figure 2, Figure 3]. 셋째, MIS scoring path에 segmented prefill CUDA Graphs를 적용하여 GPU operation을 캡처하고 replay함으로써 CPU scheduling 및 kernel launch overhead를 줄입니다.
실험 결과, DuoLM은 Amazon Books 및 Video Games 데이터셋에서 우수한 recommendation quality를 입증했습니다. Amazon Books 추천에서 NDCG@10 0.5586을 달성하여 expert teacher model의 0.5440보다 높은 성능을 보였으며, Video Games에서는 0.5298로 teacher model의 0.5313과 유사한 성능을 기록했습니다. End-to-end serving efficiency 측면에서는 단일 NVIDIA H100 GPU에서 약 26,400 candidate scores per second의 throughput을 달성했습니다. 이는 vLLM 및 automatic prefix caching을 사용한 teacher model 대비 약 60.1배, SGLang 기반 teacher model 대비 약 109.9배 높은 throughput 수치입니다. 또한, DuoLM은 더 낮은 full-request p99 latency를 보여, C=64 concurrency에서 536.90 ms를 기록하며 teacher model의 17,093.82 ms보다 현저히 빠릅니다.
4. Conclusion & Impact (결론 및 시사점)
본 논문은 reusable item representations 학습과 personalized recommendation을 위해 두 개의 LLM을 공동으로 학습하고, 이를 효율적인 serving runtime과 결합한 DuoLM 프레임워크를 성공적으로 제시했습니다. DuoLM은 expert teacher model에 필적하는 recommendation quality를 유지하면서도, online serving efficiency에서 혁신적인 발전을 이루었습니다.
이 연구는 LLM 기반 recommendation 시스템의 상용화 가치를 크게 높이는 데 중요한 기여를 합니다. 특히, offline item encoding을 통해 online computation을 줄이고, Multi-Item Scoring, Virtual Token IDs, CUDA Graph와 같은 런타임 최적화를 통해 end-to-end serving throughput과 latency를 획기적으로 개선했습니다. 이는 실제 서비스 환경에서 대규모 personalized recommendation을 더욱 빠르고 비용 효율적으로 제공할 수 있는 강력한 기반을 마련하여, 학계 연구 및 산업 응용 모두에 깊은 시사점을 제공할 것으로 기대됩니다. DuoLM의 접근 방식은 LLM 기반 시스템의 효율성 병목 현상을 해결하는 중요한 단계를 제시하며, 향후 더 넓은 범위의 AI 서비스 최적화에 영감을 줄 수 있습니다.
⚠️ 알림: 이 리뷰는 AI로 작성되었습니다.
관련 포스트
- [논문리뷰] What Makes a Good Unmasking Policy? A Controlled Study of Learned Unmasking in Diffusion Language Models
- [논문리뷰] GroundAnything: Reconciling Parallel Decoding with Precise Visual Grounding at Flash Speed
- [논문리뷰] AgSpec: Pushing the Limits of Retrieval-Based Speculative Decoding in Coding Agent Pipelines
- [논문리뷰] Video DeltaNet: A Video-Native Hybrid Attention for Livestream Video Generation
- [논문리뷰] TREK: Distill to Explore, Reinforce to Refine
Review 의 다른글
- 이전글 [논문리뷰] Dual Exam: Controlled Evaluation of Multimodal Agents and World Models
- 현재글 : [논문리뷰] DuoLM: Fast and Effective Personalized Recommendation with Language Models
- 다음글 [논문리뷰] Easy-3Dfy: Object-Level Geometric Composition for Single-Image 3D Scene Construction
댓글