From 2744e785b99cd8369e3b91537825c80d6752051b Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Thu, 2 Jul 2026 03:56:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: embedding-data/deberta-sentence-transformer Source: Original Platform --- .gitattributes | 35 ++++++++ 1_Pooling/config.json | 7 ++ README.md | 130 ++++++++++++++++++++++++++++++ added_tokens.json | 3 + config.json | 35 ++++++++ config_sentence_transformers.json | 7 ++ modules.json | 14 ++++ pytorch_model.bin | 3 + sentence_bert_config.json | 4 + special_tokens_map.json | 9 +++ spm.model | 3 + tokenizer.json | 3 + tokenizer_config.json | 16 ++++ 13 files changed, 269 insertions(+) create mode 100644 .gitattributes create mode 100644 1_Pooling/config.json create mode 100644 README.md create mode 100644 added_tokens.json create mode 100644 config.json create mode 100644 config_sentence_transformers.json create mode 100644 modules.json create mode 100644 pytorch_model.bin create mode 100644 sentence_bert_config.json create mode 100644 special_tokens_map.json create mode 100644 spm.model create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fe85035 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,35 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +pytorch_model.bin filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text +.git/lfs/objects/2c/16/2c1635fd116c95350cbc468eb6c4da561e31b1f015ab9a045a96cfb762ddb10b filter=lfs diff=lfs merge=lfs -text +.git/lfs/objects/03/f2/03f216aca2eec6942cfd406938ebd5656f0035f372c43b284ddb09ace46c6444 filter=lfs diff=lfs merge=lfs -text diff --git a/1_Pooling/config.json b/1_Pooling/config.json new file mode 100644 index 0000000..4e09f29 --- /dev/null +++ b/1_Pooling/config.json @@ -0,0 +1,7 @@ +{ + "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 +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0a34481 --- /dev/null +++ b/README.md @@ -0,0 +1,130 @@ +--- +pipeline_tag: sentence-similarity +tags: +- sentence-transformers +- feature-extraction +- sentence-similarity +- transformers +datasets: +- embedding-data/QQP_triplets +--- + +# embedding-data/deberta-sentence-transformer + +This is a [sentence-transformers](https://www.SBERT.net) model: It maps sentences & paragraphs to a 768 dimensional dense vector space and can be used for tasks like clustering or semantic search. + + + +## Usage (Sentence-Transformers) + +Using this model becomes easy when you have [sentence-transformers](https://www.SBERT.net) installed: + +``` +pip install -U sentence-transformers +``` + +Then you can use the model like this: + +```python +from sentence_transformers import SentenceTransformer +sentences = ["This is an example sentence", "Each sentence is converted"] + +model = SentenceTransformer('embedding-data/deberta-sentence-transformer') +embeddings = model.encode(sentences) +print(embeddings) +``` + + + +## Usage (HuggingFace Transformers) +Without [sentence-transformers](https://www.SBERT.net), you can use the model like this: First, you pass your input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings. + +```python +from transformers import AutoTokenizer, AutoModel +import torch + + +#Mean Pooling - Take attention mask into account for correct averaging +def mean_pooling(model_output, attention_mask): + token_embeddings = model_output[0] #First element of model_output contains all token embeddings + input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float() + return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9) + + +# Sentences we want sentence embeddings for +sentences = ['This is an example sentence', 'Each sentence is converted'] + +# Load model from HuggingFace Hub +tokenizer = AutoTokenizer.from_pretrained('embedding-data/deberta-sentence-transformer') +model = AutoModel.from_pretrained('embedding-data/deberta-sentence-transformer') + +# Tokenize sentences +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') + +# Compute token embeddings +with torch.no_grad(): + model_output = model(**encoded_input) + +# Perform pooling. In this case, mean pooling. +sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask']) + +print("Sentence embeddings:") +print(sentence_embeddings) +``` + + + +## Evaluation Results + + + +For an automated evaluation of this model, see the *Sentence Embeddings Benchmark*: [https://seb.sbert.net](https://seb.sbert.net?model_name=embedding-data/deberta-sentence-transformer) + + +## Training +The model was trained with the parameters: + +**DataLoader**: + +`torch.utils.data.dataloader.DataLoader` of length 7 with parameters: +``` +{'batch_size': 16, 'sampler': 'torch.utils.data.sampler.RandomSampler', 'batch_sampler': 'torch.utils.data.sampler.BatchSampler'} +``` + +**Loss**: + +`sentence_transformers.losses.MultipleNegativesRankingLoss.MultipleNegativesRankingLoss` with parameters: + ``` + {'scale': 20.0, 'similarity_fct': 'cos_sim'} + ``` + +Parameters of the fit()-Method: +``` +{ + "epochs": 1, + "evaluation_steps": 0, + "evaluator": "NoneType", + "max_grad_norm": 1, + "optimizer_class": "", + "optimizer_params": { + "lr": 2e-05 + }, + "scheduler": "WarmupLinear", + "steps_per_epoch": null, + "warmup_steps": 0, + "weight_decay": 0.01 +} +``` + + +## Full Model Architecture +``` +SentenceTransformer( + (0): Transformer({'max_seq_length': 500, 'do_lower_case': False}) with Transformer model: DebertaV2Model + (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}) +) +``` + +## Citing & Authors + + \ No newline at end of file diff --git a/added_tokens.json b/added_tokens.json new file mode 100644 index 0000000..8ee2b36 --- /dev/null +++ b/added_tokens.json @@ -0,0 +1,3 @@ +{ + "[MASK]": 128000 +} diff --git a/config.json b/config.json new file mode 100644 index 0000000..642ec1e --- /dev/null +++ b/config.json @@ -0,0 +1,35 @@ +{ + "_name_or_path": "microsoft/deberta-v3-small", + "architectures": [ + "DebertaV2Model" + ], + "attention_probs_dropout_prob": 0.1, + "hidden_act": "gelu", + "hidden_dropout_prob": 0.1, + "hidden_size": 768, + "initializer_range": 0.02, + "intermediate_size": 3072, + "layer_norm_eps": 1e-07, + "max_position_embeddings": 512, + "max_relative_positions": -1, + "model_type": "deberta-v2", + "norm_rel_ebd": "layer_norm", + "num_attention_heads": 12, + "num_hidden_layers": 6, + "pad_token_id": 0, + "pooler_dropout": 0, + "pooler_hidden_act": "gelu", + "pooler_hidden_size": 768, + "pos_att_type": [ + "p2c", + "c2p" + ], + "position_biased_input": false, + "position_buckets": 256, + "relative_attention": true, + "share_att_key": true, + "torch_dtype": "float32", + "transformers_version": "4.21.1", + "type_vocab_size": 0, + "vocab_size": 128100 +} diff --git a/config_sentence_transformers.json b/config_sentence_transformers.json new file mode 100644 index 0000000..2f0bc7d --- /dev/null +++ b/config_sentence_transformers.json @@ -0,0 +1,7 @@ +{ + "__version__": { + "sentence_transformers": "2.2.2", + "transformers": "4.21.1", + "pytorch": "1.12.0+cu113" + } +} \ No newline at end of file diff --git a/modules.json b/modules.json new file mode 100644 index 0000000..f7640f9 --- /dev/null +++ b/modules.json @@ -0,0 +1,14 @@ +[ + { + "idx": 0, + "name": "0", + "path": "", + "type": "sentence_transformers.models.Transformer" + }, + { + "idx": 1, + "name": "1", + "path": "1_Pooling", + "type": "sentence_transformers.models.Pooling" + } +] \ No newline at end of file diff --git a/pytorch_model.bin b/pytorch_model.bin new file mode 100644 index 0000000..c71bb9f --- /dev/null +++ b/pytorch_model.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9c445d67b387661f87af30a659d3702df2c789441eda1b7862d0eca2f32df34 +size 565254643 diff --git a/sentence_bert_config.json b/sentence_bert_config.json new file mode 100644 index 0000000..ceadad5 --- /dev/null +++ b/sentence_bert_config.json @@ -0,0 +1,4 @@ +{ + "max_seq_length": 500, + "do_lower_case": false +} \ No newline at end of file diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..e5cc733 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,9 @@ +{ + "bos_token": "[CLS]", + "cls_token": "[CLS]", + "eos_token": "[SEP]", + "mask_token": "[MASK]", + "pad_token": "[PAD]", + "sep_token": "[SEP]", + "unk_token": "[UNK]" +} diff --git a/spm.model b/spm.model new file mode 100644 index 0000000..b1b95e5 --- /dev/null +++ b/spm.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c679fbf93643d19aab7ee10c0b99e460bdbc02fedf34b92b05af343b4af586fd +size 2464616 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..07092ac --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03f216aca2eec6942cfd406938ebd5656f0035f372c43b284ddb09ace46c6444 +size 8656804 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..2ba7701 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,16 @@ +{ + "bos_token": "[CLS]", + "cls_token": "[CLS]", + "do_lower_case": false, + "eos_token": "[SEP]", + "mask_token": "[MASK]", + "name_or_path": "microsoft/deberta-v3-small", + "pad_token": "[PAD]", + "sep_token": "[SEP]", + "sp_model_kwargs": {}, + "special_tokens_map_file": null, + "split_by_punct": false, + "tokenizer_class": "DebertaV2Tokenizer", + "unk_token": "[UNK]", + "vocab_type": "spm" +}