Tại sao Netflix từ bỏ các tính năng được thiết kế thủ công

Trong phần lớn lịch sử của mình, quy trình gợi ý của Netflix dựa vào hàng ngàn thuộc tính được định nghĩa thủ công—các vectơ số mô tả người dùng, tiêu đề và mọi tương tác giữa họ. Các kỹ sư phải mất nhiều tuần để chuyển đổi một loại nội dung mới—thể thao trực tiếp, podcast hoặc trò chơi—thành một bộ tính năng mới trước khi hệ thống có thể bắt đầu gợi ý chúng. Quy trình này tốn kém, dễ bị lỗi và khó duy trì sự đồng bộ với sự mở rộng nhanh chóng của danh mục nội dung.

Các mô hình ngôn ngữ lớn (LLM) có sẵn không hoạt động hiệu quả ngay lập tức. Chúng có xu hướng tập trung vào các tiêu đề phổ biến nhất, đôi khi "ảo giác" ra các mục không tồn tại, và gặp khó khăn trong việc thực thi các quy tắc kinh doanh để giữ cho các gợi ý luôn an toàn và phù hợp. Do đó, Netflix đã xây dựng một quy trình dựa trên LLM được thiết kế riêng, vừa giữ được thế mạnh của mô hình ngôn ngữ vừa tuân thủ các ràng buộc trong môi trường vận hành thực tế (production).

Bên trong GenRec: quy trình huấn luyện hai giai đoạn

GenRec bao gồm hai giai đoạn riêng biệt:

  1. Tinh chỉnh mô hình cơ sở (Base model fine-tuning) – Netflix bắt đầu từ một mô hình ngôn ngữ có trọng số mở (open-weight) và tinh chỉnh nó dựa trên dữ liệu xem nội dung nội bộ. Điều này giúp mô hình học được từ vựng của danh mục nội dung và các mô hình hành vi người dùng mà không làm thay đổi kiến trúc cốt lõi.
  2. Xếp hạng gợi ý (Recommendation ranking) – Một vòng huấn luyện thứ hai sẽ biến mô hình đã tinh chỉnh thành một bộ xếp hạng (ranker) để chấm điểm các tiêu đề tiềm năng cho một người dùng cụ thể. Netflix cập nhật giai đoạn này thường xuyên để mô hình luôn bắt kịp các bản phát hành mới và các xu hướng đang thay đổi.

Điểm khác biệt then chốt so với hệ thống cũ là cách dữ liệu lịch sử người dùng được đưa vào mô hình. Thay vì nén các phiên xem thành các vectơ dày đặc, GenRec chuyển đổi mỗi tương tác—thời lượng xem, thích hoặc không thích, việc ngừng xem sớm—thành các câu tiếng Anh thông thường. Sau đó, mô hình sẽ đọc toàn bộ phiên xem như một đoạn hội thoại ngắn, từ đó nắm bắt được những thay đổi tinh tế trong sở thích thể loại hoặc tâm trạng mà không cần bất kỳ kỹ thuật đặc trưng (feature engineering) rõ ràng nào.

Cải thiện hiệu suất và hiệu quả

Trong một thử nghiệm kéo dài bốn tuần với 10% lưu lượng truy cập của Netflix được tiếp cận với GenRec, hệ thống mới đã tạo ra sự gia tăng có ý nghĩa thống kê trên hai nhóm chỉ số:

  • Tương tác ngắn hạn – tăng 0,115% ở các tín hiệu chính về tỷ lệ nhấp (click-through) và thời gian xem, vốn là những yếu tố thúc đẩy các gợi ý hàng ngày.
  • Các chỉ số cốt lõi dài hạn – tăng 0,006% ở tỷ lệ giữ chân thuê bao và điểm hài lòng tổng thể, những yếu tố quan trọng nhất đối với doanh nghiệp.

Ở chế độ ngoại tuyến (offline), chất lượng xếp hạng trên tập dữ liệu kiểm thử (held-out dataset) đã cải thiện 1,6% so với mức cơ sở (baseline) đang vận hành. Đáng chú ý hơn là hiệu quả dữ liệu: giai đoạn huấn luyện thứ hai chỉ yêu cầu khoảng 1/40 số lượng ví dụ được dán nhãn mà quy trình truyền thống cần để đạt được cùng một mức hiệu suất.

Để kiểm soát chi phí tính toán, Netflix chạy mô hình với vLLM, một ngăn xếp phục vụ (serving stack) giúp chấm điểm mọi ứng viên tiềm năng chỉ trong một lượt truyền xuôi (forward pass) duy nhất thay vì tạo văn bản. Hệ thống cũng áp dụng bộ lọc nghiêm ngặt để chỉ những sự kiện có tín hiệu cao mới chiếm dụng cửa sổ ngữ cảnh (context window) của mô hình, giúp cắt giảm các token không cần thiết và giảm độ trễ.

Sự chuyển dịch từ “tính năng” sang “ngữ cảnh” có ý nghĩa gì

GenRec là một phần của xu hướng rộng lớn hơn, nơi “kỹ thuật ngữ cảnh” (context engineering) thay thế cho các tính năng được thiết kế thủ công. Thay vì thiết kế một kiến trúc riêng biệt cho mỗi tác vụ gợi ý, các kỹ sư quyết định những tín hiệu nào sẽ được đưa vào một câu lệnh văn bản (text prompt) và để mô hình ngôn ngữ tự suy luận trên đó. Cách tiếp cận này giúp đẩy nhanh việc đưa các loại nội dung mới vào hệ thống: một tập podcast hoặc một trận đấu trực tiếp có thể được mô tả trong một câu và ngay lập tức tham gia vào kho gợi ý, bỏ qua giai đoạn chạy nước rút định nghĩa tính năng kéo dài hàng tháng trời.

Những rào cản còn lại

Các hệ thống gợi ý dựa trên LLM không phải là "chiếc đũa thần". Xu hướng nhấn mạnh quá mức vào các mục phổ biến của chúng vẫn gây ra sự thiên kiến cho danh mục nội dung, và nhu cầu về GPU mạnh mẽ làm tăng chi phí vận hành. Ngay cả với vLLM và bộ lọc nghiêm ngặt, việc phục vụ một mô hình ngôn ngữ lớn ở quy mô của Netflix đòi hỏi kỹ thuật tinh vi để đáp ứng các mục tiêu về độ trễ.