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, và 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 1 và Tầng 1 — Embeddings. Nếu chỉ đọc được hai mục: 5.1 và 5.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ục | Nội dung |
|---|---|---|
| 5.1 | Reranker là gì | Một việc duy nhất, chỗ nó đứng, ví dụ xếp lại bằng tay |
| 5.2 | Bi-encoder vs cross-encoder | Vì 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.4 | Trần recall@k của stage 1 | Mục quan trọng nhất. Thứ tự chẩn đoán, cách chọn k |
Nhóm 2 — Ba họ model
Phần tiêu đề “Nhóm 2 — Ba họ model”| # | Mục | Nội dung |
|---|---|---|
| 5.5 | Cross-encoder được huấn luyện thế nào | MS MARCO, hard negative, distillation, các hàm loss ranking |
| 5.6 | Late interaction: ColBERT | MaxSim, ColBERTv2, PLAID — mua tương tác bằng dung lượng index |
| 5.7 | LLM làm reranker | pointwise / pairwise / listwise / setwise, và giá thật |
| 5.8 | Bản đồ model 2026 | API thương mại, open-weight, tình hình tiếng Việt, và chọn model khi chỉ có CPU |
Nhóm 3 — Production
Phần tiêu đề “Nhóm 3 — Production”| # | Mục | Nội dung |
|---|---|---|
| 5.9 | Latency và throughput | Batch, độ dài chuỗi, quantization, GPU vs CPU |
| 5.10 | Toán chi phí | API tính tiền vs tự host, chi phí trên 1000 truy vấn |
| 5.11 | Cắm vào hệ thống thật | Elasticsearch/Vespa/vector DB, cascade, cache, fallback |
| 5.12 | Đo xem nó có giúp không | Bốn số phải báo cùng nhau, interleaving, bẫy contamination |
| 5.13 | Khi nào reranker làm tệ hơn | Danh sách dài, domain shift, trôi phân phối điểm |
| 5.14 | Fine-tune reranker riêng | Dữ liệu từ log, distillation từ LLM, khi nào đáng làm |
| 5.15 | Bảng quyết định | Tình huống → lựa chọn, và checklist triển khai |
Sợi chỉ xuyên suốt Phần 5
Phần tiêu đề “Sợi chỉ xuyên suốt Phần 5”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@ktrướ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.
klà núm điều chỉnh vừa chất lượng vừa chi phí. Vàklớn không phải luôn tốt hơn.
Ràng buộc số liệu của phần này
Phần tiêu đề “Ràng buộc số liệu của phần này”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:
- Số đo đã có trong repo — bả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@5theo lớp) đến từ nhật ký làm việc trongdev/, 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ỡ. - Số dẫn từ nguồn ngoài — kèm link trong mục
Đọc thêmcủa trang tương ứng. - 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.