← 최신 논문
🤖 machine learning

UniPinRec: Unifying Generative Retrieval and Ranking at Pinterest Scale

UniPinRec는 검색(retrieval)과 랭킹(ranking)을 공유된 입력, 학습 및 서빙 인프라를 갖춘 단일 트랜스포머 기반 파이프라인으로 완전히 통합한 최초의 프로덕션 시스템으로, 핀터레스트 규모에서 상당한 참여도 증가와 효율성 개선을 달성했습니다.

원저자: Hanyu Li, Yi-Ping Hsu, Aditya Mantha, Prabhat Agarwal, Laksh Bhasin, Jialu Wang, Hongtao Lin, Bella Huang, Yaxin Li, Xinyi Li, Chuxi Wang, Kousik Rajesh, Hooshmand Shokri Razaghi, Shunyao Li, Zongyue
게시일 2026-06-02
📖 3 분 읽기☕ 가벼운 읽기

원저자: Hanyu Li, Yi-Ping Hsu, Aditya Mantha, Prabhat Agarwal, Laksh Bhasin, Jialu Wang, Hongtao Lin, Bella Huang, Yaxin Li, Xinyi Li, Chuxi Wang, Kousik Rajesh, Hooshmand Shokri Razaghi, Shunyao Li, Zongyue Qin, Jaewon Yang, James Li, Dhruvil Deven Badani, Jiajing Xu, Charles Rosenberg

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

Pinterest를 수십억 개의 책(핀)이 있는 거대하고 북적이는 도서관이라고 상상해 보세요. 여러분이 도서관에 들어설 때, 도서관은 두 가지 일을 매우 빠르게 수행해야 합니다:

  1. 검색(Retrieval): 여러분이 흥미를 느낄 만한 책 몇 천 권을 찾기 위해 도서관 전체를 훑습니다.
  2. 랭킹(Ranking): 그 몇 천 권의 책을 가져와서, 내용을 꼼꼼히 읽고 여러분에게 보여줄 완벽한 순서로 정렬합니다.

과거 방식: 두 명의 별개 사서

오랫동안 Pinterest는 이 두 가지 일을 하기 위해 두 명의 서로 다른 "사서"(AI 모델)를 사용했습니다.

  • 사서 A (검색): 속도광입니다. 도서관 전체를 빠르게 훑었지만, 책을 깊이 있게 읽지는 않았습니다. 그저 잠재적인 매칭 아이템들을 큰 더미로 집어 올렸을 뿐입니다.
  • 사서 B (랭킹): 꼼꼼한 독서가입니다. 그 더미를 가져와서 모든 책을 상세히 읽고 완벽하게 분류합니다.

문제점: 두 사서는 모두 여러분의 과거 행동(클릭, 저장 또는 숨기기 등)에 대한 동일한 기록을 읽고 있었습니다. 두 사서는 각자 따로 여러분의 이력을 "기억"하는 무거운 작업을 수행했습니다. 이는 마치 두 개의 서로 다른 리스트를 만들기 위해 두 사람이 똑같은 전화번호부를 각각 암기하도록 고용한 것과 같았습니다. 이는 돈, 컴퓨터 자원, 그리고 시간을 낭비하는 일이었습니다.

새로운 솔루션: UniPinRec (슈퍼 사서)

이 논문은 검색과 랭킹이라는 두 가지 일을 하나의 뇌, 하나의 기록, 하나의 워크플로우를 사용하여 동시에 수행하는 단일 "슈퍼 사서"인 UniPinRec를 소개합니다.

그들이 이 데모를 구현하기 위해 사용한 세 가지 영리한 기술은 다음과 같습니다.

1. "마스크 액션(Masked Action)" 기술 (MAM)

보통 "검색" 사서는 여러분이 좋아했던 아이템 목록만 봅니다. 하지만 "랭킹" 사서는 여러분이 그 아이템들로 무엇을 했는지(클릭했는지, 저장했는지, 숨겼는지?)를 알아야 합니다.

  • 과거의 문제: 만약 "무엇을 했는지"에 대한 정보를 리스트에 섞어 넣으면, 검색 사서의 속도가 떨어집니다.
  • UniPinRec의 해결책: 그들은 "마스킹(Masking)" 기술을 사용합니다. 사서가 여러분의 이력 리스트를 가지고 있다고 상상해 보세요. 그들은 "무엇을 했는지"를 나타내는 부분을 포스트잇으로 가려버립니다(마스킹).
    • 사서는 아이템을 바탕으로 당신이 무엇을 했는지 추측하는 법을 배웁니다.
    • 이를 통해 사서는 리스트가 너무 길어지거나 혼란스러워지지 않으면서도, 아이템을 찾는 법(검색)과 아이템을 판단하는 법(랭킹)을 모두 배울 수 있습니다. 이는 마치 주차 브레이크를 채운 상태에서 운전 연습을 함으로써 운전과 주차를 동시에 배우는 것과 같습니다.

2. "공유 메모리" 기술 (KV Cache Reuse)

이것은 가장 큰 속도 향상 요소입니다.

  • 과거의 문제: 랭킹 사서가 업무를 시작할 때, 자신이 누구인지 이해하기 위해 여러분의 전체 이력을 처음부터 다시 읽어야 했습니다.
  • UniPinRec의 해결책: 검색 사서가 먼저 여러분의 이력을 읽는 힘든 일을 수행합니다. 그리고 그 노트를 버리는 대신, 랭킹 사서에게 전달합니다.
    • 랭킹 사서는 이력을 다시 읽지 않고, 첫 번째 사서가 이미 작성해 둔 노트를 보기만 하면 됩니다.
    • 비유: 이는 채소를 모두 다지는 요리사가 채소를 다 만든 뒤, 소스만 추가하면 되는 보조 요리사에게 그릇을 건네주는 것과 같습니다. 보조 요리사는 채소를 다시 다질 필요가 없습니다. 이 방식은 엄청난 시간 절약을 가능하게 합니다.

3. "혼합 학습(Blended Training)" 기술

모델을 "찾는 사람"으로 먼저 훈련시킨 다음 나중에 "분류하는 사람"으로 훈련시키는 대신, 이들은 두 가지를 동시에 수행하도록 훈련시켰습니다.

  • 그들은 모델에게 "당신이 좋아했던 이력"과 "보았지만 클릭하지 않은 목록"이 모두 포함된 예시를 제공했습니다.
  • 이를 통해 모델은 아이템을 판단하는 법을 알기에 더 나은 '찾는 사람'이 되었고, 아이템을 찾는 법을 알기에 더 나은 '판단자'가 되도록 학습되었습니다.

결과: 더 빠르고, 더 똑똑하며, 더 저렴하게

이 슈퍼 사서를 실제 Pinterest 앱에 적용했을 때, 결과는 인상적이었습니다:

  • 더 나은 추천: 사용자들은 더 많은 핀을 저장하고 더 많은 알림을 열었습니다. "찾는 사람"과 "분류하는 사람"이 서로 대화하고 있었기 때문에 시스템이 더 좋은 아이템을 찾아냈습니다.
  • 더 빠른 속도: 사용자의 이력을 다시 읽는 과정을 없앴기 때문에, 시스템 전체 속도가 11% 빨라졌습니다.
  • 더 많은 용량: 시스템은 속도 저하 없이 동시에 63% 더 많은 사용자를 처리할 수 있었습니다.

요약

UniPinRec는 두 개의 별도 부서를 하나의 효율적인 팀으로 합치는 것과 같습니다. 동일한 "두뇌"(모델), 동일한 "노트"(사용자 이력), 동일한 "워크플로우"를 공유함으로써, Pinterest는 컴퓨터 비용을 절감하고, 앱을 더 빠르게 만들며, 사람들이 실제로 원하는 콘텐츠를 보여줍니다. 그들은 전체 도서관 시스템을 교체한 것이 아니라, 기존의 사서들이 완벽하게 협력하도록 만든 것입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →