Meta 착수. Facebook / Instagram / Threads 세 지면 + 교차 topics 8개 정비.
로그다. 근거 등급과 인용은 전부 services/·topics/에 있고 여기서 반복하지 않는다.
읽은 것
- Meta Transparency Center AI 시스템 카드 —
fb-feed,fb-video,fb-reels,fb-feed-recommendations,ig-feed,ig-explore,ig-reels-chaining,ig-threads-feed engineering.fb.com/ai.meta.com엔지니어링 블로그 — Explore 2020·2023, Journey to 1000 models, UTIS(2026-01-14), IG Notifications 다양성(2025-09-02), SilverTorch, RankGraph-2, Andromeda- 논문(전부 HTML 렌더링으로) — HSTU, ULTRA-HSTU, Wukong, InterFormer, DHEN, GEM, MARM, LLaTTE, DV365(KDD 2025), Epinet, MoL/h-indexer, HILL
- Meta IR 실적 발표 트랜스크립트 Q1 2024 ~ Q1 2026, Widely Viewed Content Report Q4 2025
- 특허 US 10,345,993 B2 (광고·오가닉 통합 랭킹), 형제 특허 US 9,729,495
- Adam Mosseri 게시물 (Threads 랭킹 변경 날짜별), Meta 뉴스룸 (Dear Algo / Your Algorithm)
- EU DSA VLOP 지정 목록, Meta DSA 제출 문서 (3자 호스팅 PDF — 검증 실패, 아래 참조)
새로 알게 된 것 (오늘의 큰 것 6개)
- X와 Meta의 "공개"는 종류가 다르다. Meta는 설계를 공개했고 X는 설정을 공개했다. X 후보 수는 코드에서 나온 정확한 값이고 Meta 후보 수는 시스템 카드에서 나온 반올림 값이다 — 공시가 무엇을 위한 것인지가 숫자 모양에 드러난다.
- 멀티태스크 결합식이 하나가 아니다. "멀티태스크 랭킹 = 가중합"이라는 통념이 Meta 안에서 깨진다. Facebook Feed는 가산
Vijt = Σ w·Y(i=포스트, j=뷰어), Instagram Suggested Posts 2020은 곱셈(P_like)^w × (1−P_not_interested)^w, Explore 2023은 음수항 포함 가산, Notifications 2025는 곱셈 페널티Score = R(c)×D(c). 가중치를 정하는 방법도 갈린다 — Facebook은 설문, Instagram은 offline tuning + Bayesian optimization, X는 소스 코드 상수. - Meta의 통합 모델은 아직 없다. 오가닉(HSTU → ULTRA-HSTU)과 광고(DHEN·Wukong·InterFormer → GEM, 서빙 MARM, 유저 모델 LLaTTE)는 별도 계보다. GEM·MARM·LLaTTE 본문에 "HSTU"가 0회 나온다. 자주 오독되는 Q4 2025 "consolidation" 발언은 광고 품질 모델 이야기고 오가닉이 아니다.
- Meta의 진짜 엔지니어링은 인코더가 아니라 인덱스에 있다. EBR은 ANN을 별도 서비스로 빼지 않고 Boolean 역색인 안에
(nn <key> :radius <radius>)연산자로 넣었다. SilverTorch는 "index as model"로 인덱스를 모델 서빙에 흡수한다. X 문헌은 인코더를 보여주고 Meta 문헌은 인덱스를 보여준다. - 서빙 비용이 아키텍처를 정한다. Instagram Explore가 two-tower를 고른 이유가 정확도가 아니라 item tower 출력이 캐시 가능하기 때문이다. 그리고 캐싱이 곧 그 타워의 재학습 주기를 인덱스 재빌드 비용에 묶는다 — 랭킹은 시간 단위 파인튜닝인데 item tower만 일 단위인 이유가 여기 있다.
- 다양성은 부재가 곧 발견이다. 메인 피드의 diversity/dedup에 대해 Meta는 알고리즘 수준에서 거의 아무것도 공개하지 않는다 (Threads는 0건). 유일한 예외가 2025 Instagram 알림 다양성 프레임워크다 — 피드가 아니다.
부수적으로: Threads 시스템 카드는 슬러그가 ig-threads-feed인데 본문 시그널 50개가 전부 Text Post App 네임스페이스이고 Instagram은 0회 — 인프라는 100% 재사용, 랭킹 시그널은 100% 분리. Threads는 EU VLOP가 아니고, Threads API 9개 엔드포인트에 피드 읽기가 없어 랭커를 외부에서 감사할 수 없다. Facebook의 강등 유형은 2021년 ~24종에서 2025년 4종(한 페이지)/7종(다른 페이지)으로 줄었고 Meta 자기 페이지 둘이 지금 서로 안 맞는다. Widely Viewed Content Report에서 미연결 콘텐츠 비중이 11.7% → 15.2% → 41.0%로 뛰었다. Meta는 AI 추천 비율(FB 30% / IG 50%+)을 Q1 2024 이후로 보고하지 않는다.
검증에서 뒤집힌 것 (중요)
적대적 검증 2판을 돌렸고 실제 결함이 나왔다.
조작된 인용문 1건. Explore 2023 블로그에 없는 문장("offline replay tools along with Bayesian optimization tools…")이 초안에 들어가 있었다. "replay"는 그 글에 0회 나온다. 실제 문장으로 교체했고, 이 인용을 쓰던 표·요약 4곳을 연쇄 수정했다.
공식 첨자가 반대였다.
Vijt의 i·j를 뷰어·포스트로 적었는데 원문은 "for each post i, we estimate Yijt" / "the post X_it toward viewer j" — i가 포스트다.부재 주장이 반증됐다. "네 개 광고 블로그에 Llama 0회"를 근거로 "Meta의 LLM 언급은 비유다"라고 썼는데, LLaTTE 논문이 *"dense content embeddings produced by fine-tuned LLaMA models"*라고 명시한다. → LLM을 **표현(representation)**으로 쓰는 것과 "LLM-style scaling law"를 아키텍처 비유로 쓰는 것은 다른 이야기다. 노트가 둘을 뭉개고 있었다.
살아있다고 적은 페이지가 404였고, Mosseri 인용 링크 하나는 홈으로 리다이렉트되며, Clegg 2023 기사에 없는 문구가 그 기사에 인용돼 있었다. 인용문 3건은 생략 부호가 결론을 바꾸는 위치에 있었다 (Q4 2025 12% 개선은 *"along with a series of back-end improvements"*가 붙어 있어 모델 통합 단독 효과가 아니다).
새 규칙 — 부재의 등급. 오늘 정한 정책이다. "페이지 X를 D일에 받아봤더니 Y가 없다"는 재현 가능한 1차 관찰이므로
[관찰]+ 날짜 + 대상. "Meta가 Z를 공개한 적 없다" 같은 무한 부정은[추정]이고 검색한 코퍼스를 문장에 밝힌다. 핀 고정된 커밋의 소스 코드 grep만[확인]으로 남긴다 — 코퍼스가 유한하고 전수 검색이 가능하기 때문.새 규칙 — arXiv PDF 금지. WebFetch로 PDF를 받으면 없는 숫자를 지어낸다. SilverTorch에서 AWS 인스턴스 타입, "Recall@100 >95%", "~40% infra savings"를 만들어냈는데 HTML판 실제 값은 A100 40G, Recall@20 +28.2%였다. 이후
arxiv.org/html/또는 ar5iv만 쓴다. PDF만 있는 주장은 확인도 부정도 하지 않고 미검증으로 남긴다.
반영
services/facebook.md신규 — Vijt 공식, 지면별 후보 수, 강등 유형 축소사, 광고 특허, Epinet 콜드스타트, dwell-time 정규화, DSAservices/instagram.md신규 — 결합식 3형태, IG2Vec/IGQL, Explore 2023 스케일링, DV365, 알림 다양성 공식, "연속 3개" 반박services/threads.md신규 — Mosseri 날짜별 변경 타임라인, 시스템 카드 실측(헤드 10 / 시그널 50 / Instagram 0), VLOP 비지정, API에 피드 읽기 없음, Dear Algo·Your Algorithmtopics/survey-signals.md신규 — 설문 신호가 랭커를 움직이는 4가지 레버리지 패턴 (Meta 2021 / YouTube 2021 / Meta UTIS 2026 / TikTok USM 2024)topics/model-freshness.md신규 — 지면별 재학습 주기, 인덱스 신선도(도달 가능성)와 랭커 신선도(완만한 열화)의 경제학 차이topics/multi-task-ranking.md— Meta 결합식 4종 표, 가중치 출처 비교, 헤드 수 19~22 vs ~10이 비교 가능한 숫자가 아닌 이유topics/candidate-allocation.md— Meta 지면별 pass-0 표, 광고·오가닉 공통 단위(픽셀 높이) 인터리브topics/feed-diversity.md— 부재를 발견으로 기록, 알림 다양성 공식, 반박topics/embedding-retrieval.md— EBR 역색인 하이브리드, SilverTorch, RankGraph-2, Andromeda/HILL, IG2Vec/IGQL, 캐시성 제약topics/sequence-transformer-ranking.md— HSTU 상세, ULTRA-HSTU, 광고 계보, DV365, 계보 분리 근거topics/llm-in-recsys.md— 표현 vs 비유 구분, LLaTTE
같은 날 2부 — Netflix 착수·완료 + 기존 작업 재검증 + 일일 배치 구축
읽은 것 (2부)
- TMIS 2015 (Gomez-Uribe & Hunt) — 고전 세대 시스템 서술의 정본
- netflixtechblog — Foundation Model(2025-03), FM 통합 3모드(2025-11), GenRec(2026-07), 장기 만족 보상(2024), 아트워크 밴딧(2017), AVA(2018), 인터리빙(2017), FM-Intent(2025), 라이브 이벤트 전달(2025), Ads 파이프라인(2025), 2013 3계층 아키텍처
- about.netflix.com — Goodbye Stars Hello Thumbs(2017), Two Thumbs Up(2022), 새 TV 경험·대화형 검색 베타(2025), Upfront 2025
- 논문 — Calibrated Recommendations(Steck, RecSys 2018), UniCoRn(RecSys 2024), GenPage(RecSys 2026), 1B 스케일링(2026, shadow), 라이브 콜드스타트(RecSys 2025), 임베딩 안정화(RecSys 2025), Artwork LLM post-training(2026, 연구)
- help.netflix.com 추천 문서, SIGIR 2019 검색 논문, AI Magazine 2021 초록
새로 알게 된 것 (Netflix의 큰 것 5개)
- retrieval 레이어가 없다. PVR이 카탈로그 전체를 회원별로 정렬한다 — 코퍼스 수천~수만이라 브루트포스 전 채점이 성립. "무슨 ANN 쓰나"라는 질문 자체가 무효인 첫 표본. 배분 문제는 아이템이 아니라 행 선택(수만 후보 행 → 약 40행)으로 이동하고, 2015년에 이미 템플릿(비율 배분)을 버렸다.
- 목적함수가
Σ w·P가 아니다. 컨텍스추얼 밴딧 + 프록시 보상r(user,item)=f(play,complete,thumb). north star는 retention인데 월 1회 신호라 직접 최적화를 포기하고 reward engineering 루프로 접근. 지연 피드백은 예측 모델로 메운다. 가중합 프레임이 광고형 지면의 관행일 수 있다는 첫 반례. - 업계에서 가장 구체적인 재학습 주기 공개. FM은 "월 단위 처음부터 사전학습 + 매일 파인튜닝". 신규 아이템이 스케줄로 오는 편성 카탈로그라 신선도 압력 자체가 UGC와 다르다 — 콜드스타트가 커버리지 문제가 아니라 프로모션 문제(빌보드 incrementality 밴딧).
- GenRec이 llm-in-recsys의 자리 3 공백을 깼다. 유기 랭킹 경로에 LLM(내부 LLM post-training, vLLM prefill-only, ~10% 트래픽 4주 A/B 유의미 승리)이 들어갔다는 업계 최초급 1차 진술. X(심판)·Meta(피처 인코더)와 달리 랭커 그 자체다. "context window becomes our new 'feature budget'".
- 다양성의 다섯 번째 방식 — calibration. 시청 이력의 장르 분포를 추천 리스트에 보존(Steck RecSys 2018, 수식 공개). 단 배포 진술이 없어 "Netflix가 쓴다"고 쓰면 안 된다. 다양성 자체는 행 선택 단계에 있고("관련성+다양성 최적화"), 아트워크 개인화가 지각적 다양성의 별도 레버.
부수: 명시 평점의 1차 출처 확보(2017 thumbs 전환·활동 200%↑·% Match는 표시용, 2022 two thumbs) — survey-signals의 Netflix 절을 2차 보도에서 1차로 승격. 광고는 파이프라인·타겟팅 상품만 공개돼 있고 랭킹 모델 공개물이 0 — Meta처럼 오가닉/광고 계보 서술이 불가능한 상태. 인구통계 미사용 명시. "Hydra" 통합 시스템명과 semantic ID설은 1차 출처 없음(후자는 Spotify 토크와의 흔한 혼동).
검증에서 뒤집힌 것 (2부 — 기존 X·Meta 파일 재검증)
X 노트 2차 적대 검증(44 OK / 3 DEFECT / 3 MINOR), Meta 노트 2차(58 OK / 4 DEFECT). 전부 수정 반영:
- x.md 조작 인용 1건: "our decision not to release training data or model weights" — 2023 블로그 아카이브 전문에 없는 문장이었다. 실재하는 문장(recap README의 학습 데이터 비공개 사유)으로 교체.
- x.md 2023 가중치 범위 오류: "0.0~100.0, 음수 표현 불가"가 틀렸다 — Report −20000..0 등 음수 전용 4종이 2023부터 있었고, 2025 경계값은 2023과 동일(신규 신호 아님). multi-task-ranking의 표까지 연쇄 수정.
- x.md 카운트 오류: "나머지 default 203개 전부 실제값" → 실제는 173개 중 25개가 0.0. 방향은 유지, 수치 정정.
- facebook.md: 데모션 "약 24종"의 출처로 단 2021 발표문에 개수가 없다 →
[추정]강등. - instagram.md 2건: 팔로워 수 인용 3문장째가 현행 페이지와 다름(재복사), 원본성 복구 조건은 "최근 30일 콘텐츠 구성"이지 "위반 후 30일 경과"가 아님.
- model-freshness.md: RankGraph-2 인용 "constraining" → 원문 "filtering" (한 단어).
- 사소: bulk topic은 7개 "이상"(
>6), 50/50 인용 출처 정밀화, e414c17은 "187파일 변경"(레포 총 216).
netflix.md 자체도 같은 방식의 적대 검증을 걸었다 — 54 OK / 결함 0 / 사소 3 (헤드라인 수치 전부 생존: 40행×75, 80%/20%, $1B, GenRec 10% 트래픽·+1.6% MRR·40×, 월+일 주기, 200%, 2-6개월·200만/셀, 라이브 1억 디바이스/1분). 사소 3건 반영: FM 소비 3모드의 출처를 두 글로 분리 표기, UniCoRn 7%/10%에 "오프라인 지표" 한정, TMIS "이틀 전 데이터"는 실험 프로토콜 예시이지 프로덕션 학습 주기 진술이 아님을 명시.
반영 (2부)
services/netflix.md신규 — 세대 구분(고전 2015-22 / 통합 2023-24 / FM 2025 / LLM-네이티브 2026), 전 절 근거 등급 포함topics/feed-diversity.md— calibration 5번째 방식 추가, 다양성 단위(리스트 vs 페이지), 수식 공개≠배포topics/candidate-allocation.md— "배분 레이어의 존재는 코퍼스 크기의 함수", 행 단위 배분, GenPagetopics/embedding-retrieval.md— "retrieval 없음" 극단 2번째 표본, 콜드스타트 버리기(X TwHIN 0벡터) vs 채우기(FM 메타데이터)topics/model-freshness.md— FM 월+일 이중 주기, 신선도 압력은 아이템 유입 형태의 함수, 프리컴퓨트 극단 사례topics/multi-task-ranking.md— 보상 함수 프레임(밴딧), north star 직접 최적화 포기의 이유topics/sequence-transformer-ranking.md— (Netflix FM은 GPT식 autoregressive — X·Meta 대비는 netflix.md에서)topics/llm-in-recsys.md— GenRec으로 자리 3 테제 수정, 코퍼스 크기와 LLM 투입 지점 가설topics/survey-signals.md— Netflix 절 1차 출처 승격(thumbs·two thumbs·온보딩 픽커)scripts/daily-research.sh+scripts/daily-research-prompt.md신규 — 일일 배치: 매일 09:30 각 서비스 신규 공개물 체크 → 있으면 분석·정본 갱신·daily 기록·푸시, 없으면 Slack 보고만. pm2 cron 등록.
반영 (3부) — GenRec 원문 재독 + 적대 검증
"GenRec 설명" 요청을 계기로 블로그를 다시 받아 읽고 적대 검증을 걸었다. 기존 수치는 전부 생존했는데 정본에 빠져 있던 사실 두 개가 나왔고 둘 다 그림을 바꾼다.
- 채점 구조가 생성이 아니다. "we extract a pooled hidden state h" → 아이템 임베딩 eᵢ와 scoring head ϕ(dot product 또는 small MLP)로 sᵢ, softmax. 백본·헤드·아이템 임베딩 공동 학습. 즉 LLM은 유저 표현 인코더이고 채점기는 여전히 임베딩 내적이다. "LLM 랭커"를 semantic ID 생성형 retrieval과 혼동하기 딱 좋은 지점이라
llm-in-recsys.md에 경고 블록을 넣었다. prefill 1패스가 후보당이 아니라 후보 집합 전체라는 것도 이 구조 때문이다. - A/B가 "batch-compute recommendation surfaces" 한정. 원문에 명시돼 있다. 다만 글은 "실시간엔 안 갔다"고 쓰지 않는다 — 그건 우리 추론이므로
[추정]으로 분리했고, X·Meta와 한 줄에 세울 때 지면 성격 차이를 지우지 말라는 ⚠를 테제 옆에 달았다.
검증 부산물로 잡은 정밀화 3건: ① 컨텍스트 1/3 압축의 "negligible degradation"은 오프라인 랭킹 지표 한정 ② 40×/+1.6%는 오프라인 MRR 진술에 묶어 써야 한다 — 프로덕션 대등/상회 쪽은 별도로 "10–40× ... depending on configuration" ③ Limitations 절은 없지만 전망 문장은 흩어져 있어(natural-language steering, 추천 이유 설명 등) "GRPO가 유일한 미래 과제"는 틀린 요약.
[관찰] 2026-08-09 GenRec 후속 글 없음 — 롤아웃 열린 질문 유지. 단 netflixtechblog 인덱스가 JS 렌더링이라 검색 결과 기준이다. 열린 질문 2개 추가: 실시간 지면 적용 여부, 후보 집합의 생성 주체(글이 안 밝힘).
다음에 볼 것
- Transparency Center 재검증 — 시스템 카드 페이지 자동 fetch 차단(400/429). 카드 기반 주장은 전부 2026-08-09 스냅샷. 브라우저로 재확인 필요.
- Meta DSA 제출 문서 원문 / Que2Search ACM판 — 이전과 동일.
- Netflix 열린 질문들 — GenRec/GenPage 전면 롤아웃 여부 추적(이후 blog 후속 글), calibration 배포 여부, FM 파라미터 수, 광고 랭킹 모델 공개 시작 여부.
- sequence-transformer-ranking에 Netflix FM 절 추가 검토 — 토큰화(BPE 비유)·이질 피처 토큰·multi-token 목적이 X(ID-only)·Meta(HSTU) 대비 세 번째 좌표. 이번엔 netflix.md에만 실었다.
- 다음 서비스 후보: YouTube(공개 문헌 밀도 높음) 또는 TikTok(USM 계보).