Edit model card

Table of contents

  1. Installation
  2. Pre-processing
  3. Usage with sentence-transformers
  4. Usage with transformers
  5. Performance

Installation

  • Install pyvi to word segment:

    • pip install pyvi
  • Install sentence-transformers (recommend) - Usage:

    • pip install sentence-transformers
  • Install transformers (optional) - Usage:

    • pip install transformers

Pre-processing

from pyvi import ViTokenizer

query = "UIT là gì?"
sentences = [
    "Trường Đại học Công nghệ Thông tin có tên tiếng Anh là University of Information Technology (viết tắt là UIT) là thành viên của Đại học Quốc Gia TP.HCM.",
    "Trường Đại học Kinh tế – Luật (tiếng Anh: University of Economics and Law – UEL) là trường đại học đào tạo và nghiên cứu khối ngành kinh tế, kinh doanh và luật hàng đầu Việt Nam.",
    "Quĩ uỷ thác đầu tư (tiếng Anh: Unit Investment Trusts; viết tắt: UIT) là một công ty đầu tư mua hoặc nắm giữ một danh mục đầu tư cố định"
]

tokenized_query = ViTokenizer.tokenize(query)
tokenized_sentences = [ViTokenizer.tokenize(sent) for sent in sentences]

tokenized_pairs = [[tokenized_query, sent] for sent in tokenized_sentences]

Usage with sentence-transformers

from sentence_transformers import CrossEncoder
model = CrossEncoder('itdainb/vietnamese-cross-encoder', max_length=256)

# For fp16 usage
model.model.half()

scores = model.predict(tokenized_pairs)

Usage with transformers

from transformers import AutoTokenizer, AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained('itdainb/vietnamese-cross-encoder')
tokenizer = AutoTokenizer.from_pretrained('itdainb/vietnamese-cross-encoder')

# For fp16 usage
model.half()

features = tokenizer(tokenized_pairs, padding=True, truncation="longest_first", return_tensors="pt", max_length=256)

model.eval()
with torch.no_grad():
    model_predictions = model(**features, return_dict=True)
    logits = model_predictions.logits

    scores = [score[0] for score in logits]
    print(scores)

Performance

In the following table, we provide various pre-trained Cross-Encoders together with their performance on the MS MMarco Passage Reranking - Vi - Dev dataset.

Model-Name NDCG@3 MRR@3 NDCG@5 MRR@5 NDCG@10 MRR@10 Docs / Sec
itdainb/vietnamese-cross-encoder 0.6625 0.6458 0.7147 0.6731 0.7422 0.6830 15
amberoad/bert-multilingual-passage-reranking-msmarco 0.4634 0.5233 0.5041 0.5383 0.5416 0.5523 22
kien-vu-uet/finetuned-phobert-passage-rerank-best-eval 0.0963 0.0883 0.1396 0.1131 0.1681 0.1246 15
BAAI/bge-reranker-v2-m3 0.6087 0.5841 0.6513 0.6062 0.6872 0.62091 3.51
BAAI/bge-reranker-v2-gemma 0.6088 0.5908 0.6446 0.6108 0.6785 0.6249 1.29

Note: Runtime was computed on a A100 GPU with fp16.

Downloads last month
41
Safetensors
Model size
135M params
Tensor type
F32
·

Dataset used to train itdainb/PhoRanker