- 읽은 자료 2건
- 정본 반영 2개 파일
- 레이더 0건
오늘 함께 본 다른 변화는 다음과 같다.
- X가 브라질 결선 투표가 끝나자 브라질 선거 필터를 For You에서 삭제했다.
- Meta가 2026년 판 Andromeda 광고 retrieval을 공개했고, Facebook 전환 2.4% 증가를 보고했다.
1랭킹 끝에 페이지 단위 재순위와 탐색이 생겼다 — X
자료 xai-org/x-algorithm@5ed7963 — xAI, 2026-10-28, 코드. 이 노트들이 붙인 번호로는 4세대+51이다(4세대+N은 2026-08-13 4세대 공개 뒤의 커밋에 이 노트들이 차례로 붙인 번호다).
배경 X For You는 Phoenix(Grok 기반 랭킹 트랜스포머)가 후보마다 행동 확률을 내고, VMRanker(DPP로 슬레이트를 다시 고르는 서비스)가 순서를 정한다. 2026-10-14 커밋에서 페이지 디코더(점수 상위 후보 풀에서 한 페이지에 놓을 포스트를 슬롯 순서대로 하나씩 고르는 RL 재순위 모델)의 학습 코드가 공개됐지만, home-mixer(For You 요청을 처리하는 서비스)가 그 결과를 어디서 쓰는지는 없었다. RL 재순위를 오프라인에서 학습하려면 서빙 정책이 각 순서를 고른 확률, 곧 propensity(로그를 남긴 정책이 그 행동을 고른 확률)도 로그에 있어야 한다. 이번 커밋은 디코더 결과를 소비하는 스코어러와 확률을 남기는 탐색 스코어러, 그 확률을 담는 서빙 로그를 모두 기본 off로 추가한다.
새로 알게 된 것A. 페이지 디코더 결과는 VMRanker 다음 단계에서 순위 맨 위를 차지한다
스코어러 체인 끝에 두 스코어러가 더해졌다 확인 —
phoenix_candidate_pipeline.rs:466-472.- 순서는
PhoenixScorer,ImmersiveVideoScorer,vm_ranker,PageDecodeRerankScorer,PageRlExplorationScorer다.
- 순서는
디코더 재순위가 켜지면 home-mixer가 Phoenix 요청에 디코딩 설정과 현재 랭킹 가중치를 함께 보낸다 확인 —
page_decode_rerank_scorer.rs:22-49.- 가중치 13개는 favorite부터
min_video_duration_ms까지 크론 미러(프로덕션 기본값을 매일 옮겨 오는 파라미터 파일) 값을 그대로 쓴다. 2026-10-16 커밋이 남긴 "RankingScoreWeights를 채우는 호출 측" 질문의 답이다. diversity_weight는None으로 보낸다.
- 가중치 13개는 favorite부터
Phoenix가 돌려준 픽은 슬롯 순서대로 맨 위에 놓이고, 나머지 후보는 원래 점수 순으로 뒤를 잇는다 확인 —
page_decode_rerank_scorer.rs:80-110.- 점수 값 자체는 새로 만들지 않는다. 기존 점수 집합을 내림차순으로 다시 배분해, 픽 순서대로 높은 점수를 준다.
- 픽이 하나도 없으면 점수를 그대로 두고
fail_open메트릭을 올린다. - 테스트는 슬롯 2·0·1이 붙은 후보 1·3·5가 3, 5, 1 순으로 상위 점수를 받는 것을 고정한다.
param!(EnablePageDecodeRerank, bool, "rust_home_mixer_enable_page_decode_rerank", false); param!(PageDecodePoolN, u32, "rust_home_mixer_page_decode_pool_n", 200); param!(PageDecodeSteps, u32, "rust_home_mixer_page_decode_steps", 64); param!(PageDecodeTemperature, f64, "rust_home_mixer_page_decode_temperature", 0.0); param!(EnablePageRlExploration, bool, "rust_home_mixer_enable_page_rl_exploration", false); param!(PageRlExplorationTemperature, f64, "rust_home_mixer_page_rl_exploration_temperature", 0.2); param!(PageRlExplorationTopK, usize, "rust_home_mixer_page_rl_exploration_top_k", 64);- 위는
params/param.rs:313-365를 한 줄씩 줄여 옮긴 것이다. 2026-10-14 학습 코드의 서빙 슬롯 수는 12였는데, 여기 기본 단계 수는 64다.
새로 알게 된 것B. 탐색 스코어러는 상위 64개 순서를 무작위로 섞고 자리별 확률을 기록한다
- 탐색이 켜지면 점수 상위 64개를 점수/temperature의 softmax로 한 자리씩 뽑는 Plackett-Luce 샘플링(softmax 확률로 비복원 추출해 순서를 정하는 방식)으로 다시 줄 세운다 확인 —
page_rl_exploration_scorer.rs:29-110.- temperature 기본값은 0.2이고, 하한
1e-6으로 막는다. temperature가 0에 가까우면 원래 점수 순서가 그대로 나온다는 테스트가 있다. - 상위 64개 밖의 후보는 점수와 순서가 바뀌지 않는다.
- 각 후보에는 그 자리에서 뽑힐 확률
page_rl_exploration_prob이 붙는다.
- temperature 기본값은 0.2이고, 하한
- 디코더 재순위가 켜져 있고 디코더 픽이 있는 요청에는 탐색을 하지 않는다 확인 —
page_rl_exploration_scorer.rs:129-142. - 새 서빙 로그가 실제로 나간 피드 앞 64개 포스트의 점수와 자리별 확률을 요청 단위로 Redis 두 데이터센터에 적는다 확인 —
phoenix_request_cache_side_effect.rs:201-305.- 이 side effect(응답을 바꾸지 않고 로그만 남기는 단계)의 스위치
EnablePageLogging은 기본 false이고, TTL 기본값은 3600초다. - 탐색 확률은 proto의
rewardRerankSlotProb에, 디코더 샘플링 확률은pageDecodeSlotProb에, 디코더 적용 여부는 새 필드pageDecoded에 담긴다. - For You와 Ranked Following 파이프라인 모두 이 side effect를 등록한다.
- 이 side effect(응답을 바꾸지 않고 로그만 남기는 단계)의 스위치
- 이 확률이 2026-10-14 학습 코드가 읽는
rl_rerank_prob의 출처라고 본다 추정. 근거는 같은rewardRerankSlotProb필드를 학습 코드가 로깅 확률로 읽는다는 점이다.
새로 알게 된 것C. 브라질 선거 필터가 삭제되고 신규 유저 NSFW 필터의 대상이 넓어졌다
- 브라질 선거 필터 파일과 파이프라인 등록이 삭제됐다 확인 — README.md
#october-26th-2026.- 이 필터는 브라질 선거법원에 보고된 계정의 포스트를, 뷰어가 그 계정을 팔로우하지 않으면 For You에서 뺐다. 10월 25일 결선 투표 뒤 삭제됐다.
- 스코어링 전 필터는 22개에서 21개가 됐다.
- 기본 off인 신규 유저 soft NSFW(노골적이지 않은 성적 콘텐츠) 필터의 대상이 가입 1일 미만에서 7일 미만으로 넓어졌다 확인 —
params/param.rs:863-879.- 계정 나이 상한이 86400초에서 604800초로 바뀌었다.
- 대신 스코어링 시퀀스 길이가 100 이상인 유저는 빠진다. 상한 0이면 이 조건을 끈다.
- VF(visibility-filtering, 포스트마다 이 뷰어에게 보여도 되는지 판정하는 서비스)에서 신고 휴리스틱 라벨 규칙 8개가 삭제됐다 확인 —
rules/tweet_rules.rs.- 삭제된 규칙은
NSFW_REPORTED_HEURISTICS6개(블러, 연령 확인 tombstone, 앱 업데이트 tombstone 등)와GORE_AND_VIOLENCE_REPORTED_HEURISTICS2개다. - 이 라벨만 붙은 포스트는 이제 VF에서 블러나 경고 화면 처리를 받지 않는다 추정. 라벨 자체가 더는 생성되지 않는지는 코드에 없다.
- 삭제된 규칙은
새로 알게 된 것그 밖의 변경
- 영상 캐러셀 후보에서 브랜드 안전 HighRisk 포스트를 빼는 스위치가 기본 off로 생겼다 확인 —
video_carousel_filter.rs:29-39. 켜지면 판정이 없는 포스트도 빠진다. - README가 10월 8일 체류 시간 예측 개선과 10월 13일 끝까지 읽은 포스트를 retrieval 학습 대상으로 넣은 변경을 공지로 추가했다 확인 — README.md.
- Thunder 후보 소스의 클러스터 선택 파라미터가 삭제됐다 확인 —
sources/thunder_source.rs. - Phoenix 학습기에 오프라인 데이터 끝을 여러 프로세스가 맞춰 멈추는 기능이 기본 off로 생겼다 확인 —
train/follow_data_end.py. - 광고 전환 액션
ADS_LEADGEN_CONVERSION = 196이 proto에 추가됐다 확인 —recsys.proto. - grox(Grok 기반 주석 파이프라인)의 motion-reveal 영상 프롬프트 문구와 작성자 메타데이터 필드, abuse-enforcement의 유저 유형 조회가 바뀌었다 확인 — 5ed7963.
"With the 2026 Brazilian elections over, we have removed
Brazil2026ElectionFilterfrom For You. Posts from the accounts it covered are no longer filtered out because of it." — xai-org/x-algorithm README, 2026-10-28 커밋
정본 반영 services/x.md ## 한 줄 요약의 기준 커밋과 스코어링 전 필터 수(22→21)를 고쳤다. ## 랭킹 도입에 새 스코어러 두 개를 한 문장으로 넣었고, Phoenix 절의 스코어러 체인 불릿을 5ed7963 기준으로 고쳤다. ## 재순위·다양성·필터 도입과 필터 절의 필터 수와 목록을 고치고, 브라질 선거 필터 불릿에 삭제를 적었다. 신규 유저 soft NSFW 필터의 대상 조건을 두 곳에서 고쳤고, 최종 배치 절에 캐러셀 HighRisk 스위치를 넣었다. ## 용어 표에 페이지 디코더와 Plackett-Luce 샘플링 행을 더했고, 2026-10-14 커밋의 열린 질문 1·2번 아래에 답을 불릿으로 적었다. ## 출처의 기준 커밋과 변경 이력 요약표에 행을 추가했고, assets/x-pipeline.svg의 필터 수와 재순위 단계를 고쳤다.
의미 X는 페이지 단위 RL 재순위를 서빙에 넣기 위한 마지막 연결을 공개했다. 탐색으로 확률을 남기고, 그 로그로 디코더를 학습하고, 디코더 결과를 맨 위에 놓는 순환 구조가 코드로 갖춰졌다. 다만 세 스위치가 모두 기본 off이므로 실제 피드에 적용됐다는 근거는 아직 없다.
2Andromeda가 적격 광고를 GPU에서 전부 채점하게 됐다 — Facebook
자료 Meta Andromeda: Powering the Next Generation of Ads Retrieval Through Model-System Co-Design — Meta Engineering, 2026-10-28, 블로그.
배경 Andromeda는 Facebook과 Instagram 광고 후보를 수 밀리초 안에 좁히는 Meta의 광고 retrieval 엔진이다. 2024년 공개 글은 광고를 학습되는 계층 인덱스로 정리해 two-tower와 ANN(근사 최근접 이웃 검색)을 넘어섰다고 설명했다. retrieval은 비용 때문에 랭킹보다 단순한 모델을 쓰는 것이 보통이어서, 정확도와 처리량 사이의 균형이 늘 문제였다. 이 글은 2026년 판 Andromeda의 모델 구조와 GPU 공동 설계를 설명한다.
새로 알게 된 것A. retrieval 모델이 MoE가 되고 적격 광고 전체를 한 GPU에서 채점한다
- retrieval 모델이 Mixture-of-Experts(입력마다 일부 전문가 네트워크로 보내 계산하는 구조)로 바뀌었다 확인 — Meta 블로그.
- 유저 쪽은 단일 tower에서 전문화된 user tower 여러 개의 앙상블이 됐다.
- 광고 tower는 실시간 서빙 맥락을 함께 인코딩한다.
- 상호작용 층은 dense 네트워크에서 MoE attention 기반 gating 네트워크가 됐다.
- 블로그는 이 모델이 랭킹 수준에 가까운 성능을 2024년 모델의 약 300분의 1 추론 FLOPs로 낸다고 쓴다 확인 — 같은 블로그.
- 타게팅 규칙 적용(index matching), 채점, top-K 선택을 같은 GPU에 모아 후보 풀의 적격 광고를 전부 채점한다 확인 — 같은 블로그.
- 하드웨어는 NVIDIA GH200이고, 서버 한 대가 초당 10억 개 넘는 광고를 처리한다. 네트워크 트래픽은 약 100배 줄었다고 쓴다.
- 이 글에서 index matching은 광고주가 정한 타게팅 조건을 수십 개 피처 범주에 걸쳐 적용하는 단계다.
- 2024년의 계층 인덱스는 출발점으로만 언급되고, 새 파이프라인에서의 역할은 설명되지 않는다 확인 — 같은 블로그.
새로 알게 된 것B. 온라인 성과는 2025년 이후 Facebook 전환 2.4% 증가다
- 블로그가 밝힌 온라인 성과는 Facebook 전환 2.4% 증가 하나다 확인 — 같은 블로그.
- 이 수치가 2026년 판만의 효과인지 2025년 이후 누적 효과인지는 가를 수 없다 추정. 근거는 "Since 2025"라는 기간 표현이다.
- 유기 피드 retrieval에 같은 스택을 쓴다는 서술은 이 글에도 없다 확인 — 같은 블로그.
"model performance approaches ranking-level in a typical retrieval-then-ranking system, at approximately 300x fewer inference-time FLOPs than the 2024 Meta Andromeda retrieval model."
"Since 2025, Meta Andromeda has delivered a 2.4% increase in conversions on Facebook." — Meta Andromeda (블로그), 2026-10-28
정본 반영 topics/embedding-retrieval.md ## 계층 4 — Andromeda + HILL/MoNN: 인덱스를 학습시킨다에 2026년 판의 MoE 구조, 전수 채점, 성과 수치를 한 단락과 불릿으로 더했고, ## 출처에 이 글을 추가했다.
의미 Meta 광고 retrieval의 방향이 인덱스로 후보를 덜 보는 쪽에서, 하드웨어로 전부 보는 쪽으로 옮겨 갔다. 근거는 "scoring every eligible ad"라는 표현과 계층 인덱스를 과거 기반으로만 부른 서술이다. 다만 계층 인덱스를 버렸다는 문장은 없으므로 이전 주장을 뒤집지 않는다.
다음에 볼 것
- X 크론 미러에서 페이지 디코더, 탐색, 페이지 로그 스위치가 켜지는 날 — 페이지 단위 RL 재순위가 실제 For You 순서에 들어가는 시점이다.
- 페이지 디코더 서빙 단계 수 64와 학습 config의 서빙 슬롯 12가 어떻게 맞춰지는지 — Phoenix 서빙 쪽 코드가 공개돼야 알 수 있다.
- VF 신고 휴리스틱 라벨이 다른 경로에서 계속 쓰이는지 — 규칙 삭제가 정책 완화인지 라벨 폐기인지 가르는 근거가 필요하다(추정).
- Andromeda 2026의 계층 인덱스 사용 여부 — 논문이나 후속 글이 나오면 topics의 계층 4 절을 고친다.
조회 실패: ai.meta.com/blog — 목록 페이지가 스크립트 렌더링이라 글 링크를 하나도 읽지 못했다