SentenceTransformer(
(0): Transformer({'max_seq_length': 2048, 'do_lower_case': False, 'architecture': 'Gemma3TextModel'})
(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): Dense({'in_features': 768, 'out_features': 3072, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
(3): Dense({'in_features': 3072, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
(4): Normalize()
)pip install -U sentence-transformers1from sentence_transformers import SentenceTransformer
2
3# Download from the 🤗 Hub
4model = SentenceTransformer("DeeAteTee/my-embedding-gemma-1st-test")
5# Run inference
6queries = [
7 "Which planet is known as the Red Planet?",
8]
9documents = [
10 "Venus is often called Earth's twin because of its similar size and proximity.",
11 'Mars, known for its reddish appearance, is often referred to as the Red Planet.',
12 'Saturn, famous for its rings, is sometimes mistaken for the Red Planet.',
13]
14query_embeddings = model.encode_query(queries)
15document_embeddings = model.encode_document(documents)
16print(query_embeddings.shape, document_embeddings.shape)
17# [1, 768] [3, 768]
18
19# Get the similarity scores for the embeddings
20similarities = model.similarity(query_embeddings, document_embeddings)
21print(similarities)
22# tensor([[0.3194, 0.6566, 0.5184]])anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
JD: Yêu cầu ứng viên vị trí Full Stack Developer. Cần thành thạo ReactJS ở Frontend và Node.js/Express ở Backend. Có kinh nghiệm thiết kế RESTful API và làm việc với PostgreSQL. | CV: Kinh nghiệm 2 năm làm Full Stack Web. Chuyên phát triển giao diện người dùng bằng ReactJS, xây dựng hệ thống backend REST API với Node.js và quản trị cơ sở dữ liệu PostgreSQL. | CV: Chuyên viên Phân tích dữ liệu (Data Analyst). Kỹ năng chính là viết truy vấn SQL phức tạp, trực quan hóa dữ liệu bằng Tableau và PowerBI để làm báo cáo kinh doanh. |
JD: Tìm kiếm Kỹ sư AI/Machine Learning. Nắm vững Python và các framework Deep Learning như PyTorch hoặc TensorFlow. Có kinh nghiệm làm việc với hệ thống Recommendation là một lợi thế lớn. | CV: Ứng viên định hướng AI Engineer. Kỹ năng lập trình Python tốt, thành thạo PyTorch. Đã từng làm đồ án xây dựng hệ thống đề xuất (Recommendation System) và tinh chỉnh mô hình embedding. | CV: Lập trình viên Mobile. Chuyên phát triển ứng dụng di động iOS bằng Swift và Android bằng Kotlin. Có kinh nghiệm tích hợp Firebase và đẩy ứng dụng lên App Store/Google Play. |
JD: Tuyển dụng lập trình viên C++ mảng Computer Graphics. Yêu cầu kiến thức vững chắc về toán học đồ họa 3D, ma trận, và có kinh nghiệm thực tế với OpenGL hoặc Vulkan. | CV: Lập trình C++ với đam mê lĩnh vực Đồ họa máy tính. Đã tự phát triển một engine render cơ bản sử dụng thư viện OpenGL, nắm vững các khái niệm toán học 3D transformations. | CV: Quản trị trị hệ thống (System Admin). Chuyên vận hành máy chủ Linux, thiết lập pipeline CI/CD với Jenkins, Docker và giám sát hạ tầng bằng hệ thống Prometheus. |
MultipleNegativesRankingLoss with these parameters:
1{
2 "scale": 20.0,
3 "similarity_fct": "cos_sim",
4 "gather_across_devices": false,
5 "directions": [
6 "query_to_doc"
7 ],
8 "partition_mode": "joint",
9 "hardness_mode": null,
10 "hardness_strength": 0.0
11}per_device_train_batch_size: 1learning_rate: 2e-05num_train_epochs: 5warmup_ratio: 0.1prompts: task: sentence similarity | query:overwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 1per_device_eval_batch_size: 8per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 5max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: task: sentence similarity | query:batch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 1.5 | 3 | 0.0424 |
| 3.0 | 6 | 0.0 |
| 4.5 | 9 | 0.0 |
1@inproceedings{reimers-2019-sentence-bert,
2 title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
3 author = "Reimers, Nils and Gurevych, Iryna",
4 booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
5 month = "11",
6 year = "2019",
7 publisher = "Association for Computational Linguistics",
8 url = "https://arxiv.org/abs/1908.10084",
9}1@misc{oord2019representationlearningcontrastivepredictive,
2 title={Representation Learning with Contrastive Predictive Coding},
3 author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
4 year={2019},
5 eprint={1807.03748},
6 archivePrefix={arXiv},
7 primaryClass={cs.LG},
8 url={https://arxiv.org/abs/1807.03748},
9}