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)을 실행하여 게시물과 계정에 안전 및 신뢰성 레이블을 부착하는 지속적인 백그라운드 파이프라인입니다.
- 블렌딩 파이프라인 – 순위화 후 광고, "팔로우할 사람" 추천, 프롬프트와 같은 비게시물 항목이 유기적 타임라인과 인터리브됩니다.
작동 방식(높은 수준의 흐름)
- 쿼리 하이드레이션 – 시청자의 최근 참여 기록, 팔로우 목록, 차단/음소거 등을 수집합니다.
- 후보 소스 – Thunder(네트워크 내), Phoenix 검색, SimClusters, 공유 인기 게시물 목록을 병렬로 쿼리합니다.
- 후보 하이드레이션 – 게시물 텍스트, 미디어, 작성자 세부 정보, 기존 레이블, 언어 등을 가져옵니다.
- 사전 점수 필터 – 중복, 오래된 게시물, 시청자 자신의 게시물, 차단된 계정 등을 제거합니다.
- 점수화 – Phoenix가 행동 확률을 예측합니다. 가치 모델이 구성 가능한 가중치와 결합합니다. 선택적 VMRanker는 외부 재순위화기를 호출할 수 있습니다.
- 선택 – 점수가 가장 높은 상위 K개 후보를 유지합니다.
- 선택 후 필터 – 가시성 필터링이 각 게시물의 최종 운명을 결정합니다. 그 후 대화 스레드 중복 제거가 이어집니다.
- 블렌딩 – 광고, 팔로우 제안, 프롬프트가 순위화된 게시물과 인터리브됩니다.
- 부작용 – 서빙 이벤트 기록, 캐시 새로 고침, 광고 지표 기록.
구성 및 실험
- 조정 가능한 모든 가중치와 기능 플래그는
home-mixer/params/param.rs에 있습니다. 실험은 코드 변경 없이 개별 단계(예: 브라질 2026년 선거 필터)를 활성화/비활성화할 수 있습니다.
저장소에 포함되지 않은 것
- 프로덕션 데이터 저장소, 실시간 모델 훈련 파이프라인, 전체 비공개 안전 모델 세트. 저장소에는 오케스트레이션 코드와 개념 증명 훈련을 위한 합성 데이터 생성이 포함되어 있습니다.
투명성 도구
- Under the Hood 레이블 투명성 UI는 게시물의 가시성이 제한된 이유(예: 법적 삭제, 규정 준수 필터)를 사용자에게 보고합니다.
일반적인 사용 사례
- 대규모 추천 파이프라인을 연구하는 연구자.
- 유사한 피드 시스템을 구축하고 후보 생성, 점수화, 안전 필터링을 위한 참조 아키텍처가 필요한 엔지니어.
- 플랫폼 결정(가중치, 법적 필터)이 어떻게 구현되는지 조사하는 감사자 또는 정책 분석가.
시작하기
- 저장소를 클론합니다.
README의 합성 데이터 생성 섹션에 따라 소규모 Phoenix 훈련을 실행합니다.- 제공된 구성 파일을 사용하여 Home Mixer 서비스를 로컬에서 시작합니다(Rust 툴체인 필요).
under_the_hood서버를 실행하고 테스트 사용자 ID로 쿼리하여 투명성 도구를 탐색합니다.
라이선스 – 저장소의 LICENSE 파일을 참조하세요.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트