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
-
Safetensors
Model size
0.3B params
Tensor type
F16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for duclvQ/vi-law-laya

Finetuned
(79)
this model