How Instacart Uses Embeddings to Improve Search Relevance
Bài tóm tắt Instacart 2022 3. Quy mô lớn Độ khó: Trung bình
Instacart · 2022 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc
Bài đi kèm paper SIGIR eCom 2022. Phần huấn luyện model (in-batch negative, cascade training, multi-task) chỉ tóm tắt ngắn; wiki giữ phần phục vụ và vị trí của retrieval bằng vector trong hệ search.
Bối cảnh
- 2022: catalog hơn 1 tỉ sản phẩm từ hơn 900 nhà bán lẻ. Query lệch mạnh: dưới 1.000 query phổ biến chiếm hơn 50% traffic, còn lại là đuôi dài từ rất cụ thể tới rất rộng. Với query phổ biến hoặc cụ thể có thể dựa vào tương tác cũ và khớp danh mục/thương hiệu/từ khoá; đuôi dài thì không.
Thay đổi chính
- ITEMS: model hai tháp (bi-encoder, Sentence Transformers) chiếu query và sản phẩm vào cùng không gian vector. Hai tháp độc lập nên embedding sản phẩm không phụ thuộc query và tính trước được. Huấn luyện từ log tìm kiếm (thêm vào giỏ sau khi tìm), lọc nhiễu "mua kèm" bằng ngưỡng tần suất, thêm query tổng hợp cho sản phẩm chưa có lượt mua.
- Phục vụ qua nền tảng MLOps Griffin: job chấm điểm offline hằng ngày tính embedding cho query và sản phẩm mới; embedding sản phẩm được đánh index bằng FAISS trong một service ANN, index cập nhật hằng ngày. Embedding query theo kiểu lai: hơn 95% query lấy sẵn từ feature store, phần còn lại (chưa có trong cache) tính ngay lúc request; phủ 100% query với latency dưới 8 ms.
- Embedding-based retrieval (EBR) chạy bổ sung cho retrieval theo từ khoá và theo danh mục, mạnh nhất với query dài hoặc mơ hồ; điểm embedding còn là một feature trong hàm xếp hạng (cân relevance, độ phổ biến, sở thích cá nhân).
- Dùng lại cùng embedding để khử trùng lặp ngữ nghĩa trong autocomplete ("fresh bananas" và "bananas fresh").
- Theo Instacart, A/B test: MRR của sản phẩm mua đầu tiên +1,2%, số lần thêm vào giỏ mỗi lượt tìm +4,1%, GMV tăng đáng kể.
Vì sao
- Kiến trúc hai tháp cho phép tính trước gần như mọi thứ (sản phẩm offline, query phổ biến trong cache), chỉ phần đuôi phải tính lúc request, nên ANN thêm vào hệ search mà latency gần như không đổi.
Bài học cho SWE
- Vector search ở đây là một nguồn ứng viên thêm vào cạnh keyword và danh mục, không thay thế; điểm vector còn đi vào ranking như một feature.
- Phân phối query lệch biến bài toán latency thành bài toán cache: tính trước cho đầu phân phối, tính lúc chạy cho đuôi.
- Index rebuild hằng ngày đủ khi catalog đổi theo ngày; bài không nói cách xử lý sản phẩm mới trong ngày.
Liên quan
- Vector search và index ANN · Hạ tầng tìm kiếm
- Cùng công ty: Instacart 2023 · Instacart 2023
- Cùng bài toán: eBay 2023 (ANN production phía người dùng) · Uber 2026 · Grab 2022
#Embedding-based retrieval#two-tower#bi-encoder#Sentence Transformers#FAISS#ANN#feature store#precompute embedding#Griffin#hybrid retrieval#semantic dedup
Được nhắc tới trong
Chủ đề (2)
Công ty (1)
Bài tóm tắt (1)