OneRec, 대형 언어모델 기반 비디오 추천 시스템 개발 및 배포
OneRec: 대형 언어 모델 기반의 추천 모델 OneRec는 전통적인 추천 알고리즘 아키텍처와 달리, 단일 모델로 전체 추천 파이프라인을 커버하는 end-to-end 비디오 추천 모델입니다. 이는 전통적인 추천 시스템에서 볼 수 있는 복잡한 프레임워크 구조, 예를 들어 리콜, 대략적인 순위 매기기, 순위 매기기, 재순위 매기기 등의 단계가 필요 없다는 것을 의미합니다. OneRec의 개발 배경은 현재의 대형 언어 모델(LLMs)들의 성공에서 주로 영향을 받았습니다. 저자는 LLMs가 충분히 큰 데이터와 모델 크기를 가지고 있을 때 우수한 추론 결과를 얻을 수 있다는 점에 주목했습니다. 추천 분야에서도 데이터 부족은 문제가 되지 않으므로, 모델 크기를 충분히 확장하면 추천 모델도 좋은 성능을 낼 수 있다고 판단했습니다. 또한, 많은 유저를 다루는 추천 시나리오에서는 추천 파이프라인이 길어지고 여러 추천 팀이 서로 다른 목표와 최적화 과제를 가짐으로써 역사적인 부담과 혼란이 발생한다는 점도 고려되었습니다. 더불어, 여러 온라인 추천 모델의 GPU 자원 활용률이 매우 낮아 쓰지 못하는 자원이 많다는 문제도 있었습니다. 이러한 이유들로 인해 Kuaishou Short Video는 OneRec 모델을 개발하고 성공적으로 배포하였습니다. OneRec의 가장 큰 특징은 LLMs와 유사한 생성적 아키텍처를 채택한这一点입니다. 아이템은 더 이상 추천되지 않고 생성됩니다. OneRec는 아이템을 직접 생성하므로 리콜과 순위 매기기 단계가 필요하지 않아 진정한 end-to-end 추천이 가능합니다. OneRec의 전체 워크플로는 LLM 훈련과 상당히 유사합니다. 세 가지 핵심 구성 요소인 토크나이저, 인코더, 디코더와 후속 훈련을 위한 보상 시스템으로 이루어져 있습니다. 토크나이저는 수억 개의 아이템을 특정 방법으로 의미론적 ID로 분할하며, 이는 사실상 클러스터링 과정입니다. 인코더는 사용자의 다양한 행동 특징(예: 어떤 비디오를 봤는지, 머문 시간, 좋아요, 댓글 등)을 모델에 입력하여 모델의 이해를 강화합니다. 이 부분은 사실 전통적인 추천 모델이 특징을 쌓는 방식을 계승합니다. 디코더는 사용자의 프로필과 시청한 비디오의 시퀀스를 기반으로, 사용자의 선호도에 맞는 의미론적 ID 시퀀스를 단계별로 생성합니다. 이들은 이후 특정 아이템으로 매핑되어 추천됩니다. 대규모 추천 시나리오에서 아이템의 수는 수백만에서 수억까지 다양합니다. 아이템 ID를 직접 모델링하면 아이템 ID 임베딩에서 희박성이 발생할 수 있습니다. OneRec는 비디오의 자막, 태그, 자동 음성 인식(ASR), 광학 문자 인식(OCR), 썸네일 이미지, 그리고 5개의 균등 샘플링된 프레임을 miniCPM-V-8B라는 대형 모델에 입력하여 고차원 피처 벡터를 얻습니다. 그런 다음, QFormer라는 경량화된 모델을 사용하여 이 고차원 표현들을 압축합니다. 이는 정보를 유지하면서 후속 처리를 용이하게 합니다. 특히, 썸네일 이미지, 5개의 균등 샘플링된 프레임, 자막, 태그, ASR, OCR은 miniCPM-V-8B에 입력되어 ( M \in \mathbb{R}^{N_M \times d_t} ) (여기서 ( N_M = 1280 ), ( d_t = 512 ))를 얻습니다. 그런 다음, QFormer를 사용하여 ( M )를 압축하여 ( \tilde{M} \in \mathbb{R}^{N_{\tilde{M}} \times d_t} ) (여기서 ( N_{\tilde{M}} = 4 ))를 얻습니다. 이를 통해 각 비디오는 세 단계의 "대-중-소" 의미론적 코드 {s1m, s2m, s3m}로 표현됩니다. 이 코드 시스템은 범주적인 분류와 세부적인 스타일 및 선호도 차이를 모두 포괄할 수 있으며, 단일 서버가 수억 개의 비디오를 효율적으로 "토큰화"할 수 있게 합니다. 후속 추천 과정에서는 사용자의 관심과 가장 잘 맞는 의미론적 ID를 직접 생성하고 이를 특정 비디오로 다시 매핑하여 시스템 복잡성을 크게 줄일 수 있습니다. 인코더는 사용자 관련 특징 네 가지 유형을 통합합니다: 1. 정적 사용자 특징: 사용자 ID, 나이, 성별 등을 포함하며, 각 특징은 자체 임베딩을 가집니다. 2. 단기 행동 경로: 가장 최근의 20개 사용자 상호작용 기록(비디오 ID, 작성자 ID, 태그, 타임스탬프, 재생 시간, 전체 비디오 길이, 상호작용 라벨)을 처리합니다. 각 특징은 개별적으로 임베딩됩니다. 3. 긍정적 피드백 행동 경로: 좋아요, 팔로우 등의 높은 참여도를 나타내는 사용자 상호작용 시퀀스를 처리하며, 최대 길이는 256입니다. 4. 수명 주기 경로: 최대 100,000개 항목에 이르는 매우 긴 역사적 행동 시퀀스를 처리합니다. 먼저 임베딩을 매핑하고 연결한 다음, QFormer를 사용하여 추가 압축합니다. QFormer는 128개의 쿼리 벡터와 2개의 처리 레이어를 사용하여 최종 압축된 수명 주기 특징을 생성합니다. 이 모든 경로에서 출력된 특징을 인코더는 결합하고, 위치 인코딩을 추가한 후 표준 트랜스포머 인코더 레이어로 전달합니다. 각 레이어는 모든 위치가 서로 "참조"할 수 있도록 (전결합 자기 주의 메커니즘을 통해) 작은 규모의 전방향 연산을 수행합니다. 이런 다중 레이어 처리를 통해 OneRec는 단기적인 인기 요소와 장기적인 선호도를 모두 포함한 포괄적인 관심 표현을 얻을 수 있습니다. 이는 후속 개인화 추천의 기반이 됩니다. 디코더는 트랜스포머 디코더와 크게 다르지 않지만, 마지막 레이어는 빠른 추론을 위해 MoE (Mixture of Experts) 구조로 대체됩니다. 추론 과정에서는 시작 심볼(BOS)부터 사용자의 예상 클릭 시퀀스를 단계별로 추론합니다. 여기서 클릭 시퀀스는 사용자가 클릭한 비디오의 시퀀스로, 보통 5~10개 비디오를 포함합니다. 강화 학습을 통해 OneRec는 사용자의 관심에 맞는 아이템을 생성할 수 있습니다. 그러나 실제 추천 서비스는 복잡하며, 지속 시간, 클릭, 전환, 다양성 등의 요소를 고려해야 합니다. 이에 OneRec는 클릭, 좋아요, 시청 시간 등의 다양한 피드백을 "P-Score"로 통합하는 작은 신경망을 사용하고, 이를 기반으로 ECPO (Early Clipped GRPO) 알고리즘을 사용하여 모델을 지속적으로 최적화합니다. ECPO는 GRPO와 유사하지만, 부정적인 개선으로 인해 발생하는 그래디언트 폭발을 막기 위해 하이퍼파라미터 (\lambda) (논문에서는 0.1로 설정)를 추가하여 안정적인 훈련을 보장합니다. OneRec는 강화 학습에서 "압축 효과"라는 현상을 언급합니다. 이는 모델의 확률 분포 변화로 인해 일부 원래 고확률의 유효한 의미론적 ID의 생성 확률이 무효한 의미론적 ID와 거의 같은 수준으로 압축되는 현상을 말합니다. 이는 부정적인 보상으로 모델을 훈련할 때 특히 발생하며, 낮은 보상 아이템을 생성할 확률을 줄이기 위해 모델이 확률 분포를 조정하는 과정에서 유효한 의미론적 ID의 생성 확률이 과도하게 압축될 수 있기 때문입니다. ECPO는 Early-Clipping 기술을 통해 부정적인 보상 샘플의 정책 그래디언트를 제한하여 그래디언트 폭발을 막지만, 여전히 유효한 의미론적 ID의 확률 압축 문제를 완전히 해결하지는 못합니다. 이를 해결하기 위해 OneRec는 강화 학습에서 형식 보상 메커니즘을 도입하여 모델이 유효한 의미론적 ID를 생성하도록 격려합니다. OneRec의 훈련 과정은 사전 훈련과 후속 훈련으로 나뉩니다. 사전 훈련 단계에서는 사용자 행동 표현이 입력되고, 목표 사용자의 아이템 시퀀스가 출력됩니다. 각 목표 아이템은 3단계의 의미론적 ID, 즉 3개의 토큰에 해당합니다. OneRec의 비즈니스 시나리오에서는 하루에 180억 개의 샘플을 생성하며, 이는 디코더에서 540억 개의 토큰에 해당합니다. 0.935B 크기의 OneRec 모델은 수렴하기 위해서 약 1000억 개의 샘플이 필요합니다. 후속 훈련에는 실시간 데이터를 이용한 온라인 훈련, 거부 샘플링 미세 조정, 강화 학습이 포함됩니다: 1. 거부 샘플링: 재생 시간이 가장 짧은 50%의 샘플을 필터링합니다. 2. 강화 학습: 거부 샘플링된 데이터에서 무작위로 1%의 사용자를 선택하여 강화 학습 샘플을 생성합니다. 이 사용자들은 512개의 아이템을 생성하고, RM(보상 모델)에 의해 점수가 매겨진 후 RL 모델로 훈련됩니다. 성능 면에서 보면, 순수 OneRec의 모델 개선은 그리 크지 않지만, RM(보상 모델)을 추가한 후 성능이 크게 향상되었습니다. 그러나 RM은 실질적으로 전통적인 추천 미세 조정 모델과 유사한 보상 모델에 의존하므로, 실제로는 생성 모델이 전통적인 추천 미세 조정 모델의 그림자에서 완전히 벗어나지는 않았습니다. 그럼에도 불구하고, OneRec는 미세 조정 모델보다 더 우수한 성능을 보였습니다. 특히, Kuaishou의 지역 생활 서비스 시나리오에서는 OneRec가 GMV를 21.01%, 주문 수를 17.89%, 구매 사용자 수를 18.58% 증가시켰으며, 신규 고객 획득 효율은 23.02% 증가했습니다. 업계 내부자들은 OneRec가 대형 언어 모델의 성공을 바탕으로 한 획기적인 접근 방식으로 평가하고 있습니다. 이 모델은 복잡한 추천 파이프라인을 단순화함으로써 시스템의 효율성을 크게 향상시키고, GPU 자원 활용률을 높이며, 다양한 비즈니스 목표를 효과적으로 지원합니다. Kuaishou는 이러한 혁신적인 기술을 통해 사용자 경험을 개선하고, 플랫폼의 성장을 가속화하고 있습니다.