- 읽은 자료 4건
- 정본 반영 5개 파일
- 레이더 1건
오늘 함께 본 다른 변화는 다음과 같다.
- X가 For You의 기본 광고 블렌더를 일주일 만에 다시 slot-spread로 바꾸고, 셔플 이력 retrieval을 기본 off로 추가했다.
- Kuaishou가 일평균 4억 DAU를 서빙하는 생성형 추천 전용 서빙 시스템 RecoGEM을 논문으로 공개했다.
1유저가 적은 관심사가 퍼널 단계마다 따로 반영된다 — Facebook
자료 Your Algorithm: Giving People More Ways to Personalize Facebook Recommendations — Meta 엔지니어링 블로그, 2026-11-10, 블로그.
배경 Facebook은 2026-10-13 뉴스룸에서 Your algorithm을 발표했다. 유저가 Feed와 Reels 추천을 이끄는 관심사를 직접 넣고 빼거나 자유 텍스트로 적는 페이지다. 그때 글은 LLM을 쓴다고만 했고, 적은 내용이 랭킹 어디에 들어가는지는 밝히지 않았다. 이번 글은 같은 기능의 엔지니어링 설명으로, 관심사 하나가 검증부터 retrieval(랭킹에 넘길 후보를 모으는 단계), 랭킹, 재순위, 기기 캐시까지 가는 경로를 단계별로 적는다.
새로 알게 된 것A. 관심사는 랭커를 바꾸지 않고 퍼널의 단계마다 별도 장치로 들어간다
- "관심 있음" 관심사 하나마다 전용 retrieval 소스가 네 개 붙는다 확인 — 블로그.
- 둘은 검색과 가까운 토픽 클러스터로 맞는 콘텐츠를 직접 찾고, 둘은 콘텐츠 그래프와 아이템 간 유사도로 범위를 넓힌다.
- 요청 하나는 관심사 하나의 후보만 가져온다. 그래서 관심사가 여럿이면 요청마다 차례가 돌아간다.
- 글은 이 소스가 없으면 새 관심사의 콘텐츠가 랭킹 파이프라인에 아예 못 들어올 수 있다고 쓴다.
- 관심사와 의미가 가까운 후보는 후반 랭킹에서 가산을 받는다 확인 — 같은 블로그.
- 관련성 검사는 관심사의 의미와 후보를 비교하는 임베딩 기반 비교다.
- 재순위(랭킹 점수를 받은 목록의 순서를 다시 정하는 단계)의 조절 계층이 관심사의 양을 묶는다 확인 — 같은 블로그.
- 같은 관심사의 추천 사이에 간격을 두고, 관심사마다 하루 기여량에 상한을 건다.
- 새 관심사는 정해진 기간 동안 추가 가중을 받고, 그 뒤에는 참여 반응으로 학습한다. 기간, 가중, 상한 값은 적혀 있지 않다.
"Each interest in Interested In drives four dedicated retrieval sources." "The control layer spaces out recommendations for the same interest and caps each interest’s daily contribution. Retrieval also fetches candidates for only one interest per request, so every interest gets a turn. New interests receive extra weight for a limited period." — Your Algorithm 블로그 (블로그), 2026-11-10
새로 알게 된 것B. 작은 LLM이 입력을 검증하고, fine-tuned LLM이 랭킹 뒤 원치 않는 포스트를 뺀다
- 관심사를 추가하거나 옮기면 작은 LLM이 주제로 성립하는지 검사하고, 중복을 찾고, 정돈된 토픽 이름에 대응시킨다 확인 — 같은 블로그.
- 검증된 관심사에는 임베딩과 검색 키워드를 붙여 Feed와 Reels가 함께 읽는 선호 저장소에 저장한다.
- 무결성·안전 검사는 LLM과 별도인 전용 구성요소가 맡는다.
- "관심 없음"은 여러 단계에서 겹쳐 적용된다 확인 — 같은 블로그.
- 랭킹 중에는 같은 임베딩 비교로 너무 가까운 후보를 빼고, 가까운 것은 데모션(노출 순위를 낮추는 처리) 규칙으로 내린다.
- 랭킹 뒤에는 fine-tuned LLM이 최종 목록을 보고, 최근 "관심 없음"에 넣은 관심사와 관련된 항목을 뺀다.
- AI 생성물이나 선정적 콘텐츠를 줄여 달라는 요청은 토픽 매칭이 아니라 전용 데모션 신호로 간다. 특정 크리에이터를 지목하면 그 크리에이터의 콘텐츠를 바로 거른다.
- 첫 방문 때 미리 채워 두는 관심사 목록과 한 문장 요약(Lately Summary)도 LLM이 과거 Feed·Reels 시청 신호로 만든다 확인 — 같은 블로그.
- 출시 전 평가는 별도 LLM이 각 LLM 호출의 출력을 기대 동작과 비교해 채점하는 방식이었다 확인 — 같은 블로그.
"The ranking funnel matches interests to candidates using embeddings, which are fast but coarse. To catch what they miss, a fine-tuned LLM reviews the ranked list and removes content it judges to be related to an interest recently added to Not Interested In. A key insight was that a small model fine-tuned to return only the items to remove was faster and more reliable than a general-purpose model judging each item individually." — Your Algorithm 블로그 (블로그), 2026-11-10
새로 알게 된 것그 밖의 변경
- 관심사를 추가하면 정규 요청 주기 밖의 추가 요청(supplementary tail load)으로 새 추천을 바로 받는다 확인 — 블로그.
- 관심사를 "관심 없음"에 넣으면 클라이언트가 그 관심사의 클러스터를 받아, 이미 기기에 캐시된 콘텐츠 중 맞는 것을 표시 전에 버린다 확인 — 같은 블로그.
- 글에는 A/B 결과, 지연, 유저 수 같은 수치가 없다 확인 — 같은 블로그.
정본 반영 services/facebook.md ### 유저 컨트롤 도입 문장을 새 블로그 기준으로 다시 쓰고, 메커니즘 불릿 묶음과 인용을 추가했다. 뉴스룸만 보고 쓴 추정 불릿("자유 텍스트를 LLM이 토픽이나 임베딩으로 바꿔…")은 확인된 내용으로 대체했다. 표의 Your algorithm 행에 블로그 링크를 더하고, ## 열린 질문에 15번(가중 기간과 상한 값)을, ## 출처에 블로그를 추가했다. topics/llm-in-recsys.md는 도입, 자리 표의 Meta 4·5·6칸, ## 자리 6 절, ## Meta 쪽 아직 확인 못한 것, ## 누가 이걸 쓰는가의 Facebook 항목을 고쳤다. topics/feed-diversity.md ## 누가 이걸 쓰는가의 Facebook 항목에 관심사별 간격·하루 상한 하위 불릿을 더했다.
의미 ⚠ 주장 변경: llm-in-recsys.md는 "Dear Algo / Your Algorithm의 자연어 파서는 LLM인지 분류기인지, 파이프라인 어디에 붙는지 공개된 정보가 전혀 없다"고 적었지만, Facebook에 대해서는 이제 단계별 답이 있다. 답은 "랭커에 조건을 넣는다"가 아니라 retrieval 소스 추가, 후반 가산, 재순위 상한, LLM 후처리 거르기를 함께 쓰는 구조다. 같은 이름의 Instagram 기능에 같은 구조가 있는지는 진술이 없으므로 추정으로 둔다.
2기본 광고 블렌더가 일주일 만에 slot-spread로 돌아갔다 — X
자료 xai-org/x-algorithm @ 660cd74 — xAI, 2026-11-10, 코드. 이 노트들이 붙인 번호로는 4세대+60이다(4세대+N은 2026-08-13 4세대 공개 뒤의 커밋에 이 노트들이 차례로 붙인 번호다).
배경 X For You는 광고 블렌더(유기 포스트 사이에 광고를 끼워 넣는 마지막 단계)가 광고 자리를 정한다. 후보는 multi-risk 블렌더(광고 옆 포스트의 위험 등급과 광고주가 허용한 맥락을 조합해 자리를 정함)와 slot-spread 블렌더(광고 슬롯을 페이지에 고르게 먼저 정하고, 슬롯 근처의 안전한 포스트를 광고 옆으로 끌어옴)다. 기본값은 2026-10-31에 slot-spread로, 2026-11-03에 multi-risk로 바뀌었다. 이번 커밋은 크론 미러(프로덕션 기능 스위치 기본값을 매일 동기화해 공개하는 파일)에서 기본값을 다시 slot-spread로 바꾸고, 기본 off인 retrieval 실험 경로 몇 개를 추가한다.
새로 알게 된 것A. 기본 광고 블렌더가 multi-risk에서 slot-spread로 다시 바뀌었다
- home-mixer(For You 요청을 받는 서비스)의 광고 블렌더 기본값이
slot_spread다 확인 —params/param.rs:976-981.- 미러 헤더의 마지막 동기화 시각은 2026-11-09T16:00:34Z다.
- 열흘 사이 세 번째 전환이다: 10-31 slot_spread, 11-03 multi_risk, 11-10 slot_spread.
param!(
AdsBlenderType,
String,
"rust_home_mixer_ads_blender",
"slot_spread"
);
새로 알게 된 것B. 이력 순서를 섞어 retrieval을 한 번 더 부르는 소스가 기본 off로 생겼다
- 새 후보 소스는 유저 이력의 행 순서를 무작위로 섞은 사본으로 Phoenix retrieval(Grok 기반 Phoenix 모델의 two-tower 후보 검색)을 한 번 더 부른다 확인 —
sources/shuffled_history_phoenix_source.rs.- 스위치
EnableShuffledHistoryRetrieval은 기본 false다 —params/param.rs:188-193. - 섞기는 Arrow 열 형식 이력을 행 단위로
shuffle한 뒤 다시 직렬화한다. 결과 후보에는 served type(후보가 어느 소스에서 왔는지 나타내는 라벨)ForYouPhoenixRetrievalShuffledHistory가 붙는다. - 토픽 요청, 인네트워크 전용 요청, 캐시 재사용 요청에서는 꺼진다. 상한과 이미 본 포스트 제외는 기존
PhoenixSource와 같은 파라미터를 쓴다.
- 스위치
- 이력의 순서 정보에 덜 기대는 후보를 따로 모아 효과를 재려는 실험으로 본다 추정. 근거는 모델과 상한이 같고 순서만 바꾼 입력을 넣으며, 선택·비선택 후보 통계를 별도로 기록한다는 점이다.
새로 알게 된 것C. 신규 유저 참여 필터의 기본 기준이 좋아요/조회 0.4%로 정해졌지만 필터는 여전히 꺼져 있다
- 가입이나 복귀 직후 뷰어에게 참여가 낮은 OON(팔로우하지 않는 계정의) 포스트를 빼는 필터의 기본 기준이 비율 0.004가 됐다 확인 —
params/param.rs:876-887.- 비율 모드가 false에서 true로, 임계가 0.0에서 0.004로 바뀌었다. 지표 기본값은
fav라서 기준은 좋아요 수 ÷ 조회수다. - 필터 스위치
EnableNewUserMinEngagementFilter는 기본 false이고, 대상 창은 계정 생성이나 복귀 후 1,800초다. - 조회수가 없거나 0인 포스트는 남기고, 인네트워크 포스트는 검사하지 않는다 —
filters/new_user_min_engagement_filter.rs:64-108.
- 비율 모드가 false에서 true로, 임계가 0.0에서 0.004로 바뀌었다. 지표 기본값은
새로 알게 된 것그 밖의 변경
- Phoenix retrieval 인덱스에 AI 생성 영상 전용 인덱스 두 개(작성자 자진 표시, C2PA나 Grok 서명 등으로 탐지)가 1·2·7일 window로 생겼고, NSFW 영상 인덱스의 포스트는 뺀다 확인 —
phoenix-rankall/src/config/mod.rs:222-227. C2PA는 파일에 생성 도구와 편집 이력을 서명해 담는 콘텐츠 출처 표준이다. 이 인덱스를 조회하는 서빙 요청은 없다. - 영상 캐러셀 정렬 점수에 Phoenix의 관심 없음 예측 항이 가중 0.0으로 더해졌다 확인 —
util/video_carousel.rs. 테스트는 가중 −25에서 관심 없음 확률 0.02인 영상이 한 칸 밀리는 것을 고정한다. - 캐러셀 헤더 아이콘은 스위치로 켜고 끄게 됐고 기본 off다 확인 —
params/param.rs:1254-1259. - For You 맨 위에 Under the Hood(유저가 자기 포스트에 붙은 라벨과 파이프라인 처리를 보는 투명성 툴)의 파이프라인 트레이스 카드를 넣는 스위치가 기본 off로 생겼다 확인 —
for_you_server.rs. - VF(visibility-filtering, 포스트마다 이 뷰어에게 보여도 되는지 판정하는 서비스)에 규칙 하나를 실험군에서만 켜거나 끄는 장치가 생겼지만, 등록된 실험은 테스트용뿐이다 확인 —
rules/experiment.rs. 노출은 그 규칙이 판정을 바꿀 요청에서만 기록한다. - 안전 라벨 캐시는 키를 지우고 30초 뒤 한 번 더 지우며, 30초 넘게 묵은 읽기로 만든 캐시 채우기는 버린다 확인 —
safety-label-source/dragonfly.rs. - Phoenix 랭킹 학습에 광고 캠페인·라인 아이템·소재 형식·목표 ID 임베딩 입력이 기본 off(차원 0)로 생겼다 확인 —
xrex/models/recsys_model.py. - 섀도 트래픽(실험 클러스터에 채점만 보내고 서빙에는 쓰지 않는 경로) 비율 목록에 Experiment20Fou 0.3이 더해졌다 확인 —
params/param.rs:91-101. - 학습 기본 데이터 리더가 Rust parquet 리더로 바뀌고, 모델 재적재가 피어 간 점진 다운로드를 지원한다. 정책 변화는 없다 확인 —
xrex/configs/data_feeds.py.
정본 반영 services/x.md ## 한 줄 요약의 기준 커밋을 660cd74로 올렸다. ### 최종 배치는 점수 순이 아니다의 광고 블렌더 기본값과 이력 문장, ## 광고 도입과 이력 목록, ### 광고 블렌딩과 브랜드 안전 판정의 multi_risk 기본 기간을 고쳤다. 후보 소스 표에 ShuffledHistoryPhoenixSource 행과 세부 불릿을 더했고, NewUserMinEngagementFilter 불릿에 기본 기준 하위 불릿을, 캐러셀 항목에 관심 없음 항과 헤더 아이콘 불릿을 더했다. ### Phoenix retrieval 인덱스, ## 안전성 도입, ### Under the Hood 절에 한 불릿씩 더하고, ## 용어 표에 C2PA 행, ## 출처의 git 로그 기준과 기준 커밋 표, 커밋 요약표에 4세대+60 행을 추가했다. topics/llm-in-recsys.md의 브랜드 안전 불릿과 출처 기준 커밋도 같이 고쳤다.
의미 X는 열흘 동안 두 광고 블렌더 사이를 세 번 오가고 있어, 어느 쪽을 최종 기본으로 둘지 아직 정하지 않은 것으로 본다. 근거는 같은 두 값만 번갈아 미러에 나타나고 다른 광고 파라미터는 바뀌지 않았다는 점이므로 추정으로 둔다. 나머지 변경은 모두 기본 off라 이 커밋 기준 For You 동작에서 달라진 것은 광고 자리뿐이다.
3생성형 추천을 4억 DAU에 서빙하는 시스템을 공개했다 — Kuaishou
자료 RecoGEM: A Serving System for Production-Scale Generative Recommendation — Kuaishou Technology 등, 2026-11-09 v1, 논문.
배경 생성형 추천(GR)은 후보마다 점수를 매기는 대신, 아이템 식별자를 토큰 단위로 몇 단계에 걸쳐 생성한다. 이 방식은 기존 추천 서빙 파이프라인과도, LLM 서빙 스택과도 맞지 않는다. 단계마다 많은 후보 상태를 들고 다녀야 하고 지연 한도가 짧기 때문이다. 이번 논문은 Kuaishou가 이 문제를 풀려고 만든 전용 서빙 시스템과 그 배포 규모를 보고한다.
새로 알게 된 것A. 생성형 추천 서빙이 대규모 프로덕션에서 9개월 넘게 돌고 있다
- RecoGEM은 9개월 넘게 배포돼 검색·광고·추천에서 일평균 4억 DAU를 서빙하고, OneRec-v2를 포함한 생성형 모델 10여 종을 돌린다 확인 — 논문 HTML.
- 저자 대부분이 Kuaishou Technology 소속이고, 논문은 제품 이름 대신 "our production lines"라고 쓴다.
- 구조는 후보 상태 전이와 실시간 아티팩트 갱신을 실행 엔진 밖 런타임에 맡기는 분리 설계다.
- OneModel 워크로드에서 인스턴스당 1,000 QPS 이상, P99 35ms 미만, 기준 시스템 대비 처리량 2.88배이고, 클러스터 피크는 60,000 QPS다 확인 — 같은 논문.
"RecoGEM has been deployed in production for over nine months, serving our applications with an average of 400 million daily active users across search, advertising, and recommendation scenarios" — RecoGEM (논문), 2026-11-09
정본 반영 radar.md ## 이번 달 신규에 Kuaishou RecoGEM 항목을 추가했다.
의미 생성형 retrieval 스레드에서 서빙 비용이 장벽이라는 질문에 Kuaishou가 대규모 배포 수치로 답했다. 추적 서비스와는 직접 관련이 없으므로 레이더에만 둔다.
레이더
- Kuaishou RecoGEM — 생성형 추천 전용 서빙 시스템 — arXiv 2611.12296.
- arXiv cs.IR 응답 30건(2026-11-07~11-09 제출)을 훑었다. Taobao Shangou 검색 광고의 생성형 retrieval TS-GEAR는 배포 결과가 있지만 근거리 배달 검색 광고에 한정돼 탈락시켰다.
- Reddit 뉴스룸 Introducing Reddit Reviews(2026-11-10)는 검색에서 상품 관련 대화를 AI로 묶어 리뷰 페이지로 보여 주는 기능이다. 피드 랭킹과 무관해 정본에 넣지 않았다.
- r/RedditEng 새 글 Beyond Static Credentials(워크로드 ID와 mTLS, 2026-11-09)와 Netflix Tech Blog의 시놉시스 사실 검증 글(2026-11-09)은 추천과 무관해 건너뛰었다.
다음에 볼 것
- Reddit RSS 종료(2026-11-13) — 그 뒤 r/RedditEng 조회를 WebSearch 대체 경로로 바꿔야 한다.
- X 광고 블렌더 기본값 — 세 번째 전환이 마지막인지 다음 미러에서 확인한다.
- X 셔플 이력 retrieval과 AI 영상 인덱스 — 스위치가 켜지거나 home-mixer가 새 인덱스를 조회하기 시작하는지 본다.
- Instagram Your Algorithm — Facebook 블로그와 같은 구조인지 밝힌 Instagram 쪽 1차 자료가 없다. 등급은 추정이다.
- research.netflix.com/publications — 오늘도 HTTP 404다.
조회 실패: ai.meta.com/blog — 목록이 2026-07 글까지만 보여 최근 글을 확인하지 못했다