vi-law-laya
A Vietnamese query–passage relevance model. For each (query, passage) pair it returns the probability that the passage answers the query (0–1). Intended as a reranker after first-stage retrieval.
- Architecture: Laya (multilingual variant, mmBERT-base, 322M parameters) with a yes/no decision head.
- Max length: 8,192 tokens.
- Fine-tuning: RLCD + soft cross-entropy, 1 epoch, 757,748 pairs; post-hoc temperature scaling (T = 1.42).
- General-purpose variant: duclvQ/vi-laya.
Usage
pip install "laya>=0.3.11"
import laya
from huggingface_hub import snapshot_download
agent = laya.Agent(snapshot_download("duclvQ/vi-law-laya"), device="cuda") # or "cpu"
question = {"match": {"type": "noul",
"instructions": agent.cfg["question"]["instructions"]}}
def rank(query, docs):
states = [{"query": query, "document": d} for d in docs]
scores = [r["answers"]["match"]["noul"] for r in agent.predict_batch(states, question, batch_size=8)]
print(query)
for s, d in sorted(zip(scores, docs), reverse=True):
print(f" {s:.3f} {d[:70]}")
# Each query: the answer + two hard negatives (same topic, do not answer the query).
rank("Vịnh Hạ Long nằm ở tỉnh nào?", [
"Vịnh Hạ Long là một vịnh thuộc phần bờ tây vịnh Bắc Bộ, thuộc địa phận tỉnh Quảng Ninh.",
"Vịnh Lan Hạ thuộc quần đảo Cát Bà, thành phố Hải Phòng.",
"Tràng An ở Ninh Bình thường được gọi là 'Vịnh Hạ Long trên cạn'.",
])
rank("Tại sao bầu trời có màu xanh?", [
"Bầu trời có màu xanh do tán xạ Rayleigh: ánh sáng bước sóng ngắn (xanh lam) bị các phân tử khí tán xạ mạnh hơn ánh sáng đỏ.",
"Cầu vồng xuất hiện khi ánh sáng Mặt Trời bị khúc xạ, phản xạ và tán sắc trong các giọt nước mưa.",
"Khí quyển Trái Đất gồm khoảng 78% nitơ, 21% oxy và một lượng nhỏ các khí khác.",
])
rank("Làm thế nào để giải phóng dung lượng bộ nhớ trên điện thoại Android?", [
"Vào Cài đặt > Bộ nhớ, xóa bộ nhớ đệm, gỡ ứng dụng không dùng và chuyển ảnh, video lên đám mây để giải phóng dung lượng.",
"Để tăng thời lượng pin, hãy giảm độ sáng màn hình và tắt Bluetooth, GPS khi không dùng.",
"RAM là bộ nhớ tạm thời giúp điện thoại chạy nhiều ứng dụng cùng lúc.",
])
rank("Chiến thắng Điện Biên Phủ diễn ra năm nào?", [
"Chiến dịch Điện Biên Phủ kết thúc thắng lợi ngày 7/5/1954, buộc Pháp ký Hiệp định Genève.",
"Chiến dịch Hồ Chí Minh diễn ra từ ngày 26/4 đến 30/4/1975, thống nhất đất nước.",
"Điện Biên Phủ là thành phố thuộc tỉnh Điện Biên, vùng Tây Bắc Việt Nam.",
])
Output:
Vịnh Hạ Long nằm ở tỉnh nào?
0.926 Vịnh Hạ Long là một vịnh thuộc phần bờ tây vịnh Bắc Bộ, thuộc địa phận
0.114 Vịnh Lan Hạ thuộc quần đảo Cát Bà, thành phố Hải Phòng.
0.105 Tràng An ở Ninh Bình thường được gọi là 'Vịnh Hạ Long trên cạn'.
Tại sao bầu trời có màu xanh?
0.927 Bầu trời có màu xanh do tán xạ Rayleigh: ánh sáng bước sóng ngắn (xanh
0.100 Cầu vồng xuất hiện khi ánh sáng Mặt Trời bị khúc xạ, phản xạ và tán sắ
0.071 Khí quyển Trái Đất gồm khoảng 78% nitơ, 21% oxy và một lượng nhỏ các k
Làm thế nào để giải phóng dung lượng bộ nhớ trên điện thoại Android?
0.676 Vào Cài đặt > Bộ nhớ, xóa bộ nhớ đệm, gỡ ứng dụng không dùng và chuyển
0.108 RAM là bộ nhớ tạm thời giúp điện thoại chạy nhiều ứng dụng cùng lúc.
0.106 Để tăng thời lượng pin, hãy giảm độ sáng màn hình và tắt Bluetooth, GP
Chiến thắng Điện Biên Phủ diễn ra năm nào?
0.343 Chiến dịch Điện Biên Phủ kết thúc thắng lợi ngày 7/5/1954, buộc Pháp k
0.113 Điện Biên Phủ là thành phố thuộc tỉnh Điện Biên, vùng Tây Bắc Việt Nam
0.100 Chiến dịch Hồ Chí Minh diễn ra từ ngày 26/4 đến 30/4/1975, thống nhất
noul is P(match). Put the query first and the document second; truncation, if any, always cuts the end of the document.
Results
Reranking the top-50 candidates of BAAI/bge-m3.
Zalo AI Legal Text Retrieval (788 queries, 61,425 law articles)
| Model | NDCG@10 | MRR@10 | R@10 | Acc@1 |
|---|---|---|---|---|
| bge-m3 (retrieval only) | 71.3 | 65.6 | 89.1 | 53.7 |
| BAAI/bge-reranker-v2-m3 | 77.5 | 72.9 | 91.9 | 62.1 |
| Qwen/Qwen3-Reranker-0.6B | 73.6 | 67.5 | 92.8 | 54.7 |
| AITeamVN/Vietnamese_Reranker | 87.3 | 84.8 | 94.9 | 78.1 |
| Laya base (multilingual) | 33.6 | 26.1 | 58.3 | 14.2 |
| vi-law-laya | 78.8 | 74.3 | 93.0 | 63.6 |
ALQAC (620 queries, 62,643 law articles)
| Model | NDCG@10 | MRR@10 | R@10 | Acc@1 |
|---|---|---|---|---|
| bge-m3 (retrieval only) | 86.5 | 84.0 | 94.0 | 77.6 |
| BAAI/bge-reranker-v2-m3 | 94.8 | 93.9 | 97.3 | 91.3 |
| AITeamVN/Vietnamese_Reranker | 94.6 | 94.0 | 96.6 | 91.9 |
| vi-law-laya | 94.9 | 94.1 | 97.1 | 91.9 |
Probability quality (all top-50 pairs; AUC = separation of matching vs. non-matching pairs)
| Model | Zalo AUC | Zalo Brier | ALQAC AUC | ALQAC Brier |
|---|---|---|---|---|
| AITeamVN/Vietnamese_Reranker (sigmoid) | 0.982 | 0.037 | 0.991 | 0.030 |
| vi-law-laya | 0.964 | 0.022 | 0.994 | 0.020 |
Speed (RTX A4500, bf16): 13 ms/pair on short articles (ALQAC), 22 ms/pair on long articles (Zalo).
Examples
Queries from domains outside the fine-tuning data (legal). Each query is scored against one correct passage and two same-topic distractors (examples.json).
| Domain | Query | P(correct) | P(best distractor) |
|---|---|---|---|
| Health | Triệu chứng của bệnh sốt xuất huyết là gì? | 0.101 | 0.100 |
| Health | Người bị tiểu đường nên ăn gì để kiểm soát đường huyết? | 0.104 | 0.105 |
| Health | Trẻ em mấy tháng tuổi thì được tiêm vắc xin sởi? | 0.258 | 0.133 |
| Finance | Lãi suất tiết kiệm kỳ hạn 12 tháng hiện nay khoảng bao nhiêu? | 0.107 | 0.101 |
| Education | Điểm xét tuyển đại học được tính như thế nào? | 0.104 | 0.100 |
| General | Vịnh Hạ Long nằm ở tỉnh nào? | 0.924 | 0.106 |
| General | Cách nấu phở bò ngon tại nhà | 0.857 | 0.150 |
| General | Làm sao để đổi mật khẩu Wi-Fi nhà mình? | 0.888 | 0.111 |
| Technology | Làm thế nào để giải phóng dung lượng bộ nhớ trên điện thoại Android? | 0.923 | 0.110 |
| Technology | ChatGPT là gì? | 0.914 | 0.104 |
| Sports | Đội tuyển Việt Nam vô địch AFF Cup lần đầu tiên vào năm nào? | 0.305 | 0.101 |
| History | Chiến thắng Điện Biên Phủ diễn ra năm nào? | 0.893 | 0.115 |
| Travel | Thời điểm nào đẹp nhất để du lịch Đà Lạt? | 0.861 | 0.105 |
| Science | Tại sao bầu trời có màu xanh? | 0.929 | 0.099 |
| Agriculture | Cách phòng trừ sâu cuốn lá trên lúa? | 0.912 | 0.102 |
| Lifestyle | Làm sao để ngủ ngon hơn vào ban đêm? | 0.121 | 0.101 |
| Unrelated | Giá vàng hôm nay tăng hay giảm? | – | 0.001 |
Citation
Base model: convaiinnovations/laya; encoder: jhu-clsp/mmBERT-base.
- Downloads last month
- -
Model tree for duclvQ/vi-law-laya
Base model
convaiinnovations/laya