Advancing Generative Recommendation Inference: our collaboration with NVIDIA on TensorRT LLM
Quick Summary
Spotify는 NVIDIA와 협력해 TensorRT LLM에 생성형 추천에 필요한 추론 기능을 통합했으며, Qwen3 1.7B 기준 빔 탐색에서 최대 54%, 점수화에서 최대 7%의 비용 절감을 보고했다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
Spotify는 NVIDIA와 협력해 TensorRT LLM에 생성형 추천에 필요한 추론 기능을 통합했으며, Qwen3 1.7B 기준 빔 탐색에서 최대 54%, 점수화에서 최대 7%의 비용 절감을 보고했다.
📌 핵심 요약
- Spotify는 PLUM 논문의 기반 방법을 적용한 생성형 팟캐스트 추천을 2026년 1월 도입했으며, 빔 탐색으로 생성한 시맨틱 ID를 카탈로그 항목으로 변환해 추천한다.
- 초기 vLLM 기반 빔 탐색은 CPU 병목과 부분적으로 채워진 KV 블록의 재계산 때문에 고성능 GPU를 충분히 활용하지 못했다. 후보 점수화에는 여러 후보를 단일 요청으로 평가하는 SGLang의 효율적인 후보 마스킹 기능을 활용했다.
- 개인화에서는 기존 사용자 임베딩을 LLM 임베딩 공간의 단일 소프트 토큰으로 투영하는 방식이 가장 성공적이었다. 사용자 이력을 텍스트로 넣으면 지연과 GPU 사용량이 커졌고, 사용자 시맨틱 ID 방식은 초기 결과가 유망하지만 프로덕션 적용 전 추가 연구가 필요하다.
- NVIDIA와의 협력으로 TensorRT LLM에 빔 탐색의 복수 시퀀스 반환, 외부 모델 확장, 임베딩 전달, Python API 기반 멀티아이템 점수화 기능이 추가됐다. 사용자 소프트 토큰은 맞춤형 Qwen3 확장 플러그인으로 구현했으며, 멀티아이템 점수화에는 현재 효율적인 토큰화와 요청 배치를 담당할 맞춤 서빙 계층이 필요하다.
- Qwen3 1.7B에서 빔 탐색 비용은 최대 54%, 점수화 비용은 최대 7% 감소했다. Spotify는 생성형 추천 확대에 맞춰 지연과 인프라 비용을 통제하면서 양자화와 NVIDIA Blackwell 특화 기법을 통한 추가 최적화를 탐색할 계획이다.
🧩 주요 포인트
- 빔 탐색·후보 점수화·사용자 소프트 토큰의 요구가 서로 달랐다는 점에서, TensorRT LLM의 기능 통합은 여러 추천 작업을 공통 추론 엔진으로 지원할 기반이 된다.
- 기존 사용자 임베딩을 소프트 토큰으로 연결한 성과는 축적된 개인화 표현을 LLM 추천에 활용할 가능성을 보여주며, 텍스트 이력의 길이와 사용자 시맨틱 ID의 연구 과제는 방식별 제약을 드러낸다.
- 워크로드별 비용 절감 폭이 달랐다는 결과는 기능 지원과 하드웨어 활용을 함께 검토할 필요성을 보여주며, 맞춤 서빙 계층과 추가 최적화는 확장 과정의 남은 과제다.
🧠 상세 정리
1. 여러 단계를 거치는 추천에서 생성형 추천으로
Spotify는 홈 화면의 콘텐츠, 다음에 재생되는 곡, 최근 도입된 Spotify와의 대화 기능까지 사용자별로 개인화한다고 설명한다. 기존 추천 시스템은 후보 검색과 순위화를 위해 여러 단계를 거치며, 서비스의 각 화면이나 접점에 별도 시스템이 필요할 수도 있었다. 생성형 AI의 등장에 따라 Spotify는 대규모 개인화 언어 모델을 이용해 여러 접점에서 실시간으로 추천을 제공하는 방식을 탐색하고 있다. 이러한 전환의 핵심 과제는 개념 검증을 넘어 확장 가능한 프로덕션 수준의 추론 아키텍처를 구축하는 데 있다. 그 첫 사례로 2026년 1월 팟캐스트 추천에 LLM 기반 기술을 도입했으며, PLUM 논문이 제시한 기반 방법을 적용한 특화 생성형 추천 시스템으로 깊이 개인화된 청취 경험을 제공하고자 했다.
2. 빔 탐색의 역할과 초기 vLLM 구현의 한계
Spotify의 팟캐스트 추천 아키텍처는 빔 탐색으로 여러 토큰 시퀀스 경로를 동시에 살피며 추천 후보를 생성하고, 이 구조를 「Deploying Semantic ID-based Generative Retrieval for Large-Scale Podcast Discovery at Spotify」 논문에서 설명한다. 빔 탐색은 매 단계에서 유망한 시퀀스를 유지하며 높은 점수를 받는 출력을 찾고, 최상위 시퀀스에 해당하는 시맨틱 ID를 실제 카탈로그 항목으로 변환해 사용자에게 추천한다. 초기 출시에는 현대적인 모델 아키텍처와 높은 처리량의 추론에 강점이 있는 오픈소스 엔진 vLLM을 사용했지만, 빔 탐색 지원은 일반적인 완성 요청에 비해 제한적이었다. 특히 빔 탐색이 핵심 GPU 엔진 밖에서 실행돼 CPU 측 병목이 생겼고, 부분적으로 채워진 KV 블록을 재계산하면서 GPU 작업도 추가됐다. 이 때문에 1월 출시 당시 고성능 GPU의 성능을 충분히 활용할 수 없었으며, Spotify는 비용을 관리하고 더 적절한 부하 지점에서 운영하기 위해 상대적으로 낮은 등급의 가속기를 선택했다.
3. 후보별 개별 요청을 줄이는 멀티아이템 점수화
Spotify가 탐색한 또 다른 추론 방식인 후보 점수화는 모델의 로그 확률을 이용해 주어진 후보 집합을 평가하고 순위를 정한다. 가장 단순한 구현은 요청마다 후보별 추론을 각각 실행하는 팬아웃 방식으로, 각 결과의 로그 확률을 추출한 뒤 이를 모아 원하는 순위 계산을 수행한다. 이런 형태의 추론은 대부분의 오픈소스 추론 엔진에서 가능하지만, 후보마다 별도 요청을 처리해야 하는 부담이 따른다. SGLang에는 LinkedIn 엔지니어링 팀의 기여 등을 통해 더 효율적인 기법이 도입됐으며, Spotify도 이 기능을 활용하기 위해 SGLang을 사용해 왔다. 이 방식은 효율적인 후보 마스킹을 통해 여러 후보를 단일 요청에서 점수화하며, 이후 TensorRT LLM에 통합하려는 핵심 기능 중 하나가 됐다.
4. 텍스트 이력과 사용자 시맨틱 ID의 가능성과 제약
Spotify는 전통적인 추천 시스템에서 밀집 사용자 임베딩으로 대규모 개인화를 수행해 왔으며, LLM 기반 추천에서도 사용자 선호와 상호작용을 반영할 여러 방법을 실험했다. 가장 직접적인 방법은 청취 및 상호작용 이력을 텍스트로 바꿔 프롬프트에 넣는 것이지만, 사용자를 정확히 표현하려면 텍스트가 매우 길어진다는 문제가 있었다. 그 결과 추론 지연이 요청에 허용된 시간을 넘고 GPU 사용량도 커져, 이 방식은 사용자의 가장 최근 실시간 청취처럼 작은 범위에 제한적으로 활용된다. 사용자 시맨틱 ID 방식은 사용자 이력을 소수의 토큰으로 표현하고 해당 토큰을 모델 어휘에 추가해, 짧은 프롬프트와 별도의 맞춤 추론 요구 없이 개인화를 제공하려는 접근이다. 이를 위해 확장된 어휘와 사용자 시맨틱 ID 공간으로 LLM을 미세 조정하고 추론 시 ID를 프롬프트에 넣었지만, 초기 결과가 유망하더라도 프로덕션에 적용하려면 추가 실험과 연구가 필요하다고 평가했다.
5. 기존 사용자 임베딩을 소프트 토큰으로 연결
Spotify가 LLM 요청 개인화에서 가장 성공적으로 활용한 방법은 기존 사용자 임베딩을 바탕으로 소프트 토큰을 만드는 방식이다. Spotify Research의 「Embedding to Prefix」 백서는 기존 임베딩 공간에서 LLM 임베딩 공간으로 투영하는 변환을 학습해 사용자 정보를 단일 소프트 토큰으로 표현하는 접근을 설명한다. LLM은 가중치 일부를 미세 조정해 이 소프트 토큰으로 추천 출력을 개인화할 수 있도록 학습된다. 추론 시에는 사용자 벡터를 LLM 임베딩 공간으로 투영하고, 최초 순전파를 실행하기 전에 프롬프트에 삽입한다. Spotify는 이 방법을 팟캐스트 추천에 성공적으로 사용했으며, 내부 LLM 모델을 활용하는 여러 작업에도 통합하고 평가하고 있다고 밝혔다.
6. NVIDIA와 추진한 TensorRT LLM 기능 통합
첫 LLM 기반 추천 시스템의 출시와 내부 실험이 확대되면서, Spotify는 여러 카탈로그와 서비스 접점에 생성형 추천을 적용하기 위한 효율적이고 관리 가능한 추론 스택이 필요해졌다. NVIDIA와의 협력 목표는 효율적인 빔 탐색, 점수화, 사용자 소프트 토큰을 단일 엔진에서 지원하는 것이었다. TensorRT LLM은 빔 탐색의 하드웨어 활용도가 뛰어났지만, 초기에는 SGLang의 Score API에 해당하는 기능과 vLLM에서 가능했던 소프트 토큰 주입 및 빔 탐색의 복수 시퀀스 반환이 부족했다. 협력 결과 빔 탐색의 복수 시퀀스 반환은 v1.2.0rc3에, trtllm-serve의 외부 모델 지원은 v1.2.0rc4에 추가됐다. 이어 image_embeds를 통한 멀티모달 임베딩 전달은 v1.3.0rc0에, Python API의 멀티아이템 점수화는 v1.3.0rc20에 포함됐으며, 일반적인 버그 수정과 성능 개선도 이뤄졌다.
7. 샘플러 개선과 맞춤형 개인화·점수화 구현
TensorRT LLM의 빔 탐색은 샘플러 내부에 구현돼 호스트 측 오버헤드를 줄이며, 오버랩 스케줄링과 결합해 GPU 활용도를 높인다. 기존 C++ 기반 샘플러는 PyTorch를 더 많이 활용하는 유연한 설계로 교체됐고, 새 샘플러의 빔 탐색 지원은 이전 구현보다 뚜렷한 성능 향상을 보였다고 설명한다. Spotify는 NVIDIA의 지원과 검토를 받아 외부 모델 지원 기능으로 맞춤형 Qwen3 확장 플러그인을 구현했으며, 멀티모달 요청 매개변수로 사용자 벡터를 전달해 임베딩 투영과 소프트 토큰 치환을 수행한다. Python API에 추가된 멀티아이템 점수화는 SGLang의 점수화 API와 동등한 기능을 제공하지만, 현재 효율적인 토큰화와 요청 배치를 처리하는 맞춤 서빙 계층이 필요하다. 이 방식은 후보마다 개별 요청을 보내는 오버헤드를 줄이면서도 계산량은 후보 수에 선형으로 비례하며, TensorRT LLM에는 최근 프리필 전용 임베딩을 서빙하는 지원도 추가됐다.
8. 비용 절감 성과와 향후 최적화 방향
Spotify는 최근 TensorRT LLM 버전에 반영된 기능과 성능 개선이 생성형 추천 애플리케이션의 유의미한 비용 절감으로 이어졌다고 보고한다. 제시한 결과에 따르면 Qwen3의 1.7B 변형에서 빔 탐색 워크로드의 비용은 최대 54%, 점수화 워크로드의 비용은 최대 7% 감소했다. 두 수치는 각각의 워크로드에서 보고한 최대 절감 폭으로, 본문은 이를 모든 모델과 운영 조건에서 동일하게 얻는 결과로 제시하지 않는다. Spotify는 생성형 추천 모델의 활용 범위를 넓히면서 추론 성능과 비용 효율을 계속 우선 과제로 삼고, NVIDIA와 양자화 및 NVIDIA Blackwell 특화 기법을 중심으로 추가 최적화를 탐색할 계획이다. 궁극적인 목표는 지연과 인프라 비용을 통제하면서 더 정교한 개인화를 대규모로 지원할 수 있는 추론 스택을 구축하는 것이다.
🧾 핵심 주장 / 시사점
- 초기 고성능 GPU 활용의 제약과 샘플러 개선 이후의 성과는 생성형 추천의 비용 효율이 모델 크기뿐 아니라 디코딩 구현과 추론 엔진 구조에도 영향을 받음을 보여준다.
- 소프트 토큰의 성과는 기존 사용자 임베딩을 LLM 개인화에 연결할 수 있음을 보여준다. 다만 사용자 시맨틱 ID는 추가 연구가 필요하므로, 개인화 방식마다 성숙도와 운영 제약을 구분해 볼 필요가 있다.
- 단일 엔진에 필요한 기능을 모았더라도 멀티아이템 점수화에는 맞춤 서빙 계층이 남아 있다. 엔진의 기능 지원과 실제 서비스 운영에 필요한 구현 범위는 함께 평가해야 한다.
✅ 액션 아이템
- Qwen3 1.7B의 빔 탐색 최대 54%·점수화 최대 7% 비용 절감 결과를 바탕으로 워크로드별 추론 비용 효율 검토.
- 사용자 소프트 토큰 지원과 멀티아이템 점수화의 맞춤 서빙 계층 필요성을 함께 고려해 TensorRT LLM 적용 범위 검토.
- 지연과 인프라 비용 통제를 목표로 양자화와 NVIDIA Blackwell 특화 기법의 추가 최적화 가능성 탐색.
❓ 열린 질문
- Qwen3 1.7B에서 보고한 빔 탐색 최대 54%·점수화 최대 7% 비용 절감은 어떤 운영 조건에서 달성됐는가?
- TensorRT LLM의 멀티아이템 점수화에 필요한 맞춤 서빙 계층은 적용과 운영에 어느 정도의 부담을 더하는가?
- 양자화와 NVIDIA Blackwell 특화 기법은 지연과 인프라 비용을 추가로 얼마나 줄일 수 있는가?