strongpear's picture
Add new SentenceTransformer model.
667aec7 verified
metadata
datasets: []
language: []
library_name: sentence-transformers
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:1312839
  - loss:TripletLoss
widget:
  - source_sentence: Đã bao nhiêu giờ trôi qua kể từ khi bệnh nhân 006-172277 nhập viện?
    sentences:
      - >-
        CREATE TABLE chi phí(chi phí number,duy nhất text,bệnh nhânhệ thống sức
        khỏelưu trúid number,loại sự kiện text,id sự kiện number,thời gian tính
        phí time,chi phí number)
      - CREATE TABLE chuyến bay fare(flight id int,fare id int)
      - >-
        CREATE TABLE disease(uniquepid text, Patienthealthsystemstayid number,
        bệnh nhân đơn vị lưu trú number, giới tính text, tuổi text, dân tộc
        text, bệnh viện number, khu bệnh number, chiều cao nhập viện number, cân
        nặng nhập viện number, cân nặng xuất viện number, thời gian nhập viện
        time, nguồn nhập viện text, thời gian xuất viện time, trạng thái xuất
        viện text)
  - source_sentence: tôi cần một chuyến bay từ NEWARK đến LOS ANGELES khởi hành vào tối mai
    sentences:
      - >-
        CREATE TABLE time zone(time zone code text,time zone name text,hours
        from gmt int)
      - >-
        CREATE TABLE city(city code varchar,city name varchar,state code
        varchar,tên quốc gia varchar,múi thời gian varchar);
      - >-
        CREATE TABLE sân bay(airport code varchar,airport name text,airport
        location text,state code varchar,country name varchar,time zone code
        varchar,minimum connect time int);
  - source_sentence:  bao nhiêu giám đốc từ năm 2000 đến năm 2009?
    sentences:
      - >-
        CREATE TABLE Bài viết(Id number,PostTypeId number,AcceptedAnswerId
        number,ParentId number,CreationDate time,DeletionDate time,Score
        number,ViewCount number,Body text,OwnerUserId number,OwnerDisplayName
        text,LastEditorUserId number,LastEditorDisplayName text,LastEditDate
        time,LastActivityDate time,Tiêu đề text,Thẻ text,Đếm trả lời number,Đếm
        bình luận number,Đếm yêu thích number,Ngày đóng time,Ngày sở hữu cộng
        đồng time,Giấy phép nội dung text)
      - >-
        CREATE TABLE table 11239("Ngày" text,"Đội thăm quan" text,"Tỷ số cuối
        cùng" text,"Đội đăng cai" text,"Sân vận động" text)
      - >-
        CREATE TABLE table 203 141(id number,"sr.no." number,"tên" text,"từ"
        text,"cho đến" text,"nghề nghiệp" text)
  - source_sentence: Tên đầy đủ, các phòng ban, thành phố, tỉnh của từng nhân viên  gì?
    sentences:
      - >-
        CREATE TABLE phòng ban(department id number,department name text,manager
        id number,location id number)
      - CREATE TABLE khu vực(khu vực id number,tên khu vực text)
      - >-
        CREATE TABLE tuyển sinh(row id number,subject id number,hadm id
        number,admittime time,dischtime time,admission type text,admission
        location text,discharge location text,bảo hiểm text,ngôn ngữ text,hôn
        nhân status text,dân tộc text,age number);
  - source_sentence: Năm 2011  bao nhiêu khi năm 2009  'MỘT'?
    sentences:
      - CREATE TABLE table name 27(điểm VARCHAR,đội khách VARCHAR,date VARCHAR)
      - >-
        CREATE TABLE Bài viết(Id number,PostTypeId number,AcceptedAnswerId
        number,ParentId number,CreationDate time,DeletionDate time,Score
        number,ViewCount number,Body text,OwnerUserId number,OwnerDisplayName
        text,LastEditorUserId number,LastEditorDisplayName text,LastEditDate
        time,LastActivityDate time,Title text,Tags text,AnswerCount
        number,CommentCount number,FavoriteCount number,ClosedDate
        time,CommunityOwnedDate time,ContentLicen text)
      - >-
        CREATE TABLE table 61807("Giải đấu" text,"2009" text,"2010" text,"2011"
        text,"2012" text)

SentenceTransformer

This is a sentence-transformers model trained. It maps sentences & paragraphs to a 1024-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
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 1024 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, '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("strongpear/M3-retriever-Vi-Text2SQL")
# Run inference
sentences = [
    "Năm 2011 là bao nhiêu khi năm 2009 là 'MỘT'?",
    'CREATE TABLE table 61807("Giải đấu" text,"2009" text,"2010" text,"2011" text,"2012" text)',
    'CREATE TABLE table name 27(điểm VARCHAR,đội khách VARCHAR,date VARCHAR)',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

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

Training Details

Training Dataset

Unnamed Dataset

  • Size: 1,312,839 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 6 tokens
    • mean: 22.66 tokens
    • max: 323 tokens
    • min: 12 tokens
    • mean: 56.47 tokens
    • max: 159 tokens
    • min: 11 tokens
    • mean: 41.05 tokens
    • max: 621 tokens
  • Samples:
    anchor positive negative
    Chủ đề StackOverflow vào tháng 5 năm 2010. Sẽ thật tuyệt nếu có một biểu đồ, tôi biết :) CREATE TABLE Bài viết(Id number,PostTypeId number,AcceptedAnswerId number,ParentId number,CreationDate time,DeletionDate time,Score number,ViewCount number,Nội dung text,OwnerUserId number,OwnerDisplayName text,LastEditorUserId number,LastEditorDisplayName text,LastEditDate time,LastActivityDate time,Title text,Tags text,AnswerCount number,CommentCount number,FavoriteCount number,ClosedDate time,CommunityOwnedDate time,ContentLince text); CREATE TABLE PostTypes(Id number,Name text)
    sao2 của bệnh nhân 31854 trong lần khám tại bệnh viện hiện tại có bình thường không? CREATE TABLE icustays(row id number,subject id number,hadm id number,icustay id number,first careunit text,last careunit text,first wardid number,last wardid number,intime time,outtime time); CREATE TABLE inputevents cv(row id number,subject id number,hadm id number,icustay id number,charttime time,itemid number,amount number)
    chuyến bay nào từ PITTSBURGH đến ATLANTA vào sáng thứ Tư phục vụ BỮA SÁNG CREATE TABLE sân bay(airport code varchar,airport name text,airport location text,state code varchar,country name varchar,time zone code varchar,minimum connect time int); CREATE TABLE máy bay(aircraft code varchar,aircraft description varchar,nhà sản xuất varchar,basic type varchar,engines int,động cơ varchar,thân rộng varchar,sải cánh int,chiều dài int,trọng lượng int,công suất int,tải trả int,tốc độ bay int,phạm vi dặm int,có áp suất varchar)
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 69,098 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 8 tokens
    • mean: 23.11 tokens
    • max: 323 tokens
    • min: 7 tokens
    • mean: 57.77 tokens
    • max: 181 tokens
    • min: 12 tokens
    • mean: 42.41 tokens
    • max: 207 tokens
  • Samples:
    anchor positive negative
    Đã bao nhiêu ngày kể từ lần cuối bệnh nhân 1561 nhận được một lượng lactate ringer trong lần thăm khám tại phòng chăm sóc đặc biệt hiện tại? CREATE TABLE inputevents cv(row id number,subject id number,hadm id number,icustay id number,charttime time,itemid number,amount number); CREATE TABLE d icd diagnoses(row id number,icd9 code text,short title text,tiêu đề dài text)
    Có nhiều giáo sư dạy ECON 631 trong kỳ Xuân Hè 2003 không? CREATE TABLE giảng viên(instructor id int,name varchar,tên uniq varchar); CREATE TABLE học kỳ(semester id int,semester varchar,year int)
    bệnh nhân 011-55642 có được chẩn đoán mắc bệnh gì trong lần khám tại bệnh viện hiện tại không? CREATE TABLE bệnh nhân(uniquepid text,bệnh nhânhealthsystemstayid number,bệnh nhân đơn vị ở lạiid number,giới tính text,tuổi text,dân tộc text,bệnh viện number,khu bệnh number,chiều cao nhập viện number,cân nặng nhập viện number,cân nặng xuất viện number,thời gian nhập viện time,nguồn nhập viện text,thời gian nhập viện đơn vị time,thời gian nhập viện time,thời gian xuất viện time,trạng thái xuất viện text) CREATE TABLE inputoutput(intakeoutputid number,Patientunitstayid number,cellpath text,celllabel text,cellvaluenumeric number,intakeoutputtime time)
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • gradient_accumulation_steps: 4
  • learning_rate: 1e-05
  • weight_decay: 0.1
  • num_train_epochs: 1
  • warmup_steps: 500
  • fp16: True
  • remove_unused_columns: False

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • 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: 4
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 1e-05
  • weight_decay: 0.1
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 1
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • warmup_steps: 500
  • 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: 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: False
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss
0.0244 1000 0.165 0.1212
0.0487 2000 0.1242 0.1124
0.0731 3000 0.1189 0.1007
0.0975 4000 0.102 0.0905
0.1219 5000 0.0941 0.0911
0.1462 6000 0.0992 0.0845
0.1706 7000 0.0915 0.0846
0.1950 8000 0.0913 0.0787
0.2194 9000 0.0879 0.0750
0.2437 10000 0.0842 0.0733
0.2681 11000 0.0803 0.0696
0.2925 12000 0.0856 0.0672
0.3169 13000 0.0742 0.0674
0.3412 14000 0.0757 0.0690
0.3656 15000 0.076 0.0667
0.3900 16000 0.0684 0.0678
0.4144 17000 0.0729 0.0633
0.4387 18000 0.0641 0.0611
0.4631 19000 0.0678 0.0603
0.4875 20000 0.0637 0.0578
0.5119 21000 0.0671 0.0578
0.5362 22000 0.0651 0.0558
0.5606 23000 0.0596 0.0553
0.5850 24000 0.0577 0.0552
0.6094 25000 0.0639 0.0539
0.6337 26000 0.0559 0.0526
0.6581 27000 0.06 0.0509
0.6825 28000 0.0555 0.0507
0.7069 29000 0.0595 0.0501
0.7312 30000 0.0569 0.0503
0.7556 31000 0.0565 0.0487
0.7800 32000 0.0512 0.0476
0.8044 33000 0.0515 0.0469
0.8287 34000 0.0489 0.0461
0.8531 35000 0.051 0.0463
0.8775 36000 0.0518 0.0460
0.9019 37000 0.0491 0.0454
0.9262 38000 0.0485 0.0453
0.9506 39000 0.0489 0.0447
0.9750 40000 0.0432 0.0445
0.9994 41000 0.0509 0.0444

Framework Versions

  • Python: 3.9.19
  • Sentence Transformers: 3.0.1
  • Transformers: 4.44.2
  • PyTorch: 2.4.0+cu121
  • Accelerate: 0.34.2
  • Datasets: 2.21.0
  • Tokenizers: 0.19.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}
}