X(구 트위터)의 피드 알고리즘, 내부 구조를 파헤치다!

by DD
4개월 전
조회수 16

X(구 트위터)가 'For You' 피드 알고리즘을 오픈 소스화하여, 알고리즘의 내부 동작 방식을 공개함

Thunder와 Phoenix라는 두 개의 주요 소스를 통해 게시물을 수집하고, Grok Transformer를 활용하여 사용자 맞춤형 피드를 구성함

18가지의 참여 확률(Engagement Probabilities)을 예측하고, 가중치를 적용하여 최종 점수를 산출하는 방식임

커뮤니티에서는 오픈 소스 알고리즘과 실제 운영 알고리즘 간의 차이점에 대한 의구심을 제기함

피드 구성의 핵심: Thunder와 Phoenix

X(구 트위터)의 'For You' 피드는 두 가지 주요 소스, 즉 ThunderPhoenix를 통해 게시물을 수집한다. Thunder는 사용자가 팔로우하는 계정의 게시물을, Phoenix는 Grok Transformer 기반의 2-타워 신경망을 사용하여 사용자의 관심사에 맞는 게시물을 검색한다. 특히, Phoenix는 L2 정규화를 통해 임베딩 공간에서 유사성을 측정하여, 광범위한 게시물 풀(Post Pool)에서 관련 콘텐츠를 찾아낸다.

18가지 참여 확률 예측 및 가중치 적용

Phoenix는 각 게시물에 대해 좋아요, 답글, 리트윗, 공유, 차단, 뮤트, 신고 등 18가지 참여 확률(Engagement Probabilities)을 예측한다. 이러한 예측은 가중치를 통해 하나의 점수로 통합되며, 긍정적인 신호는 점수를 높이고 부정적인 신호는 점수를 낮춘다. Author DiversityOON(Out-of-Network) Penalty를 적용하여, 특정 작성자의 과도한 노출을 방지하고, 팔로우하지 않은 계정의 게시물에 대한 가중치를 조절한다.

맞춤형 피드를 위한 필터링 및 안전성 검사

알고리즘은 게시물 점수 계산 전에 다양한 필터를 적용하여 품질을 보장한다. 중복 제거(Dedup), 연령 제한(Age Limit), 뮤트된 키워드(Muted Keywords), 차단 목록(Block Lists) 등을 통해 부적절한 콘텐츠를 걸러낸다. 또한, 외부 안전성 서비스(External Safety Service)를 통해 게시물의 안전성을 검사하고, 대화 중복 제거 필터를 통해 스레드 내에서 가장 높은 점수를 받은 게시물만 유지한다.

알고리즘의 의도와 커뮤니티의 시각

알고리즘은 긍정적인 참여(좋아요, 답글, 공유)를 최대화하고, 부정적인 참여(차단, 뮤트, 신고)를 최소화하는 방향으로 설계되었다. 하지만, 커뮤니티에서는 오픈 소스 알고리즘과 실제 운영 알고리즘 간의 차이점에 대한 의구심을 제기한다. 특히, 알고리즘의 복잡성과 데이터 미저장 정책(Zero-Retention Policy)의 부재에 대한 우려가 제기되며, 실제 운영 환경과의 괴리에 대한 논쟁이 벌어진다.

Walkthrough of X's algorithm that decides what you see

댓글 0

첫 번째 댓글을 남겨보세요!