SentenceTransformer based on hiieu/halong_embedding

This is a sentence-transformers model finetuned from hiieu/halong_embedding. 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: hiieu/halong_embedding
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'XLMRobertaModel'})
  (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})
  (2): Normalize()
)

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("TTHDZ/halong_embedding_finetuned")
# Run inference
sentences = [
    'Theo tài liệu Public_119, mục tiêu của LDA là gì?',
    'Public_119\nGiới thiệu\n\nTrong hai bài viết trước, PCA (unsupervised) giữ lại tổng phương sai lớn nhất nhưng không dùng nhãn. Trong phân lớp (supervised), tận dụng nhãn thường cho kết quả tốt hơn. Ví dụ chiếu lên các hướng d1 (gần PC1) và d2 (gần thành phần phụ): d1 có thể làm hai lớp chồng lấn, trong khi d2 tách tốt hơn cho classification. Điều này cho thấy giữ lại nhiều phương sai nhất không phải lúc nào cũng tốt cho phân lớp. LDA ra đời để tìm phép chiếu tuyến tính (projection matrix) tối đa hóa khả năng phân biệt (discriminant). Với C lớp, số chiều mới không vượt quá C−1.',
    'Public_496\nMẠNG NƠ-RON NHÂN TẠO\nMục đích của phần thí nghiệm\n<table>\n<colgroup>\n<col/>\n</colgroup>\n<thead>\n<tr>\n<th><p>Mục đích của phần thí nghiệm:</p>\n<ul>\n<li><p>Hiểu rõ khái niệm Markov Decision Process (MDP).</p></li>\n<li><p>Nắm được các hàm giá trị\n<math><semantics><msup><mi>V</mi><mi>π</mi></msup><annotation>V^{\\pi}</annotation></semantics></math>(s),\n<math><semantics><msup><mi>Q</mi><mi>π</mi></msup><annotation>Q^{\\pi}</annotation></semantics></math>(s,a)</p></li>\n<li><p>Làm quen với các phương trình Bellman và ý nghĩa tối ưu.</p></li>\n<li><p>Áp dụng các thuật toán Q-learning, SARSA, Policy Gradient,\nActor-Critic.</p></li>\n<li><p>Biết các kỹ thuật regularization và exploration trong\nRL.</p></li>\n</ul></th>\n</tr>\n</thead>\n<tbody>\n</tbody>\n</table>',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

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

Training Details

Training Dataset

Unnamed Dataset

  • Size: 6,765 training samples
  • Columns: sentence_0, sentence_1, and sentence_2
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 sentence_2
    type string string string
    details
    • min: 9 tokens
    • mean: 25.48 tokens
    • max: 77 tokens
    • min: 21 tokens
    • mean: 324.91 tokens
    • max: 512 tokens
    • min: 23 tokens
    • mean: 306.9 tokens
    • max: 512 tokens
  • Samples:
    sentence_0 sentence_1 sentence_2
    Transistor NPN có các cực được sắp xếp như thế nào? Public_574
    Các loại linh kiện điện tử phổ biến
    Transitor
    Transistor hay còn gọi là tranzito là một loại linh kiện bán dẫn chủ động. Thường được sử dụng như một phần tử khuếch đại hay khóa điện tử. Với khả năng đáp ứng nhanh, chính xác nên transistor được sử dụng nhiều trong ứng dụng tương tự và số như: mạch khuếch đại, điều chỉnh điện áp, tạo dao động và điều khiển tín hiệu.
    Tên gọi transistor chính là từ ghép trong Tiếng Anh của “Transfer” và “resistor” cũng tức là điện trở chuyển đổi. Tên gọi này được John R. Pierce đặt năm 1948 sau khi linh kiện này ra đời. Nó có ý nghĩa rằng thực hiện khuếch đại thông qua chuyển đổi điện trở.
    Chúng ta có thể nói transistor là một linh kiện bán dẫn chủ động được sử dụng trong mạch khuếch đại, đóng ngắt….
    Về mặt cấu tạo, transistor được tạo thành từ hai lớp bán dẫn điện ghép lại với nhau. Như hình trên chúng ta có thể thấy có hai loại bán dẫn điện là loại p và loại n. Khi ghép một bán dẫn điện âm nằm giữa hai bán dẫn điện dương ta được Transistor...
    Public_028
    Nguyên lý hoạt động
    Nguyên lý làm việc của Transistor NPN
    Khi không có điện áp cấp cho transistor NPN → không phân cực.
    * Lớp N (Emitter & Collector): điện tử tự do là hạt dẫn đa số, lỗ trống là hạt mang điện thiểu số.
    * Lớp P (Base): điện tử tự do là hạt mang điện thiểu số, lỗ trống là hạt dẫn đa số.
    Các hạt mang điện luôn di chuyển từ vùng nồng độ cao → nồng độ thấp:
    * Điện tử: từ N (n-region) → P (p-region)
    * Lỗ trống: từ P (p-region) → N (n-region)
    Quá trình này tạo ra vùng nghèo kiệt (depletion region) tại mối nối B-EB-C.
    ### Tại sao vùng nghèo kiệt thâm nhập nhiều hơn về phía pha tạp nhẹ?
    * Doping là quá trình thêm tạp chất vào chất bán dẫn để tăng dẫn điện.
    * Pha tạp nặng: nhiều hạt mang điện, dẫn điện cao
    * Pha tạp nhẹ: ít hạt mang điện, dẫn điện thấp
    Trong Transistor NPN :
    * Emitter (N): pha tạp nặng → nhiều điện tử tự do
    * Base (P): pha tạp nhẹ → ít lỗ trống
    * Collector (N): pha tạp vừa phải → ...
    Theo tài liệu Public_087, ô nhiễm không khí là thách thức môi trường nghiêm trọng nhất tại đâu ở Việt Nam? Public_087


    Ô nhiễm không khí hiện đang là một trong những thách thức môi trường nghiêm trọng nhất tại Việt Nam, đặc biệt tại các đô thị lớn như Hà Nội và Thành phố Hồ Chí Minh. Sự gia tăng nồng độ bụi mịn PM2.5 vượt ngưỡng cho phép tại nhiều khu vực không chỉ ảnh hưởng trực tiếp đến sức khỏe cộng đồng mà còn đe dọa sự phát triển kinh tế - xã hội bền vững. Trong bối cảnh toàn cầu đang ứng phó với biến đổi khí hậu và các hệ lụy của quá trình đô thị hóa nhanh, nhận diện rõ thực trạng, xác định chính xác nguyên nhân, đánh giá mức độ đóng góp của từng nguồn thải và hiệu quả các giải pháp đã triển khai là cơ sở quan trọng để xây dựng chính sách phù hợp, góp phần nâng cao hiệu lực quản lý chất lượng không khí quốc gia.
    Public_100
    Xu hướng tương lai
    nan
    * Thiết bị nhẹ và gọn: Kính AR dạng kính mắt thông thường, pin lâu hơn.
    * Tích hợp AI và học máy: Tự động nhận diện và tái tạo môi trường thực với độ chính xác cao.
    * Tương tác đa giác quan: Hỗ trợ cảm giác chạm, âm thanh 3D, mùi hương.
    * Metaverse chuyên biệt: Ứng dụng cho giáo dục, y tế, thương mại chứ không chỉ giải trí.
    * Hợp tác từ xa nâng cao: Cuộc họp ảo với hình đại diện 3D chân thực, tăng tính kết nối toàn cầu.
    Theo tài liệu Public_107, nếu learning rate quá nhỏ, kết quả của thuật toán GD sẽ như thế nào? Public_107
    Gradient Descent cho hàm nhiều biến

    Giả sử ta cần tìm global minimum cho hàm f(θ) trong đó θ ( theta ) là một vector, thường được dùng để ký hiệu tập hợp các tham số của một mô hình cần tối ưu (trong Linear Regression thì các tham số chính là hệ số w). Đạo hàm của hàm số đó tại một điểm θ bất kỳ được ký hiệu là ∇θf(θ) (hình tam giác ngược đọc là nabla ). Tương tự như hàm 1 biến, thuật toán GD cho hàm nhiều biến cũng bắt đầu bằng một điểm dự đoán θ0, sau đó, ở vòng lặp thứ t, quy tắc cập nhật là:
    θt+1=θt−η∇θf(θt)
    Hoặc viết dưới dạng đơn giản hơn: θ=θ−η∇θf(θ).
    Quy tắc cần nhớ: luôn luôn đi ngược hướng với đạo hàm.
    Việc tính toán đạo hàm của các hàm nhiều biến là một kỹ năng cần thiết. Một vài đạo hàm đơn giản có thể được tìm thấy ở đây.
    Quay lại với bài toán Linear Regression
    Trong mục này, chúng ta quay lại với bài toán Linear Regression ...
    Public_582
    Thông số và kích thước cơ bản
    nan
    Các thông số và kích thước cơ bản của trụ nước được quy định tại Bảng 1 và Phụ lục A
    Bảng 1 - Thông số và kích thước cơ bản của trụ nước chữa cháy











































    Thông sốTrụ nổiTrụ ngầm
    Áp suất làm việc, MPa (bar), không lớn hơn1(10)1(10)
    Đường kính trong thân trụ nước, mm125 ± 2125 ± 2
    Chiều cao nâng của van, mmTừ 24 đến 30Từ 24 đến 30
    Chiều cao trụ nước, mm1 500 ± 20970 ± 20
    Số vòng quay cần thiết để van mở hoàn toàn, vòng, không lớn hơn1515
    Hệ số tổn thất áp suất trong trụ nước, s2m-5,
    không lớn hơn
    1,2x1031,2x103
    ...
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    
  • Training Hyperparameters

    Non-Default Hyperparameters

    • fp16: True
    • 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: 8
    • per_device_eval_batch_size: 8
    • 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
    • bf16: False
    • fp16: True
    • 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}
    • parallelism_config: None
    • deepspeed: None
    • label_smoothing_factor: 0.0
    • optim: adamw_torch
    • optim_args: None
    • adafactor: False
    • group_by_length: False
    • length_column_name: length
    • project: huggingface
    • trackio_space_id: trackio
    • 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
    • hub_revision: None
    • 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
    • include_tokens_per_second: False
    • include_num_input_tokens_seen: no
    • neftune_noise_alpha: None
    • optim_target_modules: None
    • batch_eval_metrics: False
    • eval_on_start: False
    • use_liger_kernel: False
    • liger_kernel_config: None
    • eval_use_gather_object: False
    • average_tokens_across_devices: True
    • prompts: None
    • batch_sampler: batch_sampler
    • multi_dataset_batch_sampler: round_robin
    • router_mapping: {}
    • learning_rate_mapping: {}

    Training Logs

    Epoch Step Training Loss
    0.5910 500 4.997
    1.1820 1000 5.0017
    1.7730 1500 5.0006
    2.3641 2000 5.0006
    2.9551 2500 5.0005

    Framework Versions

    • Python: 3.12.11
    • Sentence Transformers: 5.1.0
    • Transformers: 4.57.1
    • PyTorch: 2.7.0+cu126
    • Accelerate: 1.11.0
    • Datasets: 3.6.0
    • Tokenizers: 0.22.1

    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",
    }
    

    TripletLoss

    @misc{hermans2017defense,
        title={In Defense of the Triplet Loss for Person Re-Identification},
        author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
        year={2017},
        eprint={1703.07737},
        archivePrefix={arXiv},
        primaryClass={cs.CV}
    }
    
Downloads last month
-
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for TTHDZ/halong_embedding_finetuned

Finetuned
(28)
this model

Papers for TTHDZ/halong_embedding_finetuned