37 điểm bởi xguru 2026-01-21 | 2 bình luận | Chia sẻ qua WhatsApp
  • Feed "For You" của X là một hệ thống đề xuất dựa trên machine learning được phát triển để nâng cao chất lượng gợi ý nội dung cá nhân hóa
  • Feed được tạo bằng cách kết hợp 2 nguồn: các tài khoản đang theo dõi (Thunder)nội dung từ các tài khoản không theo dõi (Phoenix Retrieval)
  • Tất cả bài đăng ứng viên được đánh giá bằng Phoenix, mô hình Transformer dựa trên Grok, để tạo ra thứ hạng cuối cùng
    • Mô hình này dự đoán xác suất tương tác với từng bài đăng
  • Hệ thống đã loại bỏ mọi tính năng được thiết kế thủ công và phần lớn các thuật toán heuristic
  • Phân tích lịch sử hoạt động của người dùng (thích, trả lời, chia sẻ) để xác định nội dung có liên quan

Kiến trúc hệ thống

  • Home Mixer là lớp điều phối toàn bộ pipeline
    • Bao gồm bước Query Hydration để thu thập lịch sử hành vi người dùng và thông tin theo dõi
    • Quản lý chuỗi bước từ thu thập ứng viên, bổ sung dữ liệu, lọc, chấm điểm đến lựa chọn cuối cùng
    • Trả về các bài đăng đã được sắp xếp theo từng người dùng thông qua ScoredPostsService dựa trên gRPC
  • Thunder là kho lưu trữ trong bộ nhớ, thu thập bài đăng theo thời gian thực qua Kafka event stream
    • Quản lý kho dữ liệu theo từng người dùng cho bài đăng gốc, trả lời/repost và bài đăng video
    • Cung cấp các ứng viên bài đăng "In-network" từ những tài khoản mà người dùng yêu cầu đang theo dõi
    • Cung cấp các bài đăng mới nhất từ các tài khoản đang theo dõi với độ trễ cực thấp
    • Đạt hiệu năng truy vấn ở mức dưới mili giây mà không cần truy cập cơ sở dữ liệu bên ngoài
  • Phoenix là thành phần ML cốt lõi của hệ thống đề xuất, gồm 2 giai đoạn: RetrievalRanking
    • Truy xuất: dùng mô hình Two-Tower để tính độ tương đồng giữa embedding đặc trưng/lịch sử tương tác của người dùng và embedding bài đăng, rồi lấy Top-K bài đăng
    • Xếp hạng: kiến trúc Transformer with Candidate Isolation được thiết kế để mỗi ứng viên được đánh giá độc lập
      • Nhận đầu vào là ngữ cảnh người dùng (lịch sử tương tác) và bài đăng ứng viên
      • Dự đoán xác suất của nhiều hành động như thích, trả lời, repost, nhấp vào... cho từng bài đăng
  • Candidate Pipeline là framework pipeline đề xuất có thể tái sử dụng
    • Định nghĩa các trait như Source, Hydrator, Filter, Scorer, Selector
    • Tích hợp sẵn thực thi song song, xử lý lỗi và logging để đảm bảo khả năng mở rộng và độ ổn định

Cách hoạt động

  • Các bước trong pipeline

    • 1. Lấy dữ liệu truy vấn: lấy lịch sử hoạt động gần đây và metadata của người dùng (ví dụ: danh sách theo dõi)
    • 2. Tìm ứng viên: tìm các bài viết ứng viên từ các nguồn sau
      • Thunder: các bài đăng gần đây từ những tài khoản đang theo dõi (trong mạng lưới)
      • Phoenix Retrieval: các bài đăng được machine learning phát hiện từ corpus toàn cầu (ngoài mạng lưới)
    • 3. Hydration ứng viên bằng các thông tin sau:
      • Dữ liệu bài đăng cốt lõi (văn bản, media...)
      • Thông tin tác giả (tên người dùng, trạng thái xác minh)
      • Độ dài video (đối với bài đăng video)
      • Trạng thái đăng ký
    • 4. Bộ lọc trước khi chấm điểm: loại bỏ các bài đăng thỏa các điều kiện sau
      • Trùng lặp
      • Quá cũ
      • Của chính người xem
      • Từ tài khoản đã chặn/đã tắt tiếng
      • Chứa từ khóa đã tắt tiếng
      • Đã xem trước đó hoặc mới được phục vụ gần đây
      • Nội dung không thể đăng ký
    • 5. Cách chấm điểm: áp dụng tuần tự nhiều bộ chấm điểm
      • Phoenix Scorer: lấy kết quả dự đoán machine learning từ mô hình Transformer Phoenix
      • Bộ tính điểm có trọng số: tổng hợp các kết quả dự đoán để tạo điểm liên quan cuối cùng
      • Bộ tính điểm đa dạng tác giả: giảm ảnh hưởng của điểm từ các tác giả trùng lặp để tăng tính đa dạng
      • OON scorer: điều chỉnh điểm cho nội dung ngoài mạng lưới
    • 6. Lựa chọn: sắp xếp theo điểm và chọn ra K ứng viên đứng đầu
    • 7. Bước sau lựa chọn: xác minh cuối cùng đối với các bài đăng ứng viên
  • Chấm điểm và xếp hạng

    • Kết hợp các giá trị dự đoán của mô hình Phoenix theo cách cộng có trọng số
    • Các hành động tích cực (thích, chia sẻ...) được gán trọng số cao hơn, còn hành động tiêu cực (chặn, báo cáo...) bị trừ điểm
  • Lọc hai giai đoạn

    • Lọc trước khi tính điểm: loại bỏ bài đăng trùng lặp, quá cũ so với ngưỡng, bài của chính mình, nội dung trả phí không thể xem, bài đã xem hoặc đã được phục vụ, tài khoản bị chặn, từ khóa bị tắt tiếng...
    • Lọc sau khi lựa chọn: loại bỏ bài đăng đã bị xóa, bài spam, nội dung bạo lực, bài đăng tàn bạo và các nhánh trùng lặp trong cùng một luồng hội thoại

Các nguyên tắc thiết kế cốt lõi

  • Loại bỏ feature engineering thủ công, để Transformer học trực tiếp từ chuỗi hành vi của người dùng
  • Đánh giá ứng viên độc lập (Candidate Isolation) giúp tạo điểm nhất quán và dễ cache hơn
  • Embedding dựa trên hash dùng nhiều hàm hash cho việc truy xuất và xếp hạng khi tra cứu embedding
  • Dự đoán đa hành động (Multi-Action Prediction), không chỉ dự đoán một điểm "mức độ liên quan" duy nhất mà dự đoán cho nhiều hành động
  • Kiến trúc pipeline mô-đun
    • Tách việc thực thi và giám sát pipeline khỏi business logic
    • Thực thi song song các bước độc lập và xử lý lỗi phù hợp
    • Có thể dễ dàng thêm nguồn, bước hydration, bộ lọc và bộ chấm điểm mới

Giấy phép

2 bình luận

 
pmc7777 2026-01-21

"Rust 62.9%"

 
nemorize 2026-01-21

트위터의 추천알고리즘을 오픈소스로 공개
Không biết cái này có phải là một thứ khác nữa không nhỉ? Chắc cuối tuần phải dành thời gian đọc mới được...