Bỏ qua để đến nội dung
Search & RAG

Phần 5 — Reranker: từ cơ chế đến production

Mười lăm mục về một tầng duy nhất trong pipeline retrieval — tầng xếp lại thứ tự top-k trước khi đưa vào LLM.

Phần này tồn tại riêng vì reranking là kỹ thuật có tỷ lệ lợi ích / công sức cao nhất trong RAG, là kỹ thuật bị áp dụng sai thứ tự nhiều nhất: rất nhiều hệ thống cắm reranker vào khi bệnh nằm ở stage 1, rồi kết luận reranker vô dụng. Tầng 3 ở Phần 4 là bản tóm tắt một trang; Phần 5 là bản đầy đủ.

Đọc khi nào. Sau Phần 1Tầng 1 — Embeddings. Nếu chỉ đọc được hai mục: 5.15.4 — mục thứ hai quyết định bạn có nên làm tiếp hay không.

Nhóm 1 — Cơ bản: nó là gì và vì sao nó hoạt động

Phần tiêu đề “Nhóm 1 — Cơ bản: nó là gì và vì sao nó hoạt động”
#MụcNội dung
5.1Reranker là gìMột việc duy nhất, chỗ nó đứng, ví dụ xếp lại bằng tay
5.2Bi-encoder vs cross-encoderVì sao đọc cùng lúc lại khác, và vì sao không tính trước được
5.3Điểm của reranker nghĩa là gìLogit, không hiệu chuẩn, vì sao ngưỡng cứng là bẫy
5.4Trần recall@k của stage 1Mục quan trọng nhất. Thứ tự chẩn đoán, cách chọn k
#MụcNội dung
5.5Cross-encoder được huấn luyện thế nàoMS MARCO, hard negative, distillation, các hàm loss ranking
5.6Late interaction: ColBERTMaxSim, ColBERTv2, PLAID — mua tương tác bằng dung lượng index
5.7LLM làm rerankerpointwise / pairwise / listwise / setwise, và giá thật
5.8Bản đồ model 2026API thương mại, open-weight, tình hình tiếng Việt, và chọn model khi chỉ có CPU
#MụcNội dung
5.9Latency và throughputBatch, độ dài chuỗi, quantization, GPU vs CPU
5.10Toán chi phíAPI tính tiền vs tự host, chi phí trên 1000 truy vấn
5.11Cắm vào hệ thống thậtElasticsearch/Vespa/vector DB, cascade, cache, fallback
5.12Đo xem nó có giúp khôngBốn số phải báo cùng nhau, interleaving, bẫy contamination
5.13Khi nào reranker làm tệ hơnDanh sách dài, domain shift, trôi phân phối điểm
5.14Fine-tune reranker riêngDữ liệu từ log, distillation từ LLM, khi nào đáng làm
5.15Bảng quyết địnhTình huống → lựa chọn, và checklist triển khai

Ba câu, lặp lại từ nhiều góc:

1. Reranker không tìm được thứ nó chưa được đưa cho. Đo recall@k trước, luôn luôn.

2. Điểm reranker là để so, không phải để đọc. Mọi ngưỡng cứng là một sự cố đang chờ.

3. k là núm điều chỉnh vừa chất lượng vừa chi phí.k lớn không phải luôn tốt hơn.

Module 4 (Reranking) của cẩm nang chưa được đo trên corpus này. Vì vậy Phần 5 không đưa ra con số “reranker cải thiện bao nhiêu %” của riêng cẩm nang. Mọi số định lượng ở đây là một trong ba loại, và luôn nói rõ là loại nào:

  1. Số đo đã có trong repobảng baseline BM25 ở Phụ lục — Lộ trình & baseline. Một vài con số được dẫn ở Phần 5 (ví dụ recall@5 theo lớp) đến từ nhật ký làm việc trong dev/, thư mục không được commit vào repo; chúng được ghi thẳng vào văn bản thay vì dẫn link, để trang không chứa link vỡ.
  2. Số dẫn từ nguồn ngoài — kèm link trong mục Đọc thêm của trang tương ứng.
  3. Toán tay — có nói rõ giả định đầu vào.

Xem thêm Phụ lục — Sai số của tài liệu.