SOLAR: SVD-Optimized Lifelong Attention for Recommendation

이 논문은 추천 시스템의 긴 시퀀스 모델링 문제를 해결하기 위해 저랭크 행렬 구조를 활용한 SVD-Attention 을 기반으로 한 SOLAR 프레임워크를 제안하며, 이를 통해 계산 복잡도를 획기적으로 낮추면서도 Kuaishou 의 온라인 환경에서 비디오 조회수 등 주요 비즈니스 지표를 유의미하게 개선했음을 보여줍니다.

Chenghao Zhang, Chao Feng, Yuanhao Pu, Xunyong Yang, Wenhui Yu, Xiang Li, Yongqi Liu, Lantao Hu, Kaiqiao Zhan, Han Li, Kun Gai

게시일 2026-03-04
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

1. 문제 상황: "기억력이 너무 좋은 사람"의 딜레마

상상해 보세요. 당신이 친구를 소개해 주는 추천 시스템이라고 합시다.

  • 과거 방식 (기존 기술): 친구가 "지난 10,000 일 동안 본 모든 영화"를 기억하고 있습니다. 그런데 친구가 "오늘 이 3,000 개의 영화 중 무엇을 볼까?"라고 물어보면, 당신은 10,000 개의 과거 영화3,000 개의 후보 영화를 하나하나 비교하며 "어? 이 친구는 3 년 전 A 영화를 봤는데, 지금 B 영화를 추천하면 어떨까?"라고 계산합니다.
  • 문제점: 이렇게 모든 것을 다 비교하면 계산량이 엄청나게 많아집니다. (수학적으로 N2N^2에 비례해서 늘어납니다.) 그래서 실제로는 10,000 개를 다 기억하지 못하고, "최근 50 개만 기억하자"거나 "유사한 것만 골라보자"라고 일부러 기억을 잘라내거나 필터링을 씁니다. 하지만 이렇게 하면 중요한 '오래된 취향'이나 '희귀한 취향'을 놓칠 수 있습니다.

2. 기존 해결책의 함정: "계산은 빠르지만, 맛이 달라진 요리"

연구자들은 "계산량을 줄이자!"라고 해서 새로운 방법을 시도했습니다.

  • 선형 주의 (Linear Attention): 모든 것을 다 비교하는 대신, "대략적인 느낌"으로만 계산하는 방식입니다. 계산은 빨라졌지만, **소프트맥스 (Softmax)**라는 중요한 재료를 빼먹었습니다.
  • 비유: 마치 "요리를 빨리 하려고 불을 끄고 찬밥을 먹자"는 것과 같습니다. 속도는 빠르지만, 원래의 맛 (정확한 선호도) 이 사라져서 추천이 매끄럽기만 하고 강렬한 취향이 사라지는 문제가 생깁니다.

3. SOLAR 의 핵심 아이디어: "불필요한 정보는 버리고, 핵심만 잡자"

이 논문은 **"사용자의 행동 데이터는 사실 중복된 정보가 많아서, 핵심만 뽑아내도 똑같은 결과가 나온다"**는 사실을 발견했습니다.

  • 핵심 발견 (저랭크 구조): 사용자가 10,000 개의 영상을 봤다고 해도, 그중에서 진짜 중요한 '취향의 핵심'은 고작 27 개 정도에 불과할 수 있습니다. (논문의 그림 1 참조) 마치 10,000 장의 사진이 있지만, 그 사진들의 공통된 주제는 '산', '바다', '사람' 세 가지뿐인 것과 같습니다.
  • SVD-Attention (핵심 기술): 이 기술은 **SVD(특이값 분해)**라는 수학적 도구를 써서, 10,000 개의 데이터를 핵심 27 개로 압축합니다.
    • 비유: 10,000 페이지의 두꺼운 책을 읽을 때, **목차와 핵심 요약 (27 페이지)**만 읽어도 책의 전체 내용을 99% 이해할 수 있다면, 굳이 10,000 페이지를 다 읽을 필요가 없죠? SOLAR 는 이렇게 핵심 요약만 보고도 원본과 똑같은 결론을 내립니다.
    • 장점: 계산 속도는 수천 배 빨라지지만, 원래의 '맛 (소프트맥스 방식의 정확한 선호도)'은 그대로 유지됩니다.

4. SOLAR 의 두 가지 혁신

이 기술이 적용된 SOLAR 시스템은 두 가지 면에서 혁신적입니다.

① "기억력"의 확장 (Lifelong Attention)

  • 과거: "최근 50 개만 기억해." (필터링 필요)
  • SOLAR: "지난 10,000 개를 다 기억해." (필터링 불필요)
  • 결과: 사용자가 10 년 전부터 좋아했던 취향까지 놓치지 않고, 10,000 개의 과거 기록을 3,000 개의 후보 영화와 비교해도 순식간에 추천해 줍니다.

② "경쟁"을 고려한 추천 (Set-wise Modeling)

  • 과거: "이 영화는 80 점, 저 영화는 70 점." (각각 독립적으로 점수 매김)
    • 문제: 두 영화가 비슷하면 둘 다 80 점일 수 있어, 어떤 걸 고를지 결정하기 어렵습니다.
  • SOLAR: "이 3,000 개의 영화 중에서 서로 경쟁했을 때 누가 이길까?"를 봅니다.
    • 비유: 시험에서 A 학생이 90 점, B 학생이 80 점이라고 해서 A 가 무조건 좋은 게 아닙니다. **반 전체 (후보군)**를 놓고 비교했을 때 A 가 더 돋보이면 A 를 추천합니다. 이렇게 **경쟁 관계 (Set-wise)**를 고려해야 사용자가 실제로 클릭할 확률이 높아집니다.

5. 실제 성과: 카카오톡 (카카오) 의 사례

이 기술은 **카카오 (Kuaishou)**라는 거대한 동영상 플랫폼에서 실제로 적용되었습니다.

  • 결과: 비디오 조회수 (Views) 가 0.68% 증가했습니다.
  • 의미: 거대 플랫폼에서 0.1% 만 올라도 엄청난 수익과 사용자 만족도로 이어집니다. 또한, 서버 비용은 줄이고 속도는 빨라졌습니다.

요약: 한 문장으로 정리하면?

"SOLAR 는 사용자의 방대한 과거 기록 (10,000 개) 을 '핵심 요약본'으로 압축하여, 기존 기술보다 훨씬 빠르고 정확하게, 동시에 모든 후보작을 경쟁시켜서 최적의 추천을 해주는 기술입니다."

이 기술은 앞으로 우리가 유튜브나 넷플릭스에서 더 오래, 더 다양한 콘텐츠를 만나면서도, 시스템이 느려지지 않고 더 똑똑해지도록 도와줄 것입니다.