xai-org/x-algorithm

Algorithm powering the For You feed on X

X For You 피드 알고리즘

정의

  • X(이전 트위터)의 For You 타임라인의 오픈소스 핵심입니다. 팔로우하는 계정(네트워크 내)의 콘텐츠와 다른 계정에서 발견된 콘텐츠(네트워크 외)를 혼합하고 트랜스포머 기반 모델로 모든 것을 순위화하여 시청자가 보는 게시물을 결정합니다.

주요 구성 요소

  • Home Mixer – 후보를 수집하고, 하이드레이션하고, 사전 점수 필터를 적용하고, Phoenix 모델로 점수를 매기고, 재순위화하고, 마지막으로 상위 K개 게시물을 선택하는 주요 요청 시 파이프라인입니다.
  • Thunder – 팔로우한 계정의 최근 게시물에 대한 인메모리 캐시입니다.
  • Phoenix – 각 후보 게시물에 대한 시청자의 행동(좋아요, 리트윗, 신고, 체류 시간 등) 확률을 예측하는 검색 모델입니다.
  • SimClusters – 시청자가 팔로우하지 않는 계정의 게시물을 표시하는 유사성 기반 소스입니다.
  • 가시성 필터링 – 레이블, 차단, 음소거, 법적 준수 등에 따라 각 게시물을 표시할지, 알림과 함께 표시할지, 중간 페이지 뒤에 표시할지, 또는 삭제할지 결정하는 별도의 하위 시스템입니다.
  • 레이블링 경로 – 분류기(media-model-proxy, CLIP, Agatha, BDSM 등)와 규칙 엔진(Botmaker, Scarecrow, Abuse-Enforcement)을 실행하여 게시물과 계정에 안전 및 신뢰성 레이블을 부착하는 지속적인 백그라운드 파이프라인입니다.
  • 블렌딩 파이프라인 – 순위화 후 광고, "팔로우할 사람" 추천, 프롬프트와 같은 비게시물 항목이 유기적 타임라인과 인터리브됩니다.

작동 방식(높은 수준의 흐름)

  1. 쿼리 하이드레이션 – 시청자의 최근 참여 기록, 팔로우 목록, 차단/음소거 등을 수집합니다.
  2. 후보 소스 – Thunder(네트워크 내), Phoenix 검색, SimClusters, 공유 인기 게시물 목록을 병렬로 쿼리합니다.
  3. 후보 하이드레이션 – 게시물 텍스트, 미디어, 작성자 세부 정보, 기존 레이블, 언어 등을 가져옵니다.
  4. 사전 점수 필터 – 중복, 오래된 게시물, 시청자 자신의 게시물, 차단된 계정 등을 제거합니다.
  5. 점수화 – Phoenix가 행동 확률을 예측합니다. 가치 모델이 구성 가능한 가중치와 결합합니다. 선택적 VMRanker는 외부 재순위화기를 호출할 수 있습니다.
  6. 선택 – 점수가 가장 높은 상위 K개 후보를 유지합니다.
  7. 선택 후 필터 – 가시성 필터링이 각 게시물의 최종 운명을 결정합니다. 그 후 대화 스레드 중복 제거가 이어집니다.
  8. 블렌딩 – 광고, 팔로우 제안, 프롬프트가 순위화된 게시물과 인터리브됩니다.
  9. 부작용 – 서빙 이벤트 기록, 캐시 새로 고침, 광고 지표 기록.

구성 및 실험

  • 조정 가능한 모든 가중치와 기능 플래그는 home-mixer/params/param.rs에 있습니다. 실험은 코드 변경 없이 개별 단계(예: 브라질 2026년 선거 필터)를 활성화/비활성화할 수 있습니다.

저장소에 포함되지 않은 것

  • 프로덕션 데이터 저장소, 실시간 모델 훈련 파이프라인, 전체 비공개 안전 모델 세트. 저장소에는 오케스트레이션 코드와 개념 증명 훈련을 위한 합성 데이터 생성이 포함되어 있습니다.

투명성 도구

  • Under the Hood 레이블 투명성 UI는 게시물의 가시성이 제한된 이유(예: 법적 삭제, 규정 준수 필터)를 사용자에게 보고합니다.

일반적인 사용 사례

  • 대규모 추천 파이프라인을 연구하는 연구자.
  • 유사한 피드 시스템을 구축하고 후보 생성, 점수화, 안전 필터링을 위한 참조 아키텍처가 필요한 엔지니어.
  • 플랫폼 결정(가중치, 법적 필터)이 어떻게 구현되는지 조사하는 감사자 또는 정책 분석가.

시작하기

  1. 저장소를 클론합니다.
  2. README의 합성 데이터 생성 섹션에 따라 소규모 Phoenix 훈련을 실행합니다.
  3. 제공된 구성 파일을 사용하여 Home Mixer 서비스를 로컬에서 시작합니다(Rust 툴체인 필요).
  4. under_the_hood 서버를 실행하고 테스트 사용자 ID로 쿼리하여 투명성 도구를 탐색합니다.

라이선스 – 저장소의 LICENSE 파일을 참조하세요.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트