recommendation-systems

15 개의 포스트

meta5분 읽기큐레이션 요약

사용자 시퀀스에서 스케일링 법칙까지: Meta 광고 순위를 위한 다단계 아키텍처

Meta는 사용자 행동의 순서와 시간 정보를 활용하는 시퀀스 학습을 광고 추천 시스템에 확장하기 위해 두 가지 구조적 혁신을 제시한다. 첫째, 오프라인 사용자 모델과 온라인 랭킹 모델을 분리해 긴 사용자 이력을 효율적으로 처리하고, 둘째, dense tokenization과 target-aware attention으로 광고와 사용자 행동 간 상호작용을 모델이 직접 학습하도록 했다. 이 플랫폼은 Instagram 전환율 6%, Facebook 전환율 3%, Facebook 광고 클릭률 3.5%의 누적 향상에 기여했으며, Meta의 GEM(Generative Ads Recommendation Model)의 핵심 요소로 활용되고 있다. ## 기존 시퀀스 모델의 한계 - 광고 추천 시스템은 밀리초 단위로 수천 개의 광고를 검색·순위화해야 하며, 초당 수백만 개의 후보를 처리해야 한다. - 기존 방식은 보통 다음과 같은 하이브리드 구조를 사용했다. - 한 모델은 사용자 행동 시퀀스를 처리한다. - 다른 모델은 희소 피처 간 상호작용을 처리한다. - 이 구조는 운영 효율성은 높지만 다음과 같은 문제가 있다. - 두 모델 사이의 지식 전달이 손실될 수 있다. - 희소 피처를 조합하기 위한 수작업 피처 엔지니어링이 계속 필요하다. - 시퀀스 모델과 랭킹 모델의 규모를 동시에 키울 때 서로 간섭해 확장성이 제한된다. - 시퀀스 길이와 Transformer 규모를 키울수록 모델 복잡도와 실시간 추론 비용 사이의 균형을 맞추기 어려워진다. ## 오프라인 사용자 모델과 온라인 랭킹 모델의 분리 - 다단계 시퀀스 모델은 무거운 사용자 모델링과 실시간 광고 순위화를 두 단계로 분리한다. - 오프라인 사용자 모델 - 사용자의 긴 행동 이력을 비동기적으로 처리한다. - 수천 개 수준의 시퀀스 길이와 여러 Transformer 레이어를 사용할 수 있다. - 사용자 행동에서 장기적인 관심사와 패턴을 추출해 사용자 임베딩을 생성한다. - 계산 결과는 사용자 단위로 미리 계산하고 캐시한다. - 광고 후보나 특정 문맥 정보와 분리해, 특정 광고에 종속되지 않는 사용자 표현을 만든다. - 온라인 랭킹 모델 - 캐시된 사용자 임베딩에 최신 사용자 신호와 광고 후보 정보를 결합한다. - 실시간 요청에서 최종 광고 순위를 계산한다. - 엄격한 지연 시간 예산을 만족하도록 가볍고 빠르게 설계된다. - 이 분리를 통해 오프라인 모델의 용량과 복잡도는 크게 늘리면서도 온라인 서빙 비용과 지연 시간의 급증을 피할 수 있다. ## Dense Tokenization으로 희소 피처 통합 - 기존 추천 시스템은 희소 ID 피처 간 상호작용을 표현하기 위해 사람이 직접 조합 피처를 설계하는 경우가 많았다. - Dense tokenization은 희소 피처와 순차적 행동 데이터를 하나의 조밀한 토큰 어휘로 통합한다. - 통합된 토큰 표현을 사용하면 attention 메커니즘이 데이터에서 직접 피처 간 관계를 발견할 수 있다. - 결과적으로 다음과 같은 장점이 있다. - 수작업으로 정의한 교차 피처에 대한 의존도가 낮아진다. - 사용자 행동, 광고 속성, 문맥 정보 사이의 복잡한 관계를 통합적으로 학습할 수 있다. - 시퀀스 모델이 전통적인 희소 피처 모델의 역할까지 흡수할 수 있다. ## Target-Aware Multi-Head Attention - 사용자 행동 시퀀스와 광고 후보 정보를 함께 토큰화한 뒤, 광고별로 사용자 과거 행동의 중요도를 다르게 계산한다. - 각 attention 레이어는 현재 평가 중인 광고를 기준으로 사용자의 과거 행동을 참조한다. - 여러 개의 정렬된 attention 블록을 쌓아 다음을 수행한다. - 광고와 과거 행동 사이의 1차 상호작용을 학습한다. - 이후 레이어에서 더 높은 차원의 상호작용을 포착한다. - 긴 사용자 시퀀스를 광고별로 중요한 정보만 포함한 압축 표현으로 점진적으로 변환한다. - 이 방식은 모든 광고에 동일한 사용자 표현을 사용하는 대신, 각 광고 후보에 맞는 사용자 관심사 표현을 생성한다. ## 예측 가능한 LLM 스타일 확장 법칙 - 실제 광고 트래픽에서 모델 성능은 계산량(FLOPs)이 증가할수록 로그-선형적으로 향상되는 경향을 보였다. - 이는 대규모 언어 모델에서 관찰된 scaling law와 유사하다. - 성능은 다음 요소를 확장할 때 측정됐다. - Transformer 깊이 - 모델 폭 - 사용자 시퀀스 길이 - 콘텐츠·의미 정보의 풍부함 - 기존 Transformer 기반 시퀀스 모델보다 계산량 증가에 따른 확장 효율도 개선됐다. - 광고 추천은 텍스트처럼 조밀한 데이터만 처리하지 않고 희소 ID 피처와 시간 순서 정보를 함께 다루지만, 그럼에도 예측 가능한 확장 법칙이 나타났다는 점이 아키텍처의 적합성을 뒷받침한다. ## 성능 확장을 위한 네 가지 조절 요소 ### 균형 잡힌 모델 구조 - 깊이, 폭, 시퀀스 길이를 균형 있게 확장해야 한다. - 한 축만 키우면 다른 축이 병목이 되어 성능 향상이 둔화될 수 있다. - 이는 모델 확장에서 각 구성 요소 간의 시너지가 필요하다는 “scaling synergy principle”로 설명된다. ### 다단계 모델의 독립적 조정 - 오프라인 사용자 모델과 온라인 랭킹 모델을 서로 독립적으로 확장할 수 있다. - 온라인 모델 확장은 단위 계산량당 더 큰 성능 향상을 가져올 수 있지만, 요청 처리 시간과 서빙 지연 시간에 제한된다. - 오프라인 모델은 비동기 추론이 가능하므로 지연 시간 제약 없이 모델 규모를 점진적으로 키울 수 있다. ### 시퀀스 구성의 다양성 - 더 긴 사용자 행동 시퀀스를 사용할수록 성능이 향상된다. - 단순히 유사한 유형의 행동을 많이 넣는 것보다 다양한 행동 유형을 균형 있게 포함하는 것이 더 효과적이다. - 즉, 시퀀스의 길이뿐 아니라 행동 데이터의 다양성이 사용자 의도와 관심사를 표현하는 데 중요하다. ### 모델·데이터 확장의 결합 - 광고 추천에서는 모델 크기만 키우는 것으로 충분하지 않다. - 희소 피처, 의미 정보, 사용자 행동의 시간적 범위와 다양성을 함께 확장해야 한다. - 다단계 구조는 각 확장 요소가 온라인 비용과 오프라인 비용에 미치는 영향을 분리해 조정할 수 있게 한다. ## 실용적인 결론 대규모 추천 시스템에서는 모든 계산을 실시간으로 수행하기보다, 긴 사용자 이력은 오프라인에서 깊게 모델링하고 실시간 단계에서는 캐시된 표현과 최신 광고 신호를 결합하는 구조가 효과적이다. 또한 수작업 피처 조합을 계속 늘리기보다 dense tokenization과 target-aware attention을 통해 모델이 광고별 사용자 행동 상호작용을 직접 학습하도록 설계하는 것이 확장성과 성능 향상에 유리하다.

원문 읽기(새 탭에서 열림)
meta5분 읽기큐레이션 요약

GEM 트레이닝: Meta가 LLM 규모의 광고 파운데이션 모델 효율성을 두 배로 높인 방법

Meta의 GEM은 Instagram과 Facebook 광고 추천을 담당하는 기반 모델로, 최신 GPU 수천 장을 활용해 LLM 규모로 학습된다. Meta는 추천 시스템에 특화된 커널·초저정밀도·병렬화·네트워크·메모리를 함께 설계해 12개월 동안 학습 FLOPs를 4배 늘리면서 E2E 학습 효율을 20~25% MFU까지, 기존 대비 2배 향상했다. 핵심 결론은 LLM용 인프라를 그대로 적용하는 것만으로는 부족하며, 추천 모델의 데이터와 구조에 맞춘 하드웨어·소프트웨어 공동 설계가 필요하다는 것이다. ## GEM의 하이브리드 구조와 추천 데이터의 특성 - GEM은 Meta 광고 시스템의 중앙 추천 파운데이션 모델이다. - 수조 개의 희소 임베딩 파라미터와 수십억 개의 밀집 파라미터를 함께 사용한다. - 입력 데이터는 크게 두 종류다. - **시퀀스 특징**: 사용자의 활동 이력처럼 순서가 있는 데이터 - **비시퀀스 특징**: 사용자 위치, 광고 크리에이티브 표현 등 - 각 특징 그룹에는 별도의 어텐션 메커니즘을 적용하면서도, 서로 다른 특징 간 상호작용을 학습한다. - 이처럼 LLM과 추천 시스템의 구조가 결합되어 있어 일반적인 LLM 학습보다 GPU 활용과 분산 확장이 어렵다. ## 추천 모델에서 높은 GPU 활용률이 어려운 이유 - **가변적인 시퀀스 길이** - 사용자 활동 이력의 길이가 샘플마다 크게 다르다. - 모든 입력을 최대 길이에 맞춰 패딩하면 최대 50%의 연산이 낭비될 수 있다. - **비대칭적인 어텐션 형태** - 긴 활동 이력에 대해 긴 시퀀스와 짧은 어텐션 윈도우를 사용하는 self-attention - 긴 쿼리와 짧은 key/value를 사용하는 사용자-광고 cross-attention - 사용자 이력을 압축해 짧은 쿼리와 긴 key/value를 만드는 PMA - 이런 다양한 행렬 형태는 GPU 내부 파이프라이닝과 연산 유닛 포화를 어렵게 만든다. - **메모리 대역폭 중심 연산** - 작은 임베딩 차원의 MLP와 여러 정규화 연산은 계산량보다 메모리 접근의 영향을 크게 받는다. - 따라서 Tensor Core 등 GPU 연산 자원이 충분히 활용되지 않을 수 있다. - **정밀도 변화에 대한 민감성** - CTR·CVR 예측은 수치 변화에 민감하다. - 단순히 낮은 정밀도를 적용하면 모델 품질이 저하될 수 있어, 연산별로 정밀도를 신중하게 선택해야 한다. ## 수천 개 GPU로 확장할 때의 병목 - GEM의 학습 단계 지연 시간은 다음과 같이 결정된다. `E2E 지연 시간 = 각 GPU rank에서의 max(로컬 연산 시간, 통신 시간)` - 선형에 가까운 확장을 위해서는 다음 조건이 필요하다. - 전체 연산 시간이 통신 시간보다 충분히 커야 한다. - 통신을 연산 뒤에 숨기되 두 작업이 자원을 놓고 경쟁하지 않아야 한다. - 메모리 부족으로 인한 activation recomputation을 최소화해야 한다. - GPU rank 간 부하가 균등해야 한다. - GEM에서는 다음 문제가 이를 방해한다. - 수조 개 희소 파라미터와 수십억 개 밀집 파라미터가 큰 통신량을 만든다. - 레이어별 구조가 달라 연산과 통신을 겹칠 수 있는 시간이 일정하지 않다. - 긴 시퀀스와 큰 activation 때문에 메모리가 부족해 재계산이 발생한다. - 가변 시퀀스 길이로 인해 GPU마다 처리량이 달라지는 부하 불균형과 straggler가 생긴다. ## E2E MFU를 연산 효율과 확장 효율로 분해 - 전체 학습 효율은 다음 두 요소의 곱으로 정의한다. `E2E MFU = Local MFU × Scaling Ratio` - **Local MFU** - 단일 GPU의 연산 유닛을 얼마나 잘 활용하는지를 나타낸다. - 커널 설계, 수치 정밀도, 시퀀스 길이와 데이터 차원이 GPU 구조에 얼마나 잘 맞는지에 좌우된다. - **Scaling Ratio** - 단일 GPU 성능이 수천 개 GPU로 확장된 뒤 얼마나 유지되는지를 의미한다. - 1.0이면 완전한 선형 확장이지만, 실제로는 통신 오버헤드·부하 불균형·straggler·activation 재계산 때문에 낮아진다. - Meta는 레이어를 단일 GPU에서 개별 실행해 Local MFU를 측정하고, 통신과 activation 재계산의 영향을 제외한 기준 성능을 산출했다. - 이후 Local MFU와 E2E MFU의 비율을 통해 Scaling Ratio를 계산해 연산 병목과 분산 시스템 병목을 분리했다. ## GPU 연산 효율을 높인 맞춤형 커널과 정밀도 - 추천 모델의 비정형적인 입력과 어텐션 패턴에 맞춰 자체 추천용 커널 라이브러리를 개발했다. - 주요 커널은 다음과 같다. - **Jagged Flash Attention(JFA)**: 가변 길이 시퀀스를 패딩 낭비 없이 처리 - **Generalized Dot-Product Attention(GDPA)**: 추천 모델의 다양한 어텐션 형태에 대응 - **BlockAttention**: 블록 단위 연산으로 메모리 접근과 GPU 활용을 최적화 - 최신 GPU 아키텍처를 직접 활용하도록 커널을 설계해 추천 워크로드의 낮은 활용률을 개선했다. - 어텐션과 MLP에는 **MXFP8**을 포함한 혼합 초저정밀도 학습을 적용했다. - 모든 연산을 무조건 낮은 정밀도로 처리하지 않고, 광고 예측 품질에 민감한 특성을 고려해 연산별로 정밀도와 안정성을 조정했다. ## 네트워크와 결합한 5차원 병렬화 - 대규모 학습에서는 병렬화 방식 자체뿐 아니라 GPU와 네트워크 토폴로지의 매핑이 중요하다. - GEM은 네트워크 계층 구조를 고려한 **토폴로지 인지형 5D 병렬화**를 적용했다. - 밀집 파라미터에는 다음 조합을 사용했다. - 2D FSDP - Expert Parallelism - 희소 파라미터에는 **Fully Sharded 2D Model Parallelism**을 적용했다. - 통신 집단 연산은 GPU의 Streaming Multiprocessor(SM)를 점유하지 않는 방식으로 설계했다. - 통신이 연산 자원을 직접 빼앗지 않도록 해 연산과 통신의 충돌을 줄인다. - Meta의 다계층 네트워크 구조와 병렬화 전략을 함께 설계해 통신량과 통신 노출 시간을 줄였다. ## 성과와 설계 원칙 - 12개월 동안 총 학습 FLOPs를 4배로 확대했다. - 동시에 E2E 학습 효율을 2배 높여 20~25% MFU를 달성했다. - 성능 개선은 단일 기법이 아니라 다음 요소들의 결합으로 이루어졌다. - 추천 특화 커널 - 혼합 초저정밀도 - 희소·밀집 파라미터별 병렬화 - 네트워크 토폴로지 최적화 - SM 비점유 통신 - 메모리와 부하 균형 관리 추천 모델을 LLM 규모로 확장하려면 LLM 인프라를 그대로 복사하기보다, 가변 길이·희소 임베딩·비대칭 어텐션·정밀도 민감성 같은 도메인 특성을 먼저 분석해야 한다. 특히 단일 GPU의 커널 효율과 수천 GPU의 통신·메모리 효율을 별도의 문제로 측정하고 동시에 최적화하는 접근이 효과적이다.

원문 읽기(새 탭에서 열림)
netflix5분 읽기큐레이션 요약

GenRec: 넷플릭스에서 LLM 네이티브 추천을 향하여

Netflix의 GenRec은 사용자 이력과 콘텐츠 메타데이터를 자연어로 표현하고, Netflix에 맞게 후처리 학습한 LLM을 추천 랭커로 활용하는 시스템이다. 기존의 대규모 수작업 피처와 특화 아키텍처 의존도를 줄이면서도, 카탈로그 인식 점수 헤드와 보상 신호를 통해 개인화·장기 사용자 가치·비즈니스 제약을 반영한다. 대규모 A/B 테스트에서 기존 랭커보다 단기 및 장기 지표를 유의미하게 개선했으며, 더 적은 라벨 데이터와 입력 신호만으로도 경쟁력 있는 성능을 보였다. ## 기존 추천 시스템의 복잡성과 LLM의 가능성 - Netflix의 기존 모델은 사용자·아이템·상호작용에 대한 수천 개의 수작업 피처를 사용한다. - 시퀀스 모델링, 피처 상호작용, 멀티태스크 학습 등 다양한 특화 구조가 콘텐츠 유형과 제품 화면별로 구축되어 있다. - 새로운 콘텐츠 유형이나 추천 화면을 추가하려면 피처 설계, 모델 구조, 인프라, 실험을 함께 변경해야 한다. - LLM은 사용자 이력과 아이템 정보를 텍스트로 통합하고, 자연어 기반의 의미 관계와 추천 조건을 표현할 수 있다. - 하지만 일반 LLM은 인기 콘텐츠 편향, 카탈로그에 없는 아이템 생성, 비즈니스 제약 무시, 부족한 개인화 등의 문제가 있다. ## GenRec의 추천 문제 정의 - 사용자 \(u\), 컨텍스트 \(\tau\), 시간 \(t\), 상호작용 이력 \(H\)를 입력으로 받아 Netflix 전체 카탈로그 \(C\)의 순위 \(\pi\)를 생성한다. - 컨텍스트에는 기기, 화면, 지역, 시간 등이 포함된다. - 후보군이 주어지면 Top-K 순위를 만들고, 후보군이 없으면 전체 카탈로그를 대상으로 순위를 계산한다. - 단순 클릭이나 재생 수가 아니라 만족도와 유지율을 대변하는 장기적 회원 효용을 최적화한다. ## 2단계 학습 구조 ### Netflix 맞춤형 기반 LLM - 오픈소스 LLM을 Netflix의 독점 데이터로 적응시킨다. - Netflix 콘텐츠 이해, 회원 행동과 선호 패턴, 일반적인 언어 이해 능력을 학습한다. - 여러 애플리케이션이 공유하는 Netflix 인식 기반 모델로 사용된다. - 콘텐츠 변화에 맞춰 자주 갱신하기보다는 비교적 드물게 업데이트된다. ### GenRec 후처리 학습 - 기반 LLM을 추천 순위화와 제어에 특화된 모델로 전환한다. - 랭킹 데이터와 복수의 보상 신호를 사용한다. - 새로운 콘텐츠와 변화하는 취향을 반영하기 위해 더 자주 갱신한다. - Netflix의 LLM 서빙 비용과 지연시간을 고려해 최적화한다. ## 상호작용 로그를 대화 데이터로 변환 - Netflix의 조회, 재생 시간, 좋아요·싫어요, 찜하기, 중단 등 방대한 이벤트를 추천 대화 형식으로 변환한다. - 사용자 메시지에는 다음 정보가 포함된다. - 현재 화면과 기기 같은 컨텍스트 - 사용자 프로필과 과거 이력 - 아이템 메타데이터 - “다음에 시청하거나 좋아요를 누를 콘텐츠를 추천하라”와 같은 과제 - 어시스턴트 메시지에는 실제 회원 행동이 기록된다. - 어떤 콘텐츠를 재생했는지 - 얼마나 오래 시청했는지 - 어떤 피드백을 남겼는지 - 학습 시에는 언어 모델링과 추천 랭킹을 함께 지원하지만, 추론 시에는 답변 텍스트를 생성하지 않는다. - 실제 서비스에서는 verbalized context를 입력하고, 별도의 카탈로그 인식 점수 헤드로 콘텐츠를 정렬한다. ## 피처 엔지니어링에서 컨텍스트 엔지니어링으로 - 기존 추천 시스템이 밀집 벡터와 수작업 피처를 중심으로 한다면, GenRec은 이력과 상황을 자연어로 변환해 LLM의 의미 공간에 입력한다. - 모델이 아이템 간 관계, 반복 시청, 변화하는 관심사 같은 고차원 패턴을 직접 학습하도록 한다. - 모든 상호작용을 그대로 입력하면 토큰 한도와 비용 문제가 발생하므로, 컨텍스트를 선별하고 압축한다. - 긴 재생이나 긍정 피드백처럼 신호가 강한 이벤트는 자세히 유지 - 짧은 재생이나 빠른 탐색처럼 신호가 약한 이벤트는 제거 - 폭주 시청처럼 반복적인 행동은 요약 - 신작이나 콜드스타트 아이템은 필요한 경우 더 자세히 설명 - 제한된 토큰 예산 안에서 최근성과 신호 강도가 높은 이력을 우선한다. - 프롬프트의 공통 접두사를 늘려 prefix caching을 활용하고, 서빙 비용을 낮춘다. - 결과적으로 모델 개발의 초점이 개별 피처 제작에서 정보 밀도 높은 입력 문맥 설계로 이동한다. ## 랭킹·언어·보상 신호를 결합한 학습 ### 카탈로그 인식 랭킹 목표 - 충분히 긴 재생이나 강한 명시적 피드백처럼 가치가 높은 참여를 긍정 샘플로 사용한다. - 임계값과 노이즈 제거 로직으로 부정확한 행동 신호를 정제한다. - 전체 카탈로그 또는 후보군에 대한 cross-entropy 손실을 사용해 긍정 아이템의 점수를 높인다. - 자유로운 텍스트 생성이 아니라 실제 Netflix 카탈로그 안에서 점수를 계산하므로, 존재하지 않는 콘텐츠를 추천하는 문제를 줄인다. ### 언어 모델링 목표 - 입력과 출력의 텍스트에 대해 언어 모델링 목표를 유지한다. - 자연어로 표현된 사용자 이력과 콘텐츠 메타데이터를 이해하는 능력을 보존한다. - 향후 추천 이유나 설명 생성과 같은 텍스트 기반 기능으로 확장할 가능성도 유지한다. ### 보상 기반 정렬 - 단기 클릭이나 재생만 최적화하지 않고 장기적인 회원 만족도를 반영한다. - 영화, 시리즈, 게임, 라이브, 팟캐스트 등 콘텐츠 유형 간 균형 같은 비즈니스 요구사항을 고려한다. - 여러 보상 신호를 보상 가중 손실에 반영해 랭킹 결과가 Netflix의 장기 목표와 맞도록 조정한다. ## 서빙 효율성과 성능 - GenRec은 Netflix의 LLM 서빙 스택에서 prefill-only 방식으로 실행된다. - 추론 시 토큰을 생성하지 않고 입력을 처리해 아이템별 점수를 계산하므로 생성형 LLM보다 비용 효율적이다. - 기존의 성숙한 프로덕션 랭커와 비교한 대규모 A/B 테스트에서 단기 및 장기 온라인 지표를 모두 통계적으로 개선했다. - Phase 2 학습에 필요한 라벨 데이터와 입력 신호도 기존 시스템의 일부만 사용했다. 실무적으로는 LLM을 추천 시스템에 도입할 때 모든 로그를 무작정 텍스트화하기보다, 카탈로그 제약을 보장하는 점수 헤드, 장기 보상 설계, 토큰 예산 관리, 캐싱 전략을 함께 설계하는 것이 중요하다. GenRec의 사례는 추천 모델의 성능뿐 아니라 피처 유지보수 비용과 새로운 추천 시나리오의 확장성까지 고려할 때 LLM 기반 구조가 유효할 수 있음을 보여준다.

원문 읽기(새 탭에서 열림)
meta4분 읽기큐레이션 요약

SilverTorch: 모델로서의 인덱스 — 추천 시스템을 위한 새로운 검색 패러다임

SilverTorch는 추천 시스템의 검색(retrieval) 단계를 여러 마이크로서비스가 아닌 하나의 통합 신경망으로 재설계한 아키텍처다. ‘Index as Model’ 패러다임을 통해 사용자 임베딩, ANN 검색, 적격성 필터링, 재순위화와 다중 작업 점수화를 하나의 PyTorch 모델에서 처리한다. 그 결과 기존 방식보다 최대 23.7배 높은 처리량과 20.9배 높은 컴퓨팅 비용 효율을 달성하면서도 추천 품질을 개선하고, 100ms 이하의 지연시간 제약을 유지할 수 있다고 설명한다. ## 기존 마이크로서비스 기반 검색의 한계 - 전통적인 추천 검색 시스템은 다음과 같은 서비스 조합으로 구성된다. - 사용자 타워 모델: 사용자의 관심사를 벡터인 사용자 임베딩으로 변환 - 후보 검색·필터링 서비스: 사용자 벡터와 유사한 콘텐츠를 찾고 언어·지역·정책 등을 기준으로 필터링 - 점수화 서비스: 남은 후보의 참여 가능성을 계산하고 순위를 조정 - 오케스트레이터: 각 서비스에 요청을 분산하고 결과를 통합 - 서비스 간 네트워크 왕복과 데이터 직렬화 과정이 100ms 이하의 검색 지연시간을 소모한다. - 사용자 모델, 아이템 인덱스, 필터링 규칙이 서로 다른 시점에 배포되어 버전이 불일치할 수 있다. - 예를 들어 사용자 모델은 v2인데 아이템 인덱스가 v1이면 서로 다른 버전의 임베딩이 비교된다. - ML 엔지니어는 주로 PyTorch를, 인프라 엔지니어는 C++를 사용해 개발 환경과 배포 주기가 분리된다. - Faiss-GPU와 같은 개별 최적화는 특정 서비스만 빠르게 만들 뿐, 서비스 간 데이터 이동과 독립적인 실행 구조라는 근본 문제는 해결하지 못한다. ## Index as Model: 인덱스를 모델 안으로 통합 - SilverTorch는 아이템 인덱스 자체를 모델 내부의 텐서로 표현한다. - 사용자 타워, ANN 검색, 적격성 필터, 점수화 계층을 모두 하나의 PyTorch 신경망에 포함한다. - 사용자의 요청은 단일 모델의 한 번의 forward pass를 거치며 다음 작업을 수행한다. - 사용자 관심사와 유사한 콘텐츠 검색 - 언어·국가·콘텐츠 정책 등에 따른 노출 가능 여부 확인 - 후보 재순위화 - 좋아요·공유·댓글 등 여러 참여 행동의 확률 예측 - 여러 예측값을 결합한 최종 점수 계산 - 하나의 모델 아티팩트와 단일 실행 경로를 사용하므로 구성 요소 간 공동 최적화와 일관된 버전 관리가 가능하다. - 모델 복잡도와 평가 후보 수를 늘리면서도 100ms 이하의 응답시간을 유지하는 것을 목표로 한다. ## 모델 내부의 검색·필터링·재순위화 - ANN 검색 영역은 전체 카탈로그를 모두 확인하지 않고 사용자와 가까운 아이템을 빠르게 찾는다. - 적격성 필터링 영역은 후보가 사용자에게 노출 가능한지 검사한다. - 언어 - 국가 및 지역 - 콘텐츠 정책 - 기타 서비스별 자격 조건 - 다중 작업 재순위화 영역은 여러 참여 행동을 동시에 예측한다. - 좋아요 - 공유 - 댓글 - 예측 결과를 종합해 참여 가능성이 높은 후보를 계산한다. - 일부 연산은 엔지니어가 직접 작성하고, 일부는 역전파를 통해 종단 간 학습할 수 있다. - 런타임에서는 모든 구성 요소가 동일한 `nn.Module`로 취급되므로 검색 모듈과 학습된 재순위화 모델을 자유롭게 조합할 수 있다. ## 모든 단계를 순수 PyTorch 모듈로 재구현 - 기존 ANN 검색, Bloom 인덱스 필터, 신경망 재순위화, 복합 점수화는 주로 독립적인 C++ 서비스로 구현되어 있었다. - 이러한 구현은 안정적이지만 각자 별도의 메모리·자료구조·실행 모델을 사용해 모듈 간 공동 최적화가 어렵다. - SilverTorch는 모든 데이터를 텐서로 표현하고, 모든 로직을 텐서 입력과 텐서 출력으로 통일한다. - 각 구성 요소는 PyTorch의 표준 `nn.Module` 인터페이스를 따른다. - 이를 통해 다음과 같은 최적화가 가능해진다. - 유망한 클러스터를 먼저 선택 - 선택된 클러스터 안에서만 필터링 - 필터를 통과한 후보만 점수화 - ML 엔지니어와 인프라 엔지니어가 서로 다른 계층에서 작업하는 대신 동일한 실행·개발 계층에서 모듈을 구성하고 최적화할 수 있다. ## 성능과 확장성 - 8천만 개 아이템을 대상으로 한 종단 간 평가에서 기존의 강력한 다중 서비스 기준선보다 초당 요청 처리량이 최대 23.7배 높았다. - CPU 기반 솔루션보다 추정 총소유비용(TCO) 효율이 20.9배 개선되었다. - 피드와 동영상 콘텐츠를 제공하는 여러 애플리케이션 제품군에 적용 가능한 규모 확장성을 보였다고 설명한다. - 신경망 재순위화와 다중 작업 점수화를 지연시간 예산 안에서 실용적으로 수행해, 기존 마이크로서비스 구조에서는 적용하기 어려웠던 추천 품질 개선을 가능하게 했다. 실용적으로는 검색 단계의 서비스 수가 많고, 후보 수·모델 복잡도·지연시간 간 충돌이 큰 시스템일수록 SilverTorch와 같은 통합 모델 구조의 효과가 크다. 다만 모든 구성 요소를 PyTorch로 통일하려면 GPU 메모리 관리, 모델 배포 안정성, 디버깅과 장애 격리 같은 운영 과제를 함께 해결해야 한다.

원문 읽기(새 탭에서 열림)
meta원문

친구 버블: 페이스북 릴스의 소셜 디스커버리 강화 (새 탭에서 열림)

페이스북 릴스(Reels)의 '친구 버블(Friend Bubbles)'은 친구가 좋아하거나 반응한 콘텐츠를 사용자에게 추천하여 새로운 발견과 사회적 연결을 돕는 기능입니다. 이 시스템은 머신러닝을 활용해 사용자 간의 친밀도를 측정하고 소셜 그래프 신호를 비디오 랭킹 로직에 결합함으로써, 단순한 콘텐츠 소비를 넘어 친구와의 대화로 이어지는 의미 있는 상호작용을 창출합니다. 결과적으로 친구 버블은 개인의 관심사와 소셜 신호를 동시에 충족시켜 플랫폼의 체류 시간과 사회적 가치를 모두 높이는 역할을 합니다. **사용자 간 친밀도 모델을 통한 핵심 관계 식별** 친구 버블 시스템은 사용자가 누구의 상호작용에 더 민감하게 반응할지 판단하기 위해 두 가지 상호 보완적인 머신러닝 모델을 사용합니다. * **설문 기반 친밀도 모델:** 실제 사용자들을 대상으로 한 설문 데이터와 소셜 그래프(함께 아는 친구, 위치 정보, 상호작용 패턴 등)를 결합하여 학습합니다. 매주 수조 개의 친구 관계를 대상으로 추론(Inference)을 실행하여 오프라인에서의 실제 친밀도를 예측합니다. * **플랫폼 내 활동 기반 모델:** 친구 버블이 표시되었을 때 발생하는 좋아요, 댓글, 공유 등의 실시간 반응을 학습합니다. 이를 통해 사용자가 특정 소셜 맥락에서 누구의 추천을 더 가치 있게 여기는지 동적으로 파악합니다. * **관계의 질 중심:** 단순히 친구가 많다고 해서 더 많은 버블을 보여주는 것이 아니라, 사용자가 진정으로 의미 있다고 느낄 만한 관계를 소수 정예로 선별하여 추천의 품질을 높입니다. **소셜 신호를 반영한 비디오 랭킹 최적화** 좋은 친구 콘텐츠가 일반적인 인기 콘텐츠에 밀려나지 않도록 랭킹 시스템 전반에 소셜 컨텍스트를 주입합니다. * **검색(Retrieval) 단계 확장:** 친밀도 모델이 식별한 가까운 친구들이 상호작용한 영상을 명시적으로 검색 결과에 포함시켜, 순위 모델(Ranking)에 충분한 후보군이 전달되도록 퍼널 상단을 확장합니다. * **MTML(Multi-Task Multi-Label) 모델 적용:** 기존 랭킹 모델에 '친구 친밀도'와 '버블 노출 시 참여도'를 새로운 특징(Feature)과 과업(Task)으로 추가합니다. 이를 통해 모델은 영상 자체의 품질뿐만 아니라 관계의 힘이 주는 고유한 가치를 학습합니다. * **연속적 피드백 루프:** `P(비디오 참여 | 버블 노출)`라는 조건부 확률을 활용해 사용자가 버블을 보고 실제로 반응할 가능성을 예측하며, 소셜 연결성과 콘텐츠 몰입도 사이의 균형을 맞추기 위해 가중치를 미세하게 조정합니다. **성능 저하 없는 실시간 인프라 구축** 릴스는 성능에 매우 민감한 서비스이므로, 추가적인 데이터 처리가 사용자 경험을 해치지 않도록 설계되었습니다. * **프리페치(Prefetch) 활용:** 비디오가 화면에 나타나기 전 메타데이터와 썸네일을 미리 불러오는 기존 윈도우에 친구 버블 데이터를 통합하여 로드 지연을 방지했습니다. * **최적화된 자원 관리:** 부드러운 스크롤을 유지하고 CPU 오버헤드를 최소화하기 위해 캐싱된 결과를 재사용하고 데이터 호출 구조를 단순화했습니다. 친구 버블의 성공 사례는 추천 시스템이 단순히 사용자의 과거 이력만을 쫓는 것이 아니라, 사용자 주변의 사회적 맥락을 깊이 있게 이해할 때 더 큰 가치를 만들 수 있음을 보여줍니다. 기술적으로는 모델에 관계 중심의 특징(Feature)을 직접 주입하고, 인프라 측면에서는 데이터 로딩의 우선순위를 정교하게 관리하는 것이 핵심입니다. 단순히 '인기 있는' 콘텐츠를 보여주는 것을 넘어 '내 지인에게 의미 있는' 콘텐츠를 상위에 노출하고 싶다면, 이와 같은 하이브리드 소셜 랭킹 접근법이 효과적인 전략이 될 것입니다.

airbnb원문

학술 논문 및 에 (새 탭에서 열림)

Airbnb는 2025년 한 해 동안 KDD, CIKM, EMNLP 등 세계적인 AI 및 데이터 사이언스 학술대회에서 다수의 논문을 발표하며, 여행 및 주거 플랫폼으로서의 기술적 리더십을 공고히 했습니다. 이들은 단순히 학술적 성과에 그치지 않고 검색 알고리즘 고도화, 개인화 추천 시스템, 다중 모달(Multi-modal) 임베딩 등 실제 비즈니스 문제를 해결하기 위한 응용 머신러닝 기술에 집중했습니다. 결과적으로 이러한 연구들은 예약 전환율 향상과 수천만 달러의 추가 수익 창출이라는 실질적인 성과로 이어졌습니다. ### 검색 랭킹 및 개인화 기술 고도화 (KDD) * **교차 배치(Interleaving) 및 반사실적 평가(Counterfactual Evaluation):** 숙소 예약과 같이 전환 주기가 긴 상품의 경우 A/B 테스트 결과를 얻는 데 시간이 오래 걸립니다. 이를 해결하기 위해 실제 온라인 테스트 전 신속하게 알고리즘 성능을 예측하는 기법을 개발하여 실험 프로세스의 효율성을 높였습니다. * **극한 분류(Extreme Classification)를 통한 검색 지역 확장:** 사용자의 의도를 정밀하게 파악하기 위해 위치 검색 시 단순히 지리적 반경을 사용하는 대신, 고정밀 카테고리 기반의 위치 셀(Cell) 시스템을 도입하여 검색 정확도를 개선했습니다. ### 검색 보조 및 지도 UI 최적화 (CIKM) * **추천 시스템을 통한 검색 결과 보완:** 사용자가 지나치게 좁은 조건(필터)으로 검색하여 결과가 부족할 경우, 날짜 조정이나 편의시설 완화 등 대안적인 추천을 동적으로 제공하여 사용자 경험과 예약률을 개선했습니다. * **지도 기반 랭킹 최적화:** 전체 검색 상호작용의 80%가 발생하는 지도 UI는 기존 리스트 기반의 NDCG 지표로는 사용자 주의 집중도를 정확히 모델링하기 어렵습니다. 이에 지도 전용 NDCG 지표를 설계하고 이를 최적화하여 실제 예약 증대 효과를 거두었습니다. ### 다중 모달 데이터 활용 및 비교 쇼핑 모델링 (CIKM) * **BListing(이봉 분포 리스팅) 임베딩:** 숙소의 텍스트 정보와 사진 데이터를 대규모 언어 모델(LLM)과 이미지 모델을 통해 하나의 벡터로 통합했습니다. 이 다중 모달 임베딩 도입을 통해 수천만 달러의 점진적 수익 성장을 달성했습니다. * **비교 쇼핑 학습(Learning-to-Comparison-Shop):** 전통적인 랭킹 모델은 각 아이템을 개별적으로 평가하지만, 새로운 시스템은 사용자가 검색 결과 페이지에서 여러 아이템을 서로 비교하는 행동 자체를 모델링합니다. 이를 통해 예약 전환율을 0.6% 향상시켰습니다. ### NLP 및 대규모 언어 모델(LLM)의 실무 적용 (EMNLP) * **고객 지원 및 신뢰와 안전:** EMNLP에서는 LLM을 활용한 고객 상담 지원, 검색 및 발견 기능 강화, 플랫폼 내 신뢰 시스템 구축을 위한 최신 아키텍처와 학습 전략을 공유했습니다. * **실제 프로덕션 환경의 LLM:** 단순한 모델 성능을 넘어 대규모 서비스 환경에서 LLM을 안전하고 효율적으로 운영하기 위한 평가 체계와 오픈소스 라이브러리 활용 방안을 제시했습니다. 데이터 기반의 의사결정과 정교한 머신러닝 모델링은 복잡한 양면 시장(Two-sided Marketplace)에서 사용자 만족도를 높이는 핵심 동력입니다. 특히 사용자 경험에 직접적인 영향을 미치는 검색 UI(지도 vs 리스트)별 전용 지표를 설정하거나, 텍스트와 이미지를 통합한 다중 모달 임베딩을 구축하는 접근 방식은 유사한 도메인의 엔지니어들에게 실무적인 영감을 제공합니다.

spotify원문

개인화와 실험을 위한 별도의 기술 스택을 사용하는 이유 | Spotify 엔지니어링 (새 탭에서 열림)

스포티파이는 개인화(Personalization)와 실험(Experimentation)을 서로 다른 기술 스택으로 분리하여 운영합니다. 개인화 시스템은 머신러닝(ML) 스택을 통해 구축하고, 이렇게 구축된 시스템의 성과와 가치는 실험 스택인 'Confidence' 플랫폼을 통해 검증하는 구조를 취합니다. 이러한 분리를 통해 스포티파이는 각 인프라의 전문성을 유지하면서도 기술적 부채를 방지하고 대규모 시스템을 효율적으로 확장하고 있습니다. ### 실험에서 개인화로의 진화와 컨텍스트 밴딧 * **A/B 테스트와 멀티 암드 밴딧(MAB):** 일반적인 A/B 테스트는 모든 사용자에게 평균적으로 가장 좋은 버전을 찾습니다. 반면, MAB는 실험 중에 성과가 좋은 그룹에 더 많은 트래픽을 동적으로 할당하여 효율성을 높입니다. * **컨텍스트 밴딧(Contextual Bandits):** 사용자 특성(나이, 위치, 과거 행동 등)에 따라 각기 다른 최적의 '대안(Arm)'을 제공합니다. 이는 더 이상 하나의 최고 버전을 찾는 것이 아니라, 개별 사용자에게 맞춤화된 경험을 제공하는 '개인화' 영역으로 진입함을 의미합니다. * **시스템으로서의 개인화:** 컨텍스트 밴딧이 도입되면 실험의 목적은 특정 버튼의 효과 측정이 아니라, "이 개인화 시스템이 기존 시스템보다 더 큰 가치를 창출하는가?"라는 시스템 평가로 전환됩니다. ### 기술 스택을 분리해야 하는 인프라적 이유 * **성능 및 지연 시간(Latency) 요구사항:** 개인화 모델(NN, LLM, 부스팅 모델 등)은 실시간 데이터 기반의 추론과 극도로 낮은 지연 시간을 요구합니다. 이를 위해 최적화된 ML 스택이 필요하며, 실험 도구가 이러한 성능 요구사항을 모두 수용하려 하면 시스템이 지나치게 비대해집니다. * **기술적 부채 방지:** 실험 스택과 ML 스택의 관심사를 혼합하면 시스템 간 결합도가 높아져 관리하기 어려운 기술적 부채가 발생합니다. 스포티파이는 이를 분리함으로써 각 플랫폼이 고유의 목적에 집중하게 합니다. * **복잡한 모델 지원:** ML 플랫폼은 대규모 피처 세트와 복잡한 알고리즘을 학습하고 서빙하는 데 특화되어 있어, 단순한 실험 도구보다 정교한 개인화 로직 구현에 유리합니다. ### 분리를 통한 평가 체계의 명확성 * **재귀적 평가의 필요성:** 컨텍스트 밴딧이나 추천 알고리즘 자체도 하나의 '기능'입니다. 따라서 새로운 알고리즘 버전이 기존 버전보다 나은지 확인하기 위해서는 별도의 A/B 테스트가 필요합니다. * **관심사 분리(Separation of Concerns):** ML 스택은 "어떻게 개인화할 것인가"를 담당하고, 실험 스택은 "이 개인화가 실제로 효과가 있는가"를 측정합니다. * **병렬 실험 가능:** 실험 플랫폼을 독립적으로 유지함으로써, 수천 개의 다른 실험들과 간섭 없이 개인화 모델의 성능을 동시에 테스트하고 확장할 수 있습니다. 성공적인 개인화 서비스를 구축하려면 개인화 알고리즘(컨텍스트 밴딧 등)을 실험의 도구가 아닌, **검증 대상이 되는 제품의 기능**으로 정의해야 합니다. 저지연 모델 서빙과 복잡한 피처 처리는 전용 ML 스택에 맡기고, 실험 플랫폼은 이를 객관적으로 비교·평가하는 역할에 집중하는 것이 기술적 유연성과 운영 효율성을 동시에 잡는 길입니다.

pinterest원문

경량 광고 참여 예측을 위한 (새 탭에서 열림)

Pinterest는 광고 추천 시스템의 중간 단계인 경량 랭킹(Lightweight ranking)의 효율성을 극대화하기 위해, 기존 CPU 기반의 2-타워 모델을 GPU 기반의 MMOE-DCN 아키텍처로 전환했습니다. 이를 통해 모델의 복잡도를 높이면서도 지연 시간을 안정적으로 유지했으며, 오프라인 예측 오차 감소와 더불어 온라인 클릭률(CTR) 증가 및 클릭당 비용(CPC) 감소라는 실질적인 성과를 거두었습니다. **MMOE-DCN 아키텍처로의 전환** * 기존의 MTMD(Multi-Task Multi-Domain) 모델에서 MMOE(Multi-gate Mixture-of-Experts)와 DCN(Deep & Cross Networks)이 결합된 구조로 아키텍처를 변경했습니다. * MLP 게이팅 메커니즘을 적용한 MMOE 구조를 통해 별도의 도메인 전용 모듈 없이도 다중 도메인 및 다중 작업(Multi-task) 학습 문제를 효과적으로 해결했습니다. * 모델 내의 각 전문가(Expert) 유닛에 풀랭크(Full-rank) 및 로우랭크(Low-rank) DCN 레이어를 도입하여 특성 간의 교차 작용을 더 정교하게 학습하도록 설계했습니다. **GPU 학습 및 서빙 효율성 최적화** * 데이터 로더 최적화: GPU 프리패치(Prefetch) 기능을 활성화하여 GPU 연산과 데이터 준비를 병렬화하고, 대용량 CPU 메모리를 활용해 워커 스레드 수를 늘려 병목 현상을 제거했습니다. * 연산 효율성 증대: CPU에서의 메모리 할당을 최소화하고 GPU에서 직접 연산을 수행하며, 개별 커널들을 하나로 합친 퓨즈드 커널(Fused kernels)을 사용해 오버헤드를 줄였습니다. * 훈련 설정 개선: BF16(Brain Floating Point 16) 정밀도를 도입해 학습 속도를 높였으며, 배치 크기를 확대하여 GPU 메모리 활용도를 극대화했습니다. **데이터 분리 및 성과 분석** * 쇼핑 광고와 일반 광고 시나리오를 분리하고 각 데이터에 맞게 개별 학습을 진행함으로써 오프라인 손실(Loss)을 추가로 5~10% 더 절감했으며, 모델 반복 학습 속도를 2배 개선했습니다. * 오프라인 평가에서 이전 모델 대비 CTR 예측 손실이 총 10~20%가량 감소하는 결과를 확인했습니다. * 실제 온라인 서비스 적용 결과, 모든 광고 영역에서 사용자 클릭률(CTR)은 상승하고 광고주가 부담하는 클릭당 비용(CPC)은 낮아지는 지표 개선을 달성했습니다. GPU 인프라를 활용한 모델 복잡도 최적화는 대규모 추천 시스템에서 성능과 비용 효율성을 동시에 잡을 수 있는 핵심 전략입니다. 특히 단순한 하드웨어 교체를 넘어 하드웨어 가속에 최적화된 커널 사용과 데이터 파이프라인 튜닝을 병행할 때 복잡한 딥러닝 모델의 실무 적용 효과가 극대화됩니다.

pinterest원문

투 타워를 넘어서: 차 (새 탭에서 열림)

전통적인 추천 시스템의 표준인 'Two-Tower' 모델은 효율적이지만, 사용자-아이템 간의 복잡한 상호작용 특징(Interaction features)을 반영하지 못하는 구조적 한계가 있습니다. 이를 해결하기 위해 핀터레스트는 범용 신경망 기반의 복잡한 랭킹 모델을 도입하기로 결정하고, 이를 지원하기 위한 GPU 기반의 서빙 스택 재설계를 단행했습니다. 데이터 전송 병목 현상을 해결하고 비즈니스 로직을 모델 내부에 통합함으로써, 초기 4,000ms에 달하던 지연 시간을 실시간 서비스 가능한 수준인 20ms까지 단축하는 데 성공했습니다. ### Two-Tower 모델의 한계와 새로운 도전 * **표현력의 제약:** Two-Tower 구조는 사용자(User)와 아이템(Item)을 각각 독립적인 벡터로 인코딩한 뒤 마지막에 내적(Dot product)만 수행하므로, 네트워크 깊은 곳에서 두 피처가 결합되는 '교차 피처(Cross-features)'나 '타겟 어텐션(Target attention)'을 활용하기 어렵습니다. * **복잡한 모델 도입의 필요성:** 보다 정교한 추천을 위해 피처 간의 직접적인 상호작용을 모델링할 수 있는 일반적인 딥러닝 아키텍처 도입이 필요해졌습니다. * **서빙 인프라의 한계:** 기존 인프라는 단순한 연산(내적 또는 ANN 검색)에 특화되어 있어, 무거운 GPU 추론 단계를 지연 시간 손실 없이 통합하는 것이 핵심 과제였습니다. ### 인벤토리 세분화를 통한 피처 패칭(Feature Fetching) 최적화 * **데이터 전송 병목:** 수만 개의 후보군에 대해 네트워크를 통해 피처를 가져오는 I/O 작업이 모델 추론보다 더 긴 시간을 소모하는 문제가 발생했습니다. * **고가치 인벤토리(Segment 1):** 매출 기여도가 높은 약 100만 개의 문서는 피처를 PyTorch 모델 파일 내의 'Registered Buffer' 형태로 직접 삽입했습니다. 이를 통해 모델 가중치처럼 GPU의 고대역폭 메모리(HBM)에 피처가 상주하게 되어 네트워크 오버헤드를 완전히 제거했습니다. * **롱테일 인벤토리(Segment 2):** 나머지 10억 개 이상의 문서는 고성능 Key-Value 저장소와 인-호스트 캐시를 조합하여 피처를 가져오도록 이원화했습니다. ### 비즈니스 로직의 모델 내부 통합 * **데이터 전송량 최소화:** 기존에는 GPU에서 계산된 수만 개의 점수를 모두 CPU로 보낸 뒤 필터링했으나, 이는 Device-to-Host(D2H) 전송 병목을 야기했습니다. * **로직 내재화:** 유틸리티 계산(pCTR, pCVR, 입찰가 조합 등), 다양성 규칙, Top-K 정렬 등의 비즈니스 로직을 PyTorch 텐서 연산으로 구현하여 모델 내부에 포함시켰습니다. * **병렬 처리 이점:** 복잡한 필터링과 정렬을 GPU의 대규모 병렬 연산으로 처리함으로써 CPU 기반 처리보다 속도를 높였고, 최종 결과값(약 1,000개)만 출력하여 전송 효율을 극대화했습니다. ### GPU 추론 가속화 및 시스템 최적화 * **멀티 스트림 CUDA:** 단일 스트림 방식에서 벗어나 여러 CUDA 스트림을 사용하여 데이터 전송(H2D, D2H)과 연산(Compute)이 서로 겹쳐서 수행(Overlap)되도록 설계했습니다. * **커널 퓨전(Kernel Fusion):** Triton 커널을 사용하여 선형 레이어와 활성화 함수 같은 반복적인 레이어 패턴을 하나로 합침으로써 메모리 대역폭 압박을 완화했습니다. * **수치 형식 최적화:** FP32 대신 BF16(Brain Floating Point 16) 형식을 채택하여 메모리 사용량을 줄이고 연산 속도를 높였습니다. * **워커 정렬:** 호스트 CPU 코어 수에 맞춰 워커 스레드 수를 조정하고 고정(Pinning)하여 컨텍스트 스위칭과 락 경합을 최소화했습니다. 이러한 재설계는 고성능 추천 시스템을 구축할 때 모델 아키텍처뿐만 아니라, 데이터 흐름과 하드웨어 가속기(GPU)의 특성을 고려한 인프라 최적화가 필수적임을 보여줍니다. 특히 대규모 트래픽 환경에서 GPU를 효율적으로 활용하려면 비즈니스 로직을 포함한 전체 서빙 파이프라인을 모델과 밀접하게 통합하는 전략이 유효합니다.

meta원문

사용자 피드백을 바탕으로 (새 탭에서 열림)

페이스북 릴스(Facebook Reels)는 단순한 '좋아요'나 시청 시간 같은 지표를 넘어, 사용자 피드백을 직접 활용하여 개인화된 추천 시스템의 성능을 대폭 개선했습니다. 새롭게 도입된 UTIS(User True Interest Survey) 모델은 사용자의 실제 관심사를 정밀하게 파악함으로써 니치(Niche)한 고품질 콘텐츠의 노출을 늘리고 사용자의 만족도와 유지율을 높이는 데 성공했습니다. 결과적으로 이번 연구는 암묵적인 행동 데이터와 명시적인 사용자 설문을 결합했을 때 추천 시스템의 장기적인 가치가 어떻게 극대화될 수 있는지를 보여줍니다. **기존 행동 지표의 한계와 진정한 관심사 측정** * 기존의 추천 시스템은 시청 시간이나 공유와 같은 행동 신호에 의존하지만, 이러한 데이터는 노이즈가 많고 사용자의 장기적인 만족도를 완전히 반영하지 못하는 한계가 있습니다. * 조사 결과, 기존의 휴리스틱 기반 관심사 파악 방식은 실제 사용자의 관심사를 식별하는 데 있어 정밀도가 48.3%에 불과한 것으로 나타났습니다. * 페이스북은 단순한 주제 정합성을 넘어 오디오, 제작 스타일, 분위기 등 사용자가 체감하는 다양한 차원을 측정하기 위해 대규모 실시간 설문을 피드 내에 도입했습니다. **UTIS(User True Interest Survey) 모델 프레임워크** * 매일 무작위로 선정된 사용자에게 "이 영상이 당신의 관심사와 얼마나 일치합니까?"라는 질문을 1~5점 척도로 제시하여 실시간 피드백을 수집합니다. * 수집된 설문 데이터는 노이즈를 줄이기 위해 이진화(Binarized) 처리를 거치며, 샘플링 편향을 보정하기 위해 가중치를 적용하여 학습 데이터셋으로 구축됩니다. * 메인 랭킹 모델의 예측값을 입력 피처로 사용하는 경량화된 '인지 레이어(Perception Layer)'를 설계하여, 희소한 설문 데이터를 전체 추천 시스템에 일반화할 수 있도록 구현했습니다. **추천 시스템 파이프라인으로의 통합** * **지연 단계 랭킹(Late Stage Ranking, LSR):** UTIS 모델의 점수를 최종 랭킹 공식의 추가 피처로 투입하여, 관심사 일치도가 높은 영상에는 가산점을 주고 낮은 영상은 순위를 낮추는 정밀 조정을 수행합니다. * **초기 단계 랭킹(Retrieval):** 설문 데이터를 집계하여 사용자의 진정한 관심사 프로필을 재구축하고, 이를 기반으로 후보군을 추출합니다. 또한 지식 증류(Knowledge Distillation) 기법을 활용해 LSR의 UTIS 예측값을 검색 모델 학습에 반영합니다. * 이러한 다단계 통합을 통해 단순 인기 기반의 저품질 콘텐츠 추천은 줄이고, 사용자 개인에게 최적화된 고품질 니치 콘텐츠의 비중을 높였습니다. **성과 및 실용적 함의** * UTIS 모델 도입 이후 리텐션(재방문율) 지표가 유의미하게 개선되었으며 좋아요, 공유, 팔로우와 같은 능동적 참여율도 상승했습니다. * 시청 시간만을 최적화할 때 발생할 수 있는 '저품질 대중 콘텐츠 도배' 문제를 해결하고, 장기적인 플랫폼 건강도를 높이는 결과를 얻었습니다. * 이번 사례는 대규모 추천 시스템을 운영할 때 사용자 행동 데이터(Implicit)와 직접적인 피드백(Explicit)을 결합한 '인지 모델'을 구축하는 것이 정교한 개인화를 위해 필수적임을 시사합니다.

pinterest원문

피너 설문조사를 통한 (새 탭에서 열림)

핀터레스트는 클릭 중심의 단순한 사용자 반응을 넘어, 사용자가 진정으로 선호하는 고품질 콘텐츠를 추천하기 위해 직접적인 설문 기반의 머신러닝 모델을 도입했습니다. 이는 '클릭베이트'와 같은 저품질 콘텐츠의 확산을 막고, 사용자의 웰빙과 장기적인 만족도를 우선시하는 '사용자 제일주의(Put Pinners First)' 가치를 실현하기 위한 시도입니다. 결과적으로 설문 데이터를 학습한 모델을 통해 홈피드, 관련 핀, 검색 서비스 전반에서 추천 콘텐츠의 품질을 성공적으로 개선했습니다. **사용자 직접 피드백을 통한 시각적 품질 데이터 확보** - '이미지가 시각적으로 얼마나 즐거움을 주는가?'라는 질문으로 1~5점 척도의 인앱 설문을 실시하여 사용자의 주관적인 품질 인식을 데이터화했습니다. - 예술, 뷰티, DIY, 홈 데코, 패션 등 5가지 주요 카테고리(L1)에서 노출 수 가중치를 적용해 5,000개의 이미지를 선정했습니다. - 개별 사용자의 주관성과 오클릭에 따른 노이즈를 줄이기 위해 이미지당 최소 10명 이상의 응답을 확보하여 평균 점수를 산출했습니다. - 설문 결과, 홈 데코 카테고리가 전반적으로 높은 점수를 받았으며 예술 카테고리는 사용자 간 평가 편차가 가장 크게 나타나는 등 카테고리별 특성이 확인되었습니다. **시각적 품질 예측을 위한 머신러닝 모델링** - 이미지의 시각적·텍스트적 특성과 핀이 저장된 보드 간의 관계를 포함한 핀터레스트 내부 임베딩 기능을 모델의 피처로 활용했습니다. - 5,000개의 상대적으로 작은 데이터셋에서 과적합(Overfitting)을 방지하고 추론 속도 및 비용을 최적화하기 위해 92,000개의 파라미터만을 가진 단순한 완전 연결 신경망(Fully-connected NN) 구조를 채택했습니다. - 절대적인 점수를 예측하는 방식 대신, 두 이미지 중 어떤 것이 더 높은 평가를 받을지 예측하는 '쌍체 순위 지정(Pairwise ranking)' 기법을 적용해 학습 효율을 높였습니다. - 특히 학습 시 동일한 카테고리 내의 이미지만 비교하게 함으로써, 모델이 콘텐츠의 주제(Semantic)가 아닌 순수한 시각적 품질 차이에 집중하도록 설계했습니다. **실용적 인사이트 및 결론** 단순히 클릭률(CTR)과 같은 단기적인 인게이지먼트 지표에만 의존하는 추천 시스템은 장기적으로 콘텐츠의 질을 저하시킬 위험이 있습니다. 핀터레스트의 사례는 정제된 소규모 설문 데이터를 활용해 사용자의 의도를 모델링에 직접 반영함으로써, 비즈니스 지표와 사용자 만족도를 동시에 잡는 '윈-윈' 전략이 가능함을 보여줍니다. 품질에 대한 정의가 모호할수록 전문가의 라벨링보다는 실제 대중 사용자의 피드백을 수집하여 평균적인 인식을 학습시키는 것이 실질적인 추천 서비스 개선에 더 효과적일 수 있습니다.

pinterest원문

오픈소스 AI의 우선순위 (새 탭에서 열림)

현재 인공지능 기술의 경쟁 축은 거대 폐쇄형 모델에서 오픈소스 및 목적 특화형(Fit-for-purpose) 모델로 빠르게 이동하고 있습니다. 핀터레스트(Pinterest)는 오픈소스 모델을 자사 데이터로 미세 조정하여 상용 모델 대비 10% 미만의 비용으로 동등한 성능을 구현해냈으며, 특정 작업에서는 오히려 범용 모델을 능가하는 성과를 거두고 있습니다. 이는 AI 모델 아키텍처가 범용화됨에 따라 기업의 경쟁력이 독자적인 데이터와 제품 통합 능력에서 결정된다는 점을 시사합니다. ### 핀터레스트의 모달리티별 모델 구축 전략 핀터레스트는 서비스의 특성에 따라 '자체 구축(Build)', '구매(Buy)', '조정(Adapt)'의 전략을 차별화하여 적용합니다. * **사용자 추천 시스템(Users):** 수천억 개의 노드로 구성된 이미지-보드-사용자 그래프를 기반으로 PinFM, PinRec과 같은 모델을 자체 구축하여 사용자 행동 시퀀스를 정교하게 학습합니다. * **시각적 이해(Visual):** 시각적 검색 및 컬렉션 데이터를 활용한 대규모 약지도 학습(Weakly-supervised pretraining)을 위해 PinCLIP, Pinterest Canvas 등 독자적인 인코더와 확산 모델을 개발합니다. * **텍스트 및 추론(Text):** 과거에는 외부 상용 모델에 의존했으나, 최근에는 오픈소스 LLM을 핀터레스트의 고유 데이터로 미세 조정하여 사용하는 방식으로 전환하고 있습니다. ### 도메인 특화 데이터 기반의 성능 차별화 모델 아키텍처가 상향 평준화되면서, 특정 도메인에 최적화된 데이터가 모델의 성능을 결정짓는 핵심 요소로 부상했습니다. * 핀터레스트는 자체 시각 데이터를 학습시킨 임베딩 모델(UVE, PinCLIP)을 통해 기성 모델보다 우수한 검색 및 추천 성능을 확보했습니다. * 이미지 생성 모델인 'Pinterest Canvas' 역시 범용 모델보다 핀터레스트의 서비스 환경에 적합한 이미지 편집 및 향상 기능을 제공하도록 튜닝되었습니다. * 이러한 접근법은 과거 AlexNet 시절 아키텍처가 범용화되고 데이터 중심의 최적화가 중요해졌던 머신러닝의 역사적 흐름과 궤를 같이합니다. ### 핀터레스트 어시스턴트(Pinterest Assistant) 사례 최근 출시된 AI 에이전트 서비스는 오픈소스 모델의 효율성을 증명하는 대표적인 사례입니다. * **지능형 라우터 구조:** 에이전트 역할을 하는 LLM이 사용자의 의도를 파악하고, 추천 서비스나 시각 검색 등 핀터레스트 고유의 도구(Tool)를 호출하는 구조를 채택했습니다. * **오픈소스 기반 최적화:** 초기에는 상용 LLM을 사용했으나, 도구 호출(Tool calling)과 쿼리 계획 수립에 특화된 미세 조정을 거친 오픈소스 모델로 교체하여 비용을 획기적으로 절감했습니다. * **성능 유지와 비용 절감:** 오픈소스 모델 도입을 통해 상용 모델 대비 10배 이상의 비용 효율성을 달성하면서도 서비스 품질은 유지하는 성과를 거두었습니다. ### 기술적 통찰과 제언 AI 기술 전략을 수립할 때 더 이상 모델의 크기나 범용적인 벤치마크 점수에만 매몰되어서는 안 됩니다. 기업은 자사가 보유한 고유의 데이터를 가장 효과적으로 학습시킬 수 있는 오픈소스 모델을 선택하고, 이를 자사 서비스 생태계에 깊숙이 통합하는 '목적 특화형' 접근법을 취해야 합니다. 모델 자체의 성능보다는 그 모델이 비즈니스 맥락 안에서 얼마나 정교하게 도구를 활용하고 사용자 경험을 개선하는지가 진정한 차별화 포인트가 될 것입니다.

netflix원문

훈련 후 생성 추천 시스템: 장점 가중치 감독 세부 조정 | 넷플릭스 기술 블로그 | 넷플릭스 테크블로그 (새 탭에서 열림)

넷플릭스는 사용자 행동을 순차적으로 예측하는 생성형 추천 시스템(Generative Recommenders)의 성능을 한 단계 높이기 위해 사후 학습(Post-training) 기술인 '가중치 적용 지도 미세 조정(Advantage-Weighted Supervised Finetuning, 이하 A-SFT)'을 도입했습니다. 기존의 생성형 추천 모델은 단순히 과거의 시퀀스를 모방하는 데 그쳐 실제 사용자 만족도를 충분히 반영하지 못했으나, A-SFT는 노이즈가 많은 추천 환경의 보상 신호를 효과적으로 학습에 활용합니다. 이 방법론은 반사실적 데이터(Counterfactual feedback) 확보가 어려운 추천 시스템의 한계를 극복하고, 보상 모델의 불확실성 속에서도 모델을 사용자 선호도에 더 정교하게 정렬시키는 결론을 도출했습니다. **생성형 추천 시스템의 한계와 사후 학습의 필요성** * 생성형 추천 모델(GR)은 트랜스포머 아키텍처를 활용해 사용자의 다음 활동을 예측하는 순차적 변환 태스크로 추천 문제를 정의합니다. * 단순히 관찰된 과거 행동을 모방하는 방식은 트렌드나 외부 요인에 의한 상호작용을 구분하지 못하며, 사용자가 실제로 만족하지 않은 콘텐츠를 반복 추천할 위험이 있습니다. * 따라서 시청 시간, 클릭률, 평점 등 명시적·암묵적 피드백을 활용해 모델을 사용자 선호에 맞게 조정하는 사후 학습 과정이 필수적입니다. **추천 시스템 사후 학습의 주요 난제** * **반사실적 피드백의 부재:** LLM과 달리 추천 시스템은 사용자가 실제로 경험한 온-폴리시(On-policy) 데이터만 존재하며, 수주에서 수년에 걸친 사용자 시퀀스에 대해 가상의 시나리오에 대한 피드백을 얻는 것은 불가능에 가깝습니다. * **보상 신호의 높은 노이즈:** 시청 시간이 길다고 해서 반드시 만족도가 높은 것은 아니며(시간 제약 등으로 중단 가능), 보상 모델 자체가 높은 불확실성과 분산을 가집니다. * **기존 기법의 적용 한계:** 반사실적 데이터를 요구하는 PPO(근사 정책 최적화)나 DPO(직접 선호도 최적화) 같은 최신 LLM 최적화 기법을 추천 도메인에 그대로 적용하기 어렵습니다. **A-SFT: 불확실한 보상을 활용하는 최적화 전략** * A-SFT는 지도 미세 조정(SFT)의 안정성과 강화 학습의 이점 함수(Advantage function)를 결합하여 보상 모델의 방향성 신호를 학습에 반영합니다. * 보상 모델이 높은 분산을 가질 때에도 보상 자체에 매몰되지 않고, 이점 함수를 통해 상대적으로 더 나은 행동에 가중치를 두어 학습함으로써 성능 저하를 방지합니다. * 이 방식은 보상 모델이 없을 때 사용하는 '행동 복제(Behavior Cloning)'와 완벽한 보상 모델을 전제로 하는 '온라인 강화 학습' 사이의 적정 지점을 찾아내어 모델 성능을 최적화합니다. **실무적 권장 사항** 추천 시스템의 사후 학습 전략을 선택할 때는 보상 모델의 품질과 일반화 능력을 먼저 고려해야 합니다. 보상 모델의 노이즈가 심할 경우 이를 과도하게 최적화하면 오히려 성능이 하락할 수 있으므로, A-SFT와 같이 보상의 방향성을 활용하면서도 학습의 안정성을 유지할 수 있는 가중치 기반의 접근법을 사용하는 것이 권장됩니다. 이는 특히 실제 서비스 데이터와 같이 피드백이 불완전한 환경에서 생성형 모델을 사용자 가치에 정렬시키는 데 매우 효과적인 도구가 될 수 있습니다.

netflix원문

스트림 뒤편: 라이브 이벤트를 위한 실시간 추천 3부 | 넷플릭스 기술 블로그 | 넷플릭스 테크블로그 (새 탭에서 열림)

넷플릭스는 수천만 명의 시청자가 동시에 접속하는 라이브 이벤트 상황에서 시스템 과부하를 방지하면서도 실시간 개인화 추천을 제공하기 위해 '프리페칭(Prefetching)'과 '실시간 브로드캐스팅'이라는 2단계 전략을 도입했습니다. 이 시스템은 이벤트 시작 전 미리 데이터를 기기에 저장해 두었다가, 실제 시작 시점에는 최소한의 신호만 보내 로컬에서 추천 정보를 활성화함으로써 '천둥 번개 효과(Thundering Herd)' 문제를 효과적으로 해결합니다. 이를 통해 넷플릭스는 클라우드 자원을 무리하게 확장하지 않고도 전 세계 수억 대의 기기에 지연 없는 실시간 스트리밍 경험을 제공할 수 있게 되었습니다. **라이브 이벤트와 시동 시간의 제약** * VOD와 달리 라이브 이벤트는 모든 시청자가 특정 시점에 동시에 접속하므로, 짧은 시간 내에 수억 개의 기기에 업데이트를 전달해야 하는 기술적 난관이 존재합니다. * 단순히 서버를 증설하는 선형적 확장은 비효율적이며, 다른 핵심 서비스의 자원을 고갈시킬 위험이 있습니다. * 성공적인 실시간 추천을 위해서는 업데이트 소요 시간(Time), 서비스 처리 용량(Request Throughput), 요청의 다양성(Compute Cardinality)이라는 세 가지 제약 조건을 동시에 최적화해야 합니다. **프리페칭을 통한 트래픽 분산** * 이벤트 시작 전 사용자가 평소처럼 앱을 탐색하는 동안, 라이브 이벤트와 관련된 메타데이터, 아트워크, 개인화된 추천 리스트를 미리 기기 캐시에 저장합니다. * 이를 통해 서버 요청을 시간에 따라 자연스럽게 분산시켜, 이벤트 직전 발생하는 트래픽 스파이크를 제거하고 시스템 안정성을 확보합니다. * 서버 측에서 미리 계산된 '구체화된 추천(Materialized Recommendations)'을 제공함으로써 기기별 요청의 복잡도를 낮춥니다. **저카디널리티 실시간 브로드캐스팅** * 이벤트가 실제로 시작되거나 일정이 변경될 때, 넷플릭스의 푸시 서비스(Zuul Push)를 통해 연결된 모든 기기에 '저카디널리티(Low-cardinality)' 메시지를 전송합니다. * 이 메시지는 복잡한 데이터를 담지 않고 단순히 미리 캐싱된 데이터를 화면에 표시하라는 트리거 역할만 수행하여 네트워크 부하를 최소화합니다. * '최소 한 번(At-least-once)' 전달 방식을 채택하여 네트워크 상태가 불안정한 기기도 다시 온라인 상태가 되면 누락된 업데이트를 즉시 따라잡을 수 있도록 설계되었습니다. **데이터 기반의 동적 적응** * 라이브 이벤트의 특성상 경기 시간이 지연되거나 일정이 변동될 수 있는데, 브로드캐스팅 시스템은 이러한 실시간 제작 상황에 맞춰 전송 타이밍을 동적으로 조절합니다. * 수천만 대의 기기가 동시에 서버에 데이터를 재요청하는 대신 로컬 데이터를 활용하게 함으로써, 전 세계 모든 사용자가 동일한 순간에 일관된 추천 UI를 볼 수 있게 합니다. 라이브 이벤트와 같은 초고부하 상황에서는 무조건적인 서버 증설보다는 클라이언트의 로컬 자원을 활용하고 서버 부하를 시간적으로 분산하는 아키텍처가 필수적입니다. 실시간성이 중요한 서비스라면 모든 데이터를 실시간으로 전송하기보다, 정적인 데이터는 미리 배치하고 상태 변화를 알리는 최소한의 신호만 실시간으로 처리하는 하이브리드 접근 방식을 권장합니다.

coupang원문

LLM을 통한 쿠 (새 탭에서 열림)

쿠팡은 검색, 광고, 물류 등 서비스 전반에 걸쳐 머신러닝(ML) 기술을 적극적으로 활용하고 있으며, 최근에는 대규모 언어 모델(LLM)을 도입해 AI 혁신을 가속화하고 있습니다. LLM은 다국어 환경과 방대한 상품 데이터를 처리하는 데 탁월한 성능을 보이며, 효율적인 모델 학습과 추론을 위한 플랫폼 인프라의 최적화가 이 과정의 핵심 동력이 되고 있습니다. 쿠팡은 이를 통해 고객 경험을 개선하고 운영 효율성을 극대화하는 성과를 거두고 있습니다. **쿠팡의 머신러닝 활용 영역** * **추천 시스템:** 사용자 클릭, 구매 이력, 장바구니 담기 등 대규모 상호작용 데이터와 사람이 직접 라벨링한 관련성 판단 지표를 기반으로 홈 피드, 검색, 광고의 개인화를 구현합니다. * **콘텐츠 이해:** 상품 카탈로그(텍스트, 이미지), 사용자 리뷰, 검색어 등 방대한 데이터를 딥러닝으로 분석해 상품과 고객에 대한 표현(Representation)을 학습하고 이를 쇼핑 경험 개선에 활용합니다. * **예측 모델링:** 100개 이상의 물류 센터(FC) 내 수백만 개 상품에 대한 수요, 가격, 배송 경로를 예측하며, 기존 통계적 기법에 딥러닝 기술을 점진적으로 결합하고 있습니다. **멀티모달 기반의 이미지 및 언어 이해** * **Vision-Language Transformer:** 이미지와 텍스트 데이터를 별개로 처리하던 기존 방식에서 벗어나, 두 데이터를 동시에 모델링하는 트랜스포머 모델을 통해 더욱 정교한 임베딩(Embedding)을 생성합니다. * **검색 및 추천 고도화:** 생성된 임베딩은 광고 검색, 유사 상품 찾기 및 추천 모델의 핵심 피처로 활용되어 사용자에게 더 적합한 결과를 제공합니다. * **다양한 서비스 적용:** 한국어와 대만어 간의 상품명 번역, 쇼핑 피드 이미지 품질 개선, 사용자 리뷰 요약, 상품 및 판매자 키워드 자동 생성 등 다양한 영역에서 대규모 모델이 성공적으로 적용되었습니다. **데이터 레이블링 및 속성 추출 혁신** * **대규모 약지도 학습(Weak Label) 생성:** 사람이 직접 수행하기에 비용과 시간이 많이 드는 다국어(한국어, 영어, 중국어 등) 레이블링 작업을 LLM이 수행하여, 모델 학습을 위한 기초 데이터를 대규모로 확보합니다. * **데이터 부족 문제 해결:** 학습 데이터가 부족한 새로운 카테고리나 세그먼트에서 LLM이 생성한 레이블을 통해 모델의 성능을 빠르게 안정화하고 관련성 모델의 품질을 높입니다. * **통합 모델링으로의 전환:** 과거에는 상품 카테고리별로 개별 ML 모델을 구축해야 했으나, 이제는 통합된 LLM을 통해 상품 분류 및 속성 추출 프로세스를 간소화하고 효율성을 높이고 있습니다. 쿠팡은 LLM을 단순한 기술 도입을 넘어 인프라 최적화와 결합하여 실제 비즈니스 가치를 창출하는 핵심 도구로 활용하고 있습니다. 특히 다국어 지원과 대규모 데이터 처리가 필수적인 글로벌 이커머스 환경에서, LLM 기반의 플랫폼 전략은 향후 AI 경쟁력을 좌우하는 중요한 기반이 될 것입니다.