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
model = SentenceTransformer("TTHDZ/halong_embedding_finetuned")
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)
similarities = model.similarity(embeddings, embeddings)
print(similarities)
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-E và B-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ổi | Trụ ngầm | | Áp suất làm việc, MPa (bar), không lớn hơn | 1(10) | 1(10) | | Đường kính trong thân trụ nước, mm | 125 ± 2 | 125 ± 2 | | Chiều cao nâng của van, mm | Từ 24 đến 30 | Từ 24 đến 30 | | Chiều cao trụ nước, mm | 1 500 ± 20 | 970 ± 20 | | Số vòng quay cần thiết để van mở hoàn toàn, vòng, không lớn hơn | 15 | 15 | Hệ số tổn thất áp suất trong trụ nước, s2m-5, không lớn hơn | 1,2x103 | 1,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}
}
|