Community-focused Feed optimization
Bài tóm tắt LinkedIn 2019 3. Quy mô lớn Độ khó: Trung bình
LinkedIn · 2019 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc
Bối cảnh
- Feed hai tầng (LinkedIn 2015): các first pass ranker (FPR) chọn ứng viên từ kho của mình, second pass ranker (SPR) gộp và chấm điểm. FollowFeed là FPR chính: hơn 80% update trên feed, đóng góp hơn 95% cuộc hội thoại của member (2019).
- Model chọn ứng viên trong FollowFeed bị gắn chặt với code (vì index node không được gọi ra ngoài), nên đổi hệ số model là phải deploy service.
Thay đổi chính
- Engine ranking Quasar (thuộc Pro-ML) thay engine cũ: cùng một codebase biểu diễn model lúc train và lúc phục vụ; dễ mang model, transformer từ SPR xuống FollowFeed.
- Model là "data pack": model đóng gói thành multiproduct riêng chỉ gồm file tĩnh, deploy qua CI/CD như dữ liệu. Thời gian triển khai model giảm từ 3 ngày xuống 30 phút.
- Feature cục bộ: feature của viewer đi kèm request; feature của update được ingest và lưu cạnh update trên index node.
- Theo dõi feature: index node và broker gửi bất đồng bộ tracking event lên Kafka, một job Samza join thành một event đầy đủ cho mỗi request, để dữ liệu train khớp dữ liệu lúc phục vụ.
- Model: thêm mục tiêu "contribution" (chia sẻ, comment, react) và phản hồi kịp thời cho người viết; từ nhiều logistic regression với feature thủ công chuyển sang một cây XGBoost. Bản chỉ dùng cây giữ được phần lớn mức tăng tương tác mà giảm tail latency so với baseline.
- Đánh giá bằng recall, không precision: đo phần giao giữa top K của FollowFeed và của SPR; ngẫu nhiên hoá đầu ra FollowFeed cho một phần nhỏ traffic để SPR thấy ứng viên đại diện. Recall tăng gấp đôi. Thử khoảng 100 biến thể model qua A/B test.
Bài học cho SWE
- Ở hệ nhiều tầng, tầng đầu nên tối ưu cho recall với chi phí thấp; độ chính xác là việc của tầng sau.
- Tách vòng đời model khỏi vòng đời service (model là dữ liệu deploy được) để thử nghiệm nhanh mà không đụng service stateful.
Liên quan
Nền tảng ML (feature, training, serving, giám sát model)Thử nghiệm A/B và nền tảng experimentationDeploy và release an toàn
#Two-pass ranking#Candidate generation#FollowFeed#Quasar#Model data pack#Feature tracking#Samza join#XGBoost#Recall#Randomized exploration
Được nhắc tới trong
Chủ đề (3)
Công ty (1)
Bài tóm tắt (2)