Pinterest nâng cấp nền tảng tìm kiếm Manas: Từ HNSW ngốn RAM đến SPANN lượng tử hóa
Pinterest Engineering đã nâng cấp nền tảng tìm kiếm Manas nhằm xử lý khối lượng dữ liệu khổng lồ, cải thiện hiệu quả tìm kiếm và khám phá nội dung. Bằng cách áp dụng lượng tử hóa vô hướng (Scalar Quantization) và lượng tử hóa tích (Product Quantization), mức tiêu thụ bộ nhớ giảm đáng kể trong khi vẫn duy trì tỷ lệ truy hồi cao. Nền tảng này còn tận dụng SSD để tối ưu hiệu năng và đang chuyển dịch sang các mô hình đa vector nhằm nâng cao độ chính xác khi khớp kết quả.
Pinterest vừa công bố những nâng cấp quan trọng cho Manas — nền tảng tìm kiếm và khám phá cốt lõi của mình. Đây là một câu chuyện kỹ thuật đáng chú ý, bởi nó cho thấy cách một hệ thống tìm kiếm quy mô lớn có thể vượt qua giới hạn về bộ nhớ mà vẫn đảm bảo chất lượng kết quả trả về cho người dùng.
Điểm mấu chốt nằm ở việc chuyển đổi từ chỉ mục HNSW (Hierarchical Navigable Small World) — vốn nổi tiếng là "ngốn" bộ nhớ — sang phương pháp SPANN kết hợp lượng tử hóa vector.
Bài toán đặt ra cho nền tảng tìm kiếm của Pinterest
Với hàng tỷ ghim (pin) và hàng trăm triệu người dùng, Pinterest phải đối mặt với bài toán quen thuộc của mọi hệ thống tìm kiếm lớn: làm sao để tìm ra nội dung liên quan nhất trong hàng tỷ vector nhúng (embedding) chỉ trong vài chục mili giây.
Trước đây, Manas sử dụng chỉ mục HNSW để tìm kiếm láng giềng gần đúng (Approximate Nearest Neighbor — ANN). HNSW cho tốc độ truy vấn rất tốt, nhưng có một nhược điểm chí mạng: toàn bộ đồ thị chỉ mục phải nằm trong RAM. Khi lượng dữ liệu tăng lên, chi phí bộ nhớ tăng theo cấp số nhân và trở thành gánh nặng không thể kiểm soát.
Lượng tử hóa: Chìa khóa giảm bộ nhớ
Giải pháp mà đội ngũ Pinterest Engineering lựa chọn là lượng tử hóa vector, với hai kỹ thuật chính:
- Lượng tử hóa vô hướng (Scalar Quantization): Biểu diễn mỗi chiều của vector bằng số bit ít hơn, giảm dung lượng lưu trữ trực tiếp.
- Lượng tử hóa tích (Product Quantization): Chia vector thành nhiều đoạn nhỏ, mỗi đoạn được thay bằng một mã định danh từ một "từ điển" (codebook) được huấn luyện trước. Cách này giúp nén dữ liệu mạnh hơn nhiều lần.
Kết quả là mức tiêu thụ bộ nhớ giảm đáng kể, trong khi tỷ lệ truy hồi (recall) vẫn được duy trì ở mức cao. Đây là sự đánh đổi được tính toán kỹ lưỡng: mất một chút độ chính xác tuyệt đối để đổi lấy khả năng mở rộng gần như vô hạn.
Tận dụng SSD thay vì dựa hoàn toàn vào RAM
Một điểm đáng chú ý khác là Manas chuyển sang dùng SSD cho chỉ mục thay vì cố gắng nhồi tất cả vào bộ nhớ trong. Cách tiếp cận này tương tự triết lý của SPANN — chỉ giữ những vector "trung tâm" (centroid) trong RAM, còn dữ liệu chi tiết được lưu trên ổ cứng và truy xuất khi cần.
Việc đặt chỉ mục trên SSD giúp Pinterest giảm mạnh chi phí hạ tầng, đồng thời vẫn đảm bảo độ trễ đủ thấp cho các truy vấn tìm kiếm theo thời gian thực.
Với các hệ thống tìm kiếm vector, đây là hướng đi ngày càng phổ biến. Các thư viện như FAISS của Meta hay DiskANN của Microsoft cũng theo đuổi cách tiếp cận lưu chỉ mục trên bộ nhớ ngoài.
Chuyển dịch sang mô hình đa vector
Không dừng ở tối ưu hạ tầng, Pinterest còn đang chuyển Manas sang mô hình đa vector (multi-vector). Thay vì biểu diễn mỗi ghim bằng một vector duy nhất, hệ thống dùng nhiều vector cho các khía cạnh khác nhau của nội dung — ví dụ hình ảnh, văn bản mô tả, chủ đề.
Cách này giúp việc khớp độ liên quan chính xác hơn, đặc biệt với một nền tảng mà nội dung chủ yếu là hình ảnh và mang tính thị giác cao như Pinterest.
Ý nghĩa với ngành công nghệ Việt Nam
Câu chuyện của Pinterest là bài học thực tế cho các đội ngũ kỹ thuật tại Việt Nam đang xây dựng hệ thống tìm kiếm hoặc gợi ý:
- Bộ nhớ luôn là nút thắt cổ chai khi dữ liệu tăng trưởng, đặc biệt với các ứng dụng thương mại điện tử, mạng xã hội hay nền tảng nội dung.
- Lượng tử hóa vector là kỹ thuật đáng cân nhắc, và hiện đã có sẵn trong nhiều thư viện mã nguồn mở.
- Kết hợp RAM và SSD giúp giảm chi phí vận hành mà không đánh đổi quá nhiều về hiệu năng.
Với các startup Việt Nam đang xây dựng sản phẩm AI tìm kiếm, đây là hướng tiếp cận có thể áp dụng ngay từ giai đoạn tăng trưởng, thay vì chờ đến khi hạ tầng trở nên quá đắt đỏ.


