SentenceTransformer based on vinai/phobert-base

This is a sentence-transformers model finetuned from vinai/phobert-base. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: vinai/phobert-base
  • Maximum Sequence Length: 128 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("trongvox/phobert-semactic-retrival-food")
# Run inference
sentences = [
    'Nguyên liệu: Cho 3 người\nCá mút đá 1 kg Ớt 1 muỗng canhLá chanh 20 gr Hành tím băm 2 muỗng cà phê Sa tế 2 muỗng canhDụng cụ thực hiện: Bếp nướng điện, tô, muỗng, dao,...\n\nCách làm Cá mút đá nướng sa tế:\nSơ chế cá mút đá:\nDùng một vật nhọn giữ cố định đầu của cá mút đá, sau đó dùng dao rạch phần bụng và loại bỏ hết phần ruột của cá ra.Tiếp theo dùng dao lóc thịt và bỏ phần da nhờn của cá đi. Tùy theo món ăn và kích thước cá mà chúng ta sẽ cắt thành những đoạn vừa ăn. Bên cạnh đó, bạn có thể mua cá mút đá chế biến sẵn và được giữ đông, chúng vẫn giữ được hương vị, độ tươi ngon. Đây là cách dễ dàng nhất bạn không phải tốn công chế biến cá mút đá. Mua về chỉ cần cắt nhỏ, ướp gia vị là có thể nấu được ngay.\nCách sơ chế cá sạch, hết nhớt\nCách 1: bạn hãy lấy giấm tưới lên thân cá, chờ trong vài phút để nhớt trên thân cá đông lại, lúc này bạn có thể dễ dàng dùng dao cạo hết lớp nhớt đã đông này đi đấy.Cách 2: sau khi mua cá về, dùng nước nóng già đổ lên thân cá. Chú ý không được để nước sôi vì sẽ làm tróc da và làm chín lớp cá bên ngoài đấy. Sau khi đổ đợi lớp nhớt đông lại và dùng dao cạo lớp nhớt đi sau đó rửa sạch. Để đảm bảo cá sạch nhớt, sau khi cạo cũng nên rửa lại bằng giấm hay chanh.Chú ý: Để loại bỏ nhớt, mùi tanh của cá do tiết thừa còn đọng lại khi bạn làm thịt cá, sau khi chế biến thịt thì bạn hãy rửa thật kĩ, đặc biệt là phần bụng và xương sống cá để loại bỏ máu đọng lại. Bằng cách như vậy thì cá của bạn sẽ bớt đi mùi tanh rất nhiều đấy!\nƯớp cá:\nCho cá vào tô cùng với 1 muỗng canh ớt, 20gr lá chanh, 2 muỗng cà phê hành tím băm và 2 muỗng canh sa tế. Dùng tay trộn đều cho cá thấm đều gia vị, sau đó ướp trong 15 phút.\nNướng cá:\nCho cá lên bếp nướng điện hoặc lên dĩa nướng với than, nướng đến khi cá vừa chín tới, không nướng quá chín làm cá khô, mất đi độ ngon của món ăn.\nThành phẩm: Thịt cá dai dai, gia vị đậm đà, cay cay của sa tế, nhất định sẽ gây ấn tượng cho cả gia đình bạn đấy!',
    'Cá mút đá (cá ninja) nướng sa tế',
    'Miến xào chả cá',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 37,424 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 label
    type string string float
    details
    • min: 83 tokens
    • mean: 127.37 tokens
    • max: 128 tokens
    • min: 3 tokens
    • mean: 7.27 tokens
    • max: 21 tokens
    • min: 0.0
    • mean: 0.49
    • max: 1.0
  • Samples:
    sentence_0 sentence_1 label
    Nguyên liệu:
    Thịt nai né: 400grHành tây: 1-1.5 củCần tây: 1-2 câyCà chua:1 quảGia vị: Đường, muối, mì chính, nước mắm, dầu ăn, sa tế, ớt (nếu bạn ăn cay), tỏi băm nhỏ, hành tím khô băm nhỏ.
    Cách chế biến:
    Sơ chế và ướp thịt
    Thịt nai khi mua về xát với muối hột rồi rửa lại với nước sạch và để ráo. Sau đó, cắt thịt thành lát mỏng vừa ăn.Ướp thịt nai với 1/2 phần tỏi, ớt băm, 2 muỗng cà phê bột ngọt, 1 muỗng cà phê hạt nêm, 1 muỗng cà phê đường, 1 muỗng canh sa tế, 1 muỗng canh dầu màu điều. Trộn đều cho thấm gia vị và ướp trong khoảng 5 phút.
    Thực hiện
    Cho tỏi, hành khô băm nhỏ vào xào qua, cho thêm cà chua, thịt nai đã ướp vào xào tái. Chú ý khi xào nên để lửa lớn để thịt nai không bị bở.Cho hành tây, cần tây vào xào cùng đến khi chín. Nêm lại gia vị cho vừa miệng.Cho món thịt nai xào hành tây ra đĩa, rắc chút tiêu nếu bạn muốn và thưởng thức.
    Thịt nai xào hành tây 1.0
    Là một trong những tín đồ của ăn vặt tại Di Linh mà bỏ qua Gạch Coffee thì quả là một thiếu sót lớn. Gạch Coffee có không gian nhỏ xinh, thích hợp với các bạn tuổi teen, lại có vị trí đắc địa ngay giữa trung tâm thị trấn Di Linh nên đây là một trong những địa điểm hẹn hò thường xuyên của các nhóm bạn thân trong những ngày rảnh rỗi.

    Tiệm chủ yếu thiên về đồ uống như trà, coffee, trà sữa… Ngoài ra, 1 số món ăn vặt cũng được chuẩn bị và chế biến rất công phu như mẹt đồ rán, chân gà sả ớt... hay đặc biệt là mì cay Hàn Quốc rất được yêu thích. Tất cả đều sử dụng nguyên liệu sạch, có sự chọn lựa kĩ lưỡng. Đây là địa điểm tụ tập quen thuộc của các bạn trẻ trong khu vực không chỉ bởi địa thế thuận lợi, dễ tìm kiếm, chị chủ dễ tính, đồ ăn ngon, mà giá thành còn rất sinh viên.

    Ăn uống no nê mà mỗi người chỉ tốn mấy chục. Vì thế khách đã đông nay lại càng đông hơn. Ngoài ra, Gạch Coffee còn thường xuyên cập nhật những món mới, lạ và ngon để khách hàng có dịp thưởng thức. Gạch Coffee nơi lý tư...
    Cháo tôm, rau cải 0.0
    Nam o goc duong Phung Hung - Hang Bong, quan Com Tam Quan 1 noi tieng vi vi suon o day uop chuan vi Sai Gon. Khong gian quan rat sach se, co dieu hoa, thich hop de tu hop gia dinh. Do an cua Com tam Quan 1 rat chat luong va dam bao ve sinh. Neu ban chua tim duoc dia chi nhu y thi day la noi hua hen se cho ban nhieu trai nghiem an tuong. Nhan vien kha nhiet tinh va nhanh nhen, than thien va quan rat sach se va ve sinh cung la diem cong cua quan. Dia com trang tri kha don gian nhung chat luong do an cuc cao. Suat dac biet gom co suon, bi, cha, trung, dua chuot, ca rot, cu cai trang,...

    Suon o Com Tam Quan 1 duoc uop dung vi Sai Gon. Thit nuong chay canh, mieng thit ngoai gion trong mem mem. Cha cua quan an rat vua mieng. Canh dau bap va doc mung cua quan ngot va thom, rat chuan vi o Sai Gon. Voi ten tuoi, chat luong thom ngon nhu the, gia ca cua quan cung khong o muc qua binh dan nhung ban co the yen tam vi mot khi lua chon, ban se duoc thuong thuc mot dia com ngon dang tien. Du ban an ...
    Cơm Tấm Quận 1 1.0
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1
  • num_train_epochs: 3
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step Training Loss
0.2138 500 2.3128
0.4275 1000 2.0084
0.2138 500 1.7923
0.4275 1000 1.8473
0.6413 1500 1.8061
0.8551 2000 1.8079

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.1
  • PyTorch: 2.5.1+cu121
  • Accelerate: 1.2.1
  • Datasets: 3.2.0
  • Tokenizers: 0.21.0

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}
Downloads last month
7
Safetensors
Model size
135M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for trongvox/phobert-semactic-retrival-food

Base model

vinai/phobert-base
Finetuned
(41)
this model