피드로 돌아가기
X's Feed Ranking Algorithm: How Grok Ranks 500M Posts in 200ms
Dev.toDev.to
AI/ML

5억 개 포스트를 200ms 내 랭킹하는 Grok 기반 Transformer 아키텍처

X's Feed Ranking Algorithm: How Grok Ranks 500M Posts in 200ms

Ramsis Hammadi2026년 5월 21일10advanced

Context

수억 명의 사용자에게 제공되는 추천 피드에서 방대한 데이터 규모와 실시간성 요구사항으로 인한 DB 병목 현상 발생. 기존의 수동 Feature Engineering 및 Heuristic 기반 가중치 설정 방식의 한계를 극복하기 위한 완전 자동화된 ML 랭킹 시스템 필요성 증대.

Technical Solution

  • Thunder를 통한 In-memory Post Store 구축으로 Follow 기반 In-network 포스트의 sub-millisecond 조회 달성
  • Phoenix Retrieval의 Two-Tower Model을 활용하여 User와 Post 임베딩 간 Dot Product Similarity 기반 Out-of-network 후보군 추출
  • Candidate Isolation 기법의 Attention Masking을 적용하여 후보 포스트 간 상호 간섭을 차단하고 일관된 점수 산출 및 캐싱 가능 구조 설계
  • 14가지 Engagement Type을 동시 예측하는 Multi-action Prediction 모델 도입으로 Hand-engineered Feature 완전히 제거
  • Candidate Pipeline이라는 Rust Trait 기반 프레임워크를 통해 Source부터 SideEffect까지 8단계의 컴포저블 파이프라인 구축
  • 고비용 Transformer 추론 전 Pre-scoring Filter를 배치하여 5억 개의 데이터를 1,500개의 최적 후보군으로 압축 후 랭킹 수행

- 대규모 데이터 조회 시 외부 DB 의존도를 낮추기 위해 Kafka 이벤트 기반의 In-memory Store 검토 - ML 랭킹 모델 설계 시 단일 점수가 아닌 다각도 Engagement 확률을 예측하는 Multi-task Learning 도입 고려 - 추론 비용 최적화를 위해 고비용 모델 전 단계에 정교한 Filtering 및 Candidate Reduction 레이어 배치 - 파이프라인의 확장성과 재사용성을 위해 Rust Trait과 같은 인터페이스 기반의 컴포저블 프레임워크 설계 적용

원문 읽기