Sona: 하나의 트랜스포머가 15개 이상의 후보 생성기, 사전 순위 지정 모델 및 순위 지정 모델을 대체하다 (A/B 테스트 결과)
요약
Yandex Music은 단일 트랜스포머 모델인 Sona를 개발하여 기존의 다중 후보 생성기 및 순위 지정 시스템을 대체했습니다. 이 모델은 History Compression 기법을 사용하여 추론 비용을 절반으로 줄이면서도 높은 성능을 유지합니다. A/B 테스트 결과, Sona는 활성 사용자 수와 총 청취 시간에서 유의미한 개선을 보였습니다.
핵심 포인트
- Sona는 단일 트랜스포머로 복잡한 추천 시스템을 통합했습니다.
- History Compression으로 추론 비용을 절반으로 줄였습니다.
- A/B 테스트에서 활성 사용자 수 및 총 청취 시간 증가를 입증했습니다.
Yandex Music의 프로덕션 추천 시스템은 수백 개의 피처를 사용하여 15개 이상의 후보 생성기(candidate generators)가 사전 순위 지정(pre-ranking) 및 순위 지정(ranking) 모델에 데이터를 공급하고 있습니다. LLM을 통해 하나의 엔드투엔드(end-to-end) 모델이 이전에 전문화된 여러 구성 요소에 분산되어 있던 작업을 대체할 수 있음이 밝혀졌고, 단일 모델 생성 추천기(single-model generative recommenders)가 이러한 방식을 프로덕션 환경으로 가져왔습니다. 저희는 음악 분야에서 단일 모델 추천기가 무엇을 할 수 있는지 탐구하기로 했습니다. 그 결과물은 Sona라는 하나의 트랜스포머이며, 이것이 A/B 테스트에서 모든 것을 대체했습니다. 아직 전체 트래픽에 배포되지는 않았습니다.
이 모델은 최대 8,192개의 이벤트를 읽어 들입니다. 이 길이 전체에 대한 어텐션(attention) 계산은 비용이 많이 들기 때문에, 저희는 History Compression이라고 부르는 방식을 사용하며 이는 추론 비용을 대략 절반으로 줄여줍니다. 히스토리를 더 오래된 6,144개 이벤트와 가장 최근의 2,048개로 분할합니다. 이 두 블록은 크로스 어텐션(cross-attention)과 하나의 전체 히스토리 셀프 어텐션 레이어(self-attention layer)를 통해 정보를 교환합니다. 그 후에는 7개 레이어 스택이 최근의 2,048개 이벤트에 대해서만 실행됩니다. 이는 전체 어텐션의 대부분 품질을 유지하면서도, 오래된 이벤트가 디코더와 순위 지정 모듈(Ranking Module)에 계속 보이도록 합니다.
디코더와 순위 지정 모듈 모두 동일한 인코더 출력(encoder output)을 읽기 때문에, 인코더는 요청당 한 번만 실행됩니다. 후보들은 비암 검색(beam search)을 통해 시맨틱 ID(Semantic IDs)로 나오고 바로 점수가 매겨집니다.
Yandex Music의 스마트 스피커에서 진행된 최종 A/B 테스트(7일 동안 각 그룹 사용자 15% 참여)에서, Sona는 프로덕션 제어군 대비 활성 사용자 수(Active Users) +4.53%, 총 청취 시간(Total Listening Time) +6.30%를 기록했으며, 이는 모두 p < 0.01 수준으로 유의미했습니다. 다만, 카탈로그 커버리지(Catalog coverage)는 프로덕션 스택보다 낮았습니다. 저희가 그 이유를 조사할 예정입니다.
장기 A/B 테스트가 현재 진행 중입니다.
Table 7.7에는 전체 어텐션 대 History Compression의 제거 실험(ablation) 결과가 있습니다.
https://arxiv.org/abs/2608.11015
/u/SettingAccording8986 제출
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/MachineLearning (hot)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기