Elon이 X에서 사용자가 무엇을 보게 될지 결정하는 알고리즘을 오픈소스로 공개했습니다.
이를 설명하는 블로그 게시물이 아닙니다. 이를 묘사하는 보도 자료도 아닙니다. 실제 소스 코드입니다. 실제 모델 가중치와 함께요. GitHub에 올라왔습니다. 모든 줄이요. 사용자의 게시물이 100명에게 도달할지 1억 명에게 도달할지를 결정하는 모든 신호들 말입니다.
이것은 지구상에서 가장 강력한 추천 엔진입니다. 그리고 이제 여러분이 그것을 읽을 수 있게 되었습니다.
알고리즘이 실제로 살펴보는 내용은 다음과 같습니다:
→ 15가지 행동. 모델은 '관련성(relevance)' 점수를 매기지 않습니다. 대신 모든 게시물에 대해 15개의 개별 확률을 예측합니다: 즐겨찾기(favorite), 답글 달기(reply), 리포스트(repost), 인용하기(quote), 클릭(click), 프로필 클릭(profile click), 동영상 보기(video view), 사진 확장(photo expand), 공유(share), 체류 시간(dwell), 작성자 팔로우(follow the author), 관심 없음(not interested), 작성자 차단(block author), 작성자 음소거(mute author), 신고(report). 최종 도달률은 이 15가지 요소의 가중 합계입니다.
→ 부정적인 행동은 생각보다 더 큰 피해를 입힙니다. 차단, 음소거, 신고, 관심 없음은 마이너스 가중치로 적용됩니다. 게시물에 대한 단 한 번의 음소거도 점수에서 차감됩니다. 음소거 1회와 좋아요 10개를 받은 게시물이 단순히 10개의 좋아요를 얻는 것은 아닙니다. 이는 10개 좋아요에서 큰 페널티가 차감된 결과입니다.
→ 북마크는 추적되지 않습니다. 북마크는 예측되는 15가지 행동에 포함되어 있지 않습니다. '북마크할 만한 게시물을 작성하라'고 말하는 모든 크리에이터 구루들은 이 공개된 코드에 따르면 틀렸습니다. 북마크가 사용자에게 사적으로 중요할 수는 있지만, 랭커(ranker)에는 영향을 주지 않습니다.
→ 체류 시간은 조용한 투표입니다. 누군가가 스크롤을 멈추고 참여하지 않은 채 게시물에 머무르는 것은 긍정적인 신호로 간주됩니다. 모델은 P(dwell) 예측치를 가지고 있습니다. 알고리즘은 사람들이 멈추는 순간을 파악합니다.
→ 프로필 클릭은 별도로 추적됩니다. P(profile_click) 자체가 하나의 예측치입니다. 게시물에서 사용자의 프로필로 이동하는 행위는 명확한 긍정적 신호입니다. 게시물이 클릭을 유도하고, 바이오가 팔로우를 확정합니다.
→ 인용 (Quote)은 재게시 (Repost)보다 가치가 높습니다. 모델은 P(quote)와 P(repost)를 서로 다른 가중치를 가진 두 가지 별개의 행동으로 예측합니다. 누군가 자신의 의견을 덧붙이는 인용 트윗 (Quote tweet)은 아무런 언급 없이 이루어지는 재게시 (Repost)가 담지 못하는 정보를 전달합니다. 알고리즘은 단순한 확산 (Amplification)이 아닌 대화 (Conversation)에 보상을 줍니다.
→ 참여 후 팔로우 (Follow-after-engagement)가 추적됩니다. P(follow_author)는 15가지 예측 항목 중 하나입니다. 독자를 팔로워로 전환시키는 게시물은 랭커 (Ranker)에 의해 직접적으로 보상을 받습니다. 이는 하드코딩된 규칙 때문이 아니라, 모델이 해당 신호 (Signal)를 학습했기 때문입니다.
→ 작성자 다양성 점수 산출기 (Author Diversity Scorer)는 스팸 게시 (Spam posting)를 처벌합니다. 코드에는 Author Diversity Scorer라고 불리는 특정 구성 요소가 있습니다. 이 구성 요소의 역할은 동일한 작성자로부터 발생하는 반복적인 점수를 감쇄 (Attenuate)시키는 것입니다. 하루에 20번씩 게시물을 올리는 것은 자신의 도달 범위 (Reach)를 스스로 잠식하는 행위입니다. 알고리즘은 자동으로 다양성을 강제합니다.
→ 후보군 격리 (Candidate isolation). 각 게시물은 사용자의 이력에 따라 개별적으로 점수가 매겨집니다. 점수를 매기는 동안 게시물들은 서로를 볼 수 없습니다. 귀하의 게시물은 배치 (Batch) 내의 바로 위에 있는 게시물과 경쟁하는 것이 아닙니다. 사용자의 취향 모델 (Taste model)과 경쟁하는 것입니다.
→ 네트워크 외 발견 (Out-of-network discovery). Phoenix 검색 시스템 (Retrieval system)은 투 타워 모델 (Two-tower model)을 사용합니다. 하나의 타워는 귀하를 인코딩 (Encode)하고, 다른 하나의 타워는 X의 모든 게시물을 인코딩합니다. 이들은 벡터 공간 (Vector space)에서 만납니다. 작성자를 팔로우하지 않더라도 가장 유사한 매칭 결과가 귀하의 '추천 (For You)' 피드에 나타납니다.
→ 가시성 필터 (Visibility filters)가 마지막에 실행됩니다. 랭킹 (Ranking) 단계 이후, 최종 패스 (Final pass)를 통해 스팸, 폭력, 잔혹물, 그리고 삭제된 게시물을 제거합니다. 랭킹이 도달 범위 (Reach)를 결정한다면, 가시성 (Visibility)은 해당 게시물을 볼 수 있는지 여부를 결정합니다.
이것이 귀하에게 의미하는 바는 다음과 같습니다:
만약 귀하의 게시물이 사람들에게 도달하지 못하고 있다면, 그것은 알고리즘이 고장 났기 때문이 아닙니다. 알고리즘이 설계된 대로 정확하게 작동하고 있기 때문입니다. 알고리즘은 다음 사항들에 보상을 줍니다:
- 다양한 액션 유형에 걸쳐 반응을 얻는 게시물 (좋아요 1개와 프로필 클릭 1개, 그리고 팔로우 1개가 결합되면 좋아요 5개보다 더 높은 점수를 받습니다)
- 대화의 깊이 (수식 계산 시 인용 트윗 (quote tweets)이 리포스트 (reposts)보다 더 높은 가치를 가집니다)
- 체류 시간 (Dwell time) (사람들이 멈춰서 읽을 수 있는 게시물을 작성하세요)
- 시청자를 팔로워로 전환하는 게시물 (당신의 프로필 (bio) 또한 게시물의 일부입니다)
- 각 작성자의 다양성 (게시물 수를 줄이고, 더 나은 게시물을 올리세요)
그리고 다음과 같은 사항들은 처벌합니다:
- 뮤트 (Mutes)
- 차단 (Blocks)
- 신고 (Reports)
- "관심 없음" 클릭
- 동일 작성자의 과도한 노출 (Same-author saturation)
20년 동안, 이 알고리즘은 비밀이었습니다.
여기에서 읽기: