Shuu12121 commited on
Commit
cb0edfe
Β·
verified Β·
1 Parent(s): f6f1d96

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +74 -513
README.md CHANGED
@@ -2,551 +2,112 @@
2
  tags:
3
  - sentence-transformers
4
  - sentence-similarity
5
- - feature-extraction
6
- - generated_from_trainer
7
- - dataset_size:1736166
8
- - loss:MultipleNegativesRankingLoss
 
 
 
 
9
  base_model: Shuu12121/CodeModernBERT-Owl-1.0
10
- widget:
11
- - source_sentence: 'Releases any resources allocated by `mountComponent`.
12
-
13
-
14
- @final
15
-
16
- @internal'
17
- sentences:
18
- - "private Range<RowKeyWrapper> rowRangeToRange(RowRange btRange) {\n final BoundType\
19
- \ startBound;\n final ByteString startKey;\n\n switch (btRange.getStartKeyCase())\
20
- \ {\n case START_KEY_OPEN:\n startBound = BoundType.OPEN;\n \
21
- \ startKey = btRange.getStartKeyOpen();\n break;\n case START_KEY_CLOSED:\n\
22
- \ startBound = BoundType.CLOSED;\n startKey = btRange.getStartKeyClosed();\n\
23
- \ break;\n case STARTKEY_NOT_SET:\n startBound = BoundType.CLOSED;\n\
24
- \ startKey = ByteString.EMPTY;\n break;\n default:\n \
25
- \ throw new IllegalArgumentException(\"Unexpected start key case: \" +\n \
26
- \ btRange.getStartKeyCase());\n }\n\n final BoundType endBound;\n\
27
- \ final ByteString endKey;\n switch (btRange.getEndKeyCase()) {\n case\
28
- \ END_KEY_OPEN:\n endBound = BoundType.OPEN;\n endKey = btRange.getEndKeyOpen();\n\
29
- \ break;\n case END_KEY_CLOSED:\n endBound = BoundType.CLOSED;\n\
30
- \ endKey = btRange.getEndKeyClosed();\n break;\n case ENDKEY_NOT_SET:\n\
31
- \ endBound = BoundType.OPEN;\n endKey = ByteString.EMPTY;\n \
32
- \ break;\n default:\n throw new IllegalArgumentException(\"Unexpected\
33
- \ end key case: \" + btRange.getEndKeyCase());\n }\n\n return boundedRange(startBound,\
34
- \ startKey, endBound, endKey);\n }"
35
- - "public static FacesMessage getMessage(FacesMessage.Severity severity,\n \
36
- \ String messageId,\n \
37
- \ Object arg)\n {\n return getMessage(severity,\n\
38
- \ messageId,\n new Object[]{arg},\n\
39
- \ FacesContext.getCurrentInstance());\n }"
40
- - "function() {\n var inst = this._instance;\n\n if (inst.componentWillUnmount)\
41
- \ {\n var previouslyUnmounting = ReactLifeCycle.currentlyUnmountingInstance;\n\
42
- \ ReactLifeCycle.currentlyUnmountingInstance = this;\n try {\n \
43
- \ inst.componentWillUnmount();\n } finally {\n ReactLifeCycle.currentlyUnmountingInstance\
44
- \ = previouslyUnmounting;\n }\n }\n\n ReactReconciler.unmountComponent(this._renderedComponent);\n\
45
- \ this._renderedComponent = null;\n\n // Reset pending fields\n this._pendingStateQueue\
46
- \ = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate\
47
- \ = false;\n this._pendingCallbacks = null;\n this._pendingElement = null;\n\
48
- \n // These fields do not really need to be reset since this object is no\n\
49
- \ // longer accessible.\n this._context = null;\n this._rootNodeID =\
50
- \ null;\n\n // Delete the reference from the instance to this internal representation\n\
51
- \ // which allow the internals to be properly cleaned up even if the user\n\
52
- \ // leaks a reference to the public instance.\n ReactInstanceMap.remove(inst);\n\
53
- \n // Some existing components rely on inst.props even after they've been\n\
54
- \ // destroyed (in event handlers).\n // TODO: inst.props = null;\n //\
55
- \ TODO: inst.state = null;\n // TODO: inst.context = null;\n }"
56
- - source_sentence: '// NewRandomForest generates and return a new random forests
57
-
58
- // forestSize controls the number of trees that get built
59
-
60
- // features controls the number of features used to build each tree.'
61
- sentences:
62
- - "function initShaders() {\n var fragmentShader = getShader(gl, fragmentShaderSource,\
63
- \ false);\n var vertexShader = getShader(gl, vertexShaderSource, true);\n\n \
64
- \ // Create the shader program\n\n shaderProgram = gl.createProgram();\n gl.attachShader(shaderProgram,\
65
- \ vertexShader);\n gl.attachShader(shaderProgram, fragmentShader);\n gl.linkProgram(shaderProgram);\n\
66
- \n // If creating the shader program failed, alert\n\n if (!gl.getProgramParameter(shaderProgram,\
67
- \ gl.LINK_STATUS)) {\n alert(\"Unable to initialize the shader program: \"\
68
- \ + gl.getProgramInfoLog(shader));\n }\n\n gl.useProgram(shaderProgram);\n\n\
69
- \ vertexPositionAttribute = gl.getAttribLocation(shaderProgram, \"aVertexPosition\"\
70
- );\n gl.enableVertexAttribArray(vertexPositionAttribute);\n}"
71
- - "func (s *UpdateStackInput) SetConfigurationManager(v *StackConfigurationManager)\
72
- \ *UpdateStackInput {\n\ts.ConfigurationManager = v\n\treturn s\n}"
73
- - "func NewRandomForest(forestSize int, features int) *RandomForest {\n\tret :=\
74
- \ &RandomForest{\n\t\tbase.BaseClassifier{},\n\t\tforestSize,\n\t\tfeatures,\n\
75
- \t\tnil,\n\t}\n\treturn ret\n}"
76
- - source_sentence: // defaultQueueURL is a method returns the default queue url
77
- sentences:
78
- - "public static int parseUnsignedInt(String s, int radix)\n throws\
79
- \ NumberFormatException {\n if (s == null) {\n throw new NumberFormatException(\"\
80
- null\");\n }\n\n int len = s.length();\n if (len > 0) {\n\
81
- \ char firstChar = s.charAt(0);\n if (firstChar == '-')\
82
- \ {\n throw new\n NumberFormatException(String.format(\"\
83
- Illegal leading minus sign \" +\n \
84
- \ \"on unsigned string %s.\", s));\n } else {\n \
85
- \ if (len <= 5 || // Integer.MAX_VALUE in Character.MAX_RADIX is 6 digits\n\
86
- \ (radix == 10 && len <= 9) ) { // Integer.MAX_VALUE in base\
87
- \ 10 is 10 digits\n return parseInt(s, radix);\n \
88
- \ } else {\n long ell = Long.parseLong(s, radix);\n \
89
- \ if ((ell & 0xffff_ffff_0000_0000L) == 0) {\n \
90
- \ return (int) ell;\n } else {\n \
91
- \ throw new\n NumberFormatException(String.format(\"\
92
- String value %s exceeds \" +\n \
93
- \ \"range of unsigned int.\", s));\n }\n \
94
- \ }\n }\n } else {\n throw NumberFormatException.forInputString(s);\n\
95
- \ }\n }"
96
- - "func (f *Filter) shouldNamePass(key string) bool {\n\tpass := func(f *Filter)\
97
- \ bool {\n\t\tif f.namePass.Match(key) {\n\t\t\treturn true\n\t\t}\n\t\treturn\
98
- \ false\n\t}\n\n\tdrop := func(f *Filter) bool {\n\t\tif f.nameDrop.Match(key)\
99
- \ {\n\t\t\treturn false\n\t\t}\n\t\treturn true\n\t}\n\n\tif f.namePass != nil\
100
- \ && f.nameDrop != nil {\n\t\treturn pass(f) && drop(f)\n\t} else if f.namePass\
101
- \ != nil {\n\t\treturn pass(f)\n\t} else if f.nameDrop != nil {\n\t\treturn drop(f)\n\
102
- \t}\n\n\treturn true\n}"
103
- - "func (b *Broker) defaultQueueURL() *string {\n\tif b.queueUrl != nil {\n\t\t\
104
- return b.queueUrl\n\t} else {\n\t\treturn aws.String(b.GetConfig().Broker + \"\
105
- /\" + b.GetConfig().DefaultQueue)\n\t}\n\n}"
106
- - source_sentence: Check if the input `node` is a binding identifier.
107
- sentences:
108
- - "function isBinding(node, parent) {\n var keys = _retrievers.getBindingIdentifiers.keys[parent.type];\n\
109
- \ if (keys) {\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\
110
- \ var val = parent[key];\n if (Array.isArray(val)) {\n if (val.indexOf(node)\
111
- \ >= 0) return true;\n } else {\n if (val === node) return true;\n\
112
- \ }\n }\n }\n\n return false;\n}"
113
- - "public Type build(Type givenType){\n final ClassType javersType = mapper.getJaversClassType(givenType);\n\
114
- \n //for Generics, we have list of type arguments to dehydrate\n \
115
- \ if (javersType.isGenericType()) {\n List<Type> actualDehydratedTypeArguments\
116
- \ = extractAndDehydrateTypeArguments(javersType);\n return new ParametrizedDehydratedType(javersType.getBaseJavaClass(),\
117
- \ actualDehydratedTypeArguments);\n }\n\n if (javersType instanceof\
118
- \ ArrayType){\n Type dehydratedItemType = build( javersType.getConcreteClassTypeArguments().get(0)\
119
- \ );\n if (dehydratedItemType == GlobalId.class){\n \
120
- \ return GLOBAL_ID_ARRAY_TYPE;\n }\n return givenType;\n\
121
- \ }\n\n return javersType.getRawDehydratedType();\n }"
122
- - "public function getMemoryUsage()\n {\n $size = memory_get_usage(true);\n\
123
- \ $unit = array('b','kb','mb','gb','tb','pb');\n \n \
124
- \ return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];\n\
125
- \ }"
126
- - source_sentence: // SetGameSessionQueueArns sets the GameSessionQueueArns field's
127
- value.
128
- sentences:
129
- - "func (s *MatchmakingConfiguration) SetGameSessionQueueArns(v []*string) *MatchmakingConfiguration\
130
- \ {\n\ts.GameSessionQueueArns = v\n\treturn s\n}"
131
- - "protected function getRelationXmlHashFromDB(array $destinationContentIds)\n \
132
- \ {\n if (empty($destinationContentIds)) {\n return array();\n\
133
- \ }\n\n $q = $this->db->createSelectQuery();\n $q\n \
134
- \ ->select(\n $this->db->aliasedColumn($q, 'id', 'ezcontentobject'),\n\
135
- \ $this->db->aliasedColumn($q, 'remote_id', 'ezcontentobject'),\n\
136
- \ $this->db->aliasedColumn($q, 'current_version', 'ezcontentobject'),\n\
137
- \ $this->db->aliasedColumn($q, 'contentclass_id', 'ezcontentobject'),\n\
138
- \ $this->db->aliasedColumn($q, 'node_id', 'ezcontentobject_tree'),\n\
139
- \ $this->db->aliasedColumn($q, 'parent_node_id', 'ezcontentobject_tree'),\n\
140
- \ $this->db->aliasedColumn($q, 'identifier', 'ezcontentclass')\n\
141
- \ )\n ->from($this->db->quoteTable('ezcontentobject'))\n\
142
- \ ->leftJoin(\n $this->db->quoteTable('ezcontentobject_tree'),\n\
143
- \ $q->expr->lAnd(\n $q->expr->eq(\n \
144
- \ $this->db->quoteColumn('contentobject_id', 'ezcontentobject_tree'),\n\
145
- \ $this->db->quoteColumn('id', 'ezcontentobject')\n \
146
- \ ),\n $q->expr->eq(\n \
147
- \ $this->db->quoteColumn('node_id', 'ezcontentobject_tree'),\n \
148
- \ $this->db->quoteColumn('main_node_id', 'ezcontentobject_tree')\n\
149
- \ )\n )\n )\n ->leftJoin(\n\
150
- \ $this->db->quoteTable('ezcontentclass'),\n $q->expr->lAnd(\n\
151
- \ $q->expr->eq(\n $this->db->quoteColumn('id',\
152
- \ 'ezcontentclass'),\n $this->db->quoteColumn('contentclass_id',\
153
- \ 'ezcontentobject')\n ),\n $q->expr->eq(\n\
154
- \ $this->db->quoteColumn('version', 'ezcontentclass'),\n\
155
- \ $q->bindValue(ContentType::STATUS_DEFINED, null, PDO::PARAM_INT)\n\
156
- \ )\n )\n )\n ->where(\n\
157
- \ $q->expr->in(\n $this->db->quoteColumn('id',\
158
- \ 'ezcontentobject'),\n $destinationContentIds\n \
159
- \ )\n );\n $stmt = $q->prepare();\n $stmt->execute();\n\
160
- \n return $stmt->fetchAll(PDO::FETCH_ASSOC | PDO::FETCH_GROUP);\n }"
161
- - "protected function _beforeDispatch(DispatcherContext $context)\n {\n \
162
- \ // Check if the user has been explicitly authenticated for this request\n\
163
- \ if (!$this->getUser()->isAuthentic(true))\n {\n foreach($this->__authenticator_queue\
164
- \ as $authenticator)\n {\n if($authenticator->authenticateRequest($context)\
165
- \ === true) {\n break;\n }\n }\n\
166
- \ }\n\n }"
167
  pipeline_tag: sentence-similarity
168
  library_name: sentence-transformers
 
 
 
 
 
 
 
 
 
 
 
 
169
  ---
170
 
171
- # SentenceTransformer based on Shuu12121/CodeModernBERT-Owl-1.0
172
-
173
- This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [Shuu12121/CodeModernBERT-Owl-1.0](https://huggingface.co/Shuu12121/CodeModernBERT-Owl-1.0). 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.
174
-
175
- ## Model Details
176
-
177
- ### Model Description
178
- - **Model Type:** Sentence Transformer
179
- - **Base model:** [Shuu12121/CodeModernBERT-Owl-1.0](https://huggingface.co/Shuu12121/CodeModernBERT-Owl-1.0) <!-- at revision e76a6056791a4f60962d3f2ce4cc7d94bd719485 -->
180
- - **Maximum Sequence Length:** 1024 tokens
181
- - **Output Dimensionality:** 768 dimensions
182
- - **Similarity Function:** Cosine Similarity
183
- <!-- - **Training Dataset:** Unknown -->
184
- <!-- - **Language:** Unknown -->
185
- <!-- - **License:** Unknown -->
186
-
187
- ### Model Sources
188
-
189
- - **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
190
- - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
191
- - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
192
-
193
- ### Full Model Architecture
194
-
195
- ```
196
- SentenceTransformer(
197
- (0): Transformer({'max_seq_length': 1024, 'do_lower_case': False}) with Transformer model: ModernBertModel
198
- (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
199
- )
200
- ```
201
-
202
- ## Usage
203
-
204
- ### Direct Usage (Sentence Transformers)
205
-
206
- First install the Sentence Transformers library:
207
-
208
- ```bash
209
- pip install -U sentence-transformers
210
- ```
211
-
212
- Then you can load this model and run inference.
213
- ```python
214
- from sentence_transformers import SentenceTransformer
215
-
216
- # Download from the πŸ€— Hub
217
- model = SentenceTransformer("sentence_transformers_model_id")
218
- # Run inference
219
- sentences = [
220
- "// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.",
221
- 'func (s *MatchmakingConfiguration) SetGameSessionQueueArns(v []*string) *MatchmakingConfiguration {\n\ts.GameSessionQueueArns = v\n\treturn s\n}',
222
- 'protected function _beforeDispatch(DispatcherContext $context)\n {\n // Check if the user has been explicitly authenticated for this request\n if (!$this->getUser()->isAuthentic(true))\n {\n foreach($this->__authenticator_queue as $authenticator)\n {\n if($authenticator->authenticateRequest($context) === true) {\n break;\n }\n }\n }\n\n }',
223
- ]
224
- embeddings = model.encode(sentences)
225
- print(embeddings.shape)
226
- # [3, 768]
227
-
228
- # Get the similarity scores for the embeddings
229
- similarities = model.similarity(embeddings, embeddings)
230
- print(similarities.shape)
231
- # [3, 3]
232
- ```
233
-
234
- <!--
235
- ### Direct Usage (Transformers)
236
-
237
- <details><summary>Click to see the direct usage in Transformers</summary>
238
 
239
- </details>
240
- -->
241
 
242
- <!--
243
- ### Downstream Usage (Sentence Transformers)
244
 
245
- You can finetune this model on your own dataset.
246
-
247
- <details><summary>Click to expand</summary>
248
-
249
- </details>
250
- -->
251
-
252
- <!--
253
- ### Out-of-Scope Use
254
-
255
- *List how the model may foreseeably be misused and address what users ought not to do with the model.*
256
- -->
257
 
258
- <!--
259
- ## Bias, Risks and Limitations
260
 
261
- *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
262
- -->
 
 
 
263
 
264
- <!--
265
- ### Recommendations
266
 
267
- *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
268
- -->
269
 
270
- ## Training Details
271
 
272
- ### Training Dataset
273
 
274
- #### Unnamed Dataset
 
275
 
276
- * Size: 1,736,166 training samples
277
- * Columns: <code>sentence_0</code>, <code>sentence_1</code>, and <code>label</code>
278
- * Approximate statistics based on the first 1000 samples:
279
- | | sentence_0 | sentence_1 | label |
280
- |:--------|:------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:--------------------------------------------------------------|
281
- | type | string | string | float |
282
- | details | <ul><li>min: 3 tokens</li><li>mean: 48.85 tokens</li><li>max: 1024 tokens</li></ul> | <ul><li>min: 30 tokens</li><li>mean: 171.5 tokens</li><li>max: 1024 tokens</li></ul> | <ul><li>min: 1.0</li><li>mean: 1.0</li><li>max: 1.0</li></ul> |
283
- * Samples:
284
- | sentence_0 | sentence_1 | label |
285
- |:--------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------|
286
- | <code>// convDataValidationOperatior get excel data validation operator.</code> | <code>func convDataValidationOperatior(o DataValidationOperator) string {<br> typeMap := map[DataValidationOperator]string{<br> DataValidationOperatorBetween: "between",<br> DataValidationOperatorEqual: "equal",<br> DataValidationOperatorGreaterThan: "greaterThan",<br> DataValidationOperatorGreaterThanOrEqual: "greaterThanOrEqual",<br> DataValidationOperatorLessThan: "lessThan",<br> DataValidationOperatorLessThanOrEqual: "lessThanOrEqual",<br> DataValidationOperatorNotBetween: "notBetween",<br> DataValidationOperatorNotEqual: "notEqual",<br> }<br><br> return typeMap[o]<br><br>}</code> | <code>1.0</code> |
287
- | <code>// Convert_v1_PodSecurityPolicyReview_To_security_PodSecurityPolicyReview is an autogenerated conversion function.</code> | <code>func Convert_v1_PodSecurityPolicyReview_To_security_PodSecurityPolicyReview(in *v1.PodSecurityPolicyReview, out *security.PodSecurityPolicyReview, s conversion.Scope) error {<br> return autoConvert_v1_PodSecurityPolicyReview_To_security_PodSecurityPolicyReview(in, out, s)<br>}</code> | <code>1.0</code> |
288
- | <code>// Of note, removeSegments() keeps the ordering of the results stable.</code> | <code>func removeSegments(segments []Segment, toRemove []Segment) []Segment {<br> rv := make([]Segment, 0, len(segments)-len(toRemove))<br>OUTER:<br> for _, segment := range segments {<br> for _, r := range toRemove {<br> if segment == r {<br> continue OUTER<br> }<br> }<br> rv = append(rv, segment)<br> }<br> return rv<br>}</code> | <code>1.0</code> |
289
- * Loss: [<code>MultipleNegativesRankingLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters:
290
- ```json
291
- {
292
- "scale": 20.0,
293
- "similarity_fct": "cos_sim"
294
- }
295
- ```
296
 
297
- ### Training Hyperparameters
298
- #### Non-Default Hyperparameters
299
 
300
- - `per_device_train_batch_size`: 256
301
- - `per_device_eval_batch_size`: 256
302
- - `num_train_epochs`: 5
303
- - `fp16`: True
304
- - `multi_dataset_batch_sampler`: round_robin
 
 
305
 
306
- #### All Hyperparameters
307
- <details><summary>Click to expand</summary>
308
 
309
- - `overwrite_output_dir`: False
310
- - `do_predict`: False
311
- - `eval_strategy`: no
312
- - `prediction_loss_only`: True
313
- - `per_device_train_batch_size`: 256
314
- - `per_device_eval_batch_size`: 256
315
- - `per_gpu_train_batch_size`: None
316
- - `per_gpu_eval_batch_size`: None
317
- - `gradient_accumulation_steps`: 1
318
- - `eval_accumulation_steps`: None
319
- - `torch_empty_cache_steps`: None
320
- - `learning_rate`: 5e-05
321
- - `weight_decay`: 0.0
322
- - `adam_beta1`: 0.9
323
- - `adam_beta2`: 0.999
324
- - `adam_epsilon`: 1e-08
325
- - `max_grad_norm`: 1
326
- - `num_train_epochs`: 5
327
- - `max_steps`: -1
328
- - `lr_scheduler_type`: linear
329
- - `lr_scheduler_kwargs`: {}
330
- - `warmup_ratio`: 0.0
331
- - `warmup_steps`: 0
332
- - `log_level`: passive
333
- - `log_level_replica`: warning
334
- - `log_on_each_node`: True
335
- - `logging_nan_inf_filter`: True
336
- - `save_safetensors`: True
337
- - `save_on_each_node`: False
338
- - `save_only_model`: False
339
- - `restore_callback_states_from_checkpoint`: False
340
- - `no_cuda`: False
341
- - `use_cpu`: False
342
- - `use_mps_device`: False
343
- - `seed`: 42
344
- - `data_seed`: None
345
- - `jit_mode_eval`: False
346
- - `use_ipex`: False
347
- - `bf16`: False
348
- - `fp16`: True
349
- - `fp16_opt_level`: O1
350
- - `half_precision_backend`: auto
351
- - `bf16_full_eval`: False
352
- - `fp16_full_eval`: False
353
- - `tf32`: None
354
- - `local_rank`: 0
355
- - `ddp_backend`: None
356
- - `tpu_num_cores`: None
357
- - `tpu_metrics_debug`: False
358
- - `debug`: []
359
- - `dataloader_drop_last`: False
360
- - `dataloader_num_workers`: 0
361
- - `dataloader_prefetch_factor`: None
362
- - `past_index`: -1
363
- - `disable_tqdm`: False
364
- - `remove_unused_columns`: True
365
- - `label_names`: None
366
- - `load_best_model_at_end`: False
367
- - `ignore_data_skip`: False
368
- - `fsdp`: []
369
- - `fsdp_min_num_params`: 0
370
- - `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
371
- - `tp_size`: 0
372
- - `fsdp_transformer_layer_cls_to_wrap`: None
373
- - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
374
- - `deepspeed`: None
375
- - `label_smoothing_factor`: 0.0
376
- - `optim`: adamw_torch
377
- - `optim_args`: None
378
- - `adafactor`: False
379
- - `group_by_length`: False
380
- - `length_column_name`: length
381
- - `ddp_find_unused_parameters`: None
382
- - `ddp_bucket_cap_mb`: None
383
- - `ddp_broadcast_buffers`: False
384
- - `dataloader_pin_memory`: True
385
- - `dataloader_persistent_workers`: False
386
- - `skip_memory_metrics`: True
387
- - `use_legacy_prediction_loop`: False
388
- - `push_to_hub`: False
389
- - `resume_from_checkpoint`: None
390
- - `hub_model_id`: None
391
- - `hub_strategy`: every_save
392
- - `hub_private_repo`: None
393
- - `hub_always_push`: False
394
- - `gradient_checkpointing`: False
395
- - `gradient_checkpointing_kwargs`: None
396
- - `include_inputs_for_metrics`: False
397
- - `include_for_metrics`: []
398
- - `eval_do_concat_batches`: True
399
- - `fp16_backend`: auto
400
- - `push_to_hub_model_id`: None
401
- - `push_to_hub_organization`: None
402
- - `mp_parameters`:
403
- - `auto_find_batch_size`: False
404
- - `full_determinism`: False
405
- - `torchdynamo`: None
406
- - `ray_scope`: last
407
- - `ddp_timeout`: 1800
408
- - `torch_compile`: False
409
- - `torch_compile_backend`: None
410
- - `torch_compile_mode`: None
411
- - `include_tokens_per_second`: False
412
- - `include_num_input_tokens_seen`: False
413
- - `neftune_noise_alpha`: None
414
- - `optim_target_modules`: None
415
- - `batch_eval_metrics`: False
416
- - `eval_on_start`: False
417
- - `use_liger_kernel`: False
418
- - `eval_use_gather_object`: False
419
- - `average_tokens_across_devices`: False
420
- - `prompts`: None
421
- - `batch_sampler`: batch_sampler
422
- - `multi_dataset_batch_sampler`: round_robin
423
 
424
- </details>
425
 
426
- ### Training Logs
427
- | Epoch | Step | Training Loss |
428
- |:------:|:-----:|:-------------:|
429
- | 0.0737 | 500 | 0.665 |
430
- | 0.1474 | 1000 | 0.1173 |
431
- | 0.2212 | 1500 | 0.1074 |
432
- | 0.2949 | 2000 | 0.1012 |
433
- | 0.3686 | 2500 | 0.0968 |
434
- | 0.4423 | 3000 | 0.0954 |
435
- | 0.5161 | 3500 | 0.0894 |
436
- | 0.5898 | 4000 | 0.0913 |
437
- | 0.6635 | 4500 | 0.0894 |
438
- | 0.7372 | 5000 | 0.0858 |
439
- | 0.8110 | 5500 | 0.0878 |
440
- | 0.8847 | 6000 | 0.0839 |
441
- | 0.9584 | 6500 | 0.0813 |
442
- | 1.0321 | 7000 | 0.0607 |
443
- | 1.1059 | 7500 | 0.0293 |
444
- | 1.1796 | 8000 | 0.0301 |
445
- | 1.2533 | 8500 | 0.03 |
446
- | 1.3270 | 9000 | 0.0332 |
447
- | 1.4008 | 9500 | 0.032 |
448
- | 1.4745 | 10000 | 0.0339 |
449
- | 1.5482 | 10500 | 0.0317 |
450
- | 1.6219 | 11000 | 0.0336 |
451
- | 1.6957 | 11500 | 0.0334 |
452
- | 1.7694 | 12000 | 0.0341 |
453
- | 1.8431 | 12500 | 0.0335 |
454
- | 1.9168 | 13000 | 0.0341 |
455
- | 1.9906 | 13500 | 0.0335 |
456
- | 2.0643 | 14000 | 0.0137 |
457
- | 2.1380 | 14500 | 0.0107 |
458
- | 2.2117 | 15000 | 0.0106 |
459
- | 2.2855 | 15500 | 0.0108 |
460
- | 2.3592 | 16000 | 0.0111 |
461
- | 2.4329 | 16500 | 0.0113 |
462
- | 2.5066 | 17000 | 0.011 |
463
- | 2.5804 | 17500 | 0.0114 |
464
- | 2.6541 | 18000 | 0.0115 |
465
- | 2.7278 | 18500 | 0.0117 |
466
- | 2.8015 | 19000 | 0.0115 |
467
- | 2.8753 | 19500 | 0.0116 |
468
- | 2.9490 | 20000 | 0.0116 |
469
- | 3.0227 | 20500 | 0.0102 |
470
- | 3.0964 | 21000 | 0.0062 |
471
- | 3.1702 | 21500 | 0.0064 |
472
- | 3.2439 | 22000 | 0.0065 |
473
- | 3.3176 | 22500 | 0.0067 |
474
- | 3.3913 | 23000 | 0.0064 |
475
- | 3.4651 | 23500 | 0.0062 |
476
- | 3.5388 | 24000 | 0.0063 |
477
- | 3.6125 | 24500 | 0.0062 |
478
- | 3.6862 | 25000 | 0.0063 |
479
- | 3.7600 | 25500 | 0.0063 |
480
- | 3.8337 | 26000 | 0.0063 |
481
- | 3.9074 | 26500 | 0.006 |
482
- | 3.9811 | 27000 | 0.0061 |
483
- | 4.0549 | 27500 | 0.0048 |
484
- | 4.1286 | 28000 | 0.0043 |
485
- | 4.2023 | 28500 | 0.0044 |
486
- | 4.2760 | 29000 | 0.0043 |
487
- | 4.3497 | 29500 | 0.0043 |
488
- | 4.4235 | 30000 | 0.0044 |
489
- | 4.4972 | 30500 | 0.0043 |
490
- | 4.5709 | 31000 | 0.004 |
491
- | 4.6446 | 31500 | 0.0043 |
492
- | 4.7184 | 32000 | 0.0042 |
493
- | 4.7921 | 32500 | 0.0043 |
494
- | 4.8658 | 33000 | 0.0043 |
495
- | 4.9395 | 33500 | 0.004 |
496
 
 
497
 
498
- ### Framework Versions
499
- - Python: 3.11.12
500
- - Sentence Transformers: 3.4.1
501
- - Transformers: 4.51.3
502
- - PyTorch: 2.6.0+cu124
503
- - Accelerate: 1.6.0
504
- - Datasets: 3.5.1
505
- - Tokenizers: 0.21.1
506
 
507
- ## Citation
508
 
509
- ### BibTeX
 
510
 
511
- #### Sentence Transformers
512
- ```bibtex
513
- @inproceedings{reimers-2019-sentence-bert,
514
- title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
515
- author = "Reimers, Nils and Gurevych, Iryna",
516
- booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
517
- month = "11",
518
- year = "2019",
519
- publisher = "Association for Computational Linguistics",
520
- url = "https://arxiv.org/abs/1908.10084",
521
- }
522
  ```
523
 
524
- #### MultipleNegativesRankingLoss
525
- ```bibtex
526
- @misc{henderson2017efficient,
527
- title={Efficient Natural Language Response Suggestion for Smart Reply},
528
- author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
529
- year={2017},
530
- eprint={1705.00652},
531
- archivePrefix={arXiv},
532
- primaryClass={cs.CL}
533
- }
534
- ```
535
 
536
- <!--
537
- ## Glossary
538
 
539
- *Clearly define terms in order to be accessible across audiences.*
540
- -->
 
 
 
541
 
542
- <!--
543
- ## Model Card Authors
544
 
545
- *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
546
- -->
547
 
548
- <!--
549
- ## Model Card Contact
550
 
551
- *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
552
- -->
 
2
  tags:
3
  - sentence-transformers
4
  - sentence-similarity
5
+ - code
6
+ - python
7
+ - php
8
+ - javascript
9
+ - ruby
10
+ - rust
11
+ - go
12
+ - java
13
  base_model: Shuu12121/CodeModernBERT-Owl-1.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  pipeline_tag: sentence-similarity
15
  library_name: sentence-transformers
16
+ license: apache-2.0
17
+ language:
18
+ - en
19
+ datasets:
20
+ - Shuu12121/python-codesearch-filtered
21
+ - Shuu12121/java-codesearch-filtered
22
+ - Shuu12121/javascript-codesearch-filtered
23
+ - Shuu12121/go-codesearch-filtered
24
+ - Shuu12121/php-codesearch-filtered
25
+ - Shuu12121/ruby-codesearch-filtered
26
+ - Shuu12121/rust-codesearch-filtered
27
+ - code-search-net/code_search_net
28
  ---
29
 
30
+ # **πŸ¦‰ CodeSearch-ModernBERT-Owl-Plus: High-Performance Sentence-BERT for Code Search**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
+ **CodeSearch-ModernBERT-Owl-Plus** is a high-performance code search model fine-tuned in a Sentence-BERT architecture, based on the pretrained **CodeModernBERT-Owl v1.0**.
 
33
 
34
+ This model is optimized for function-level search within codebases and natural language queries, achieving state-of-the-art results on the MTEB benchmark.
 
35
 
36
+ ---
 
 
 
 
 
 
 
 
 
 
 
37
 
38
+ # **πŸ›  Features**
 
39
 
40
+ * βœ… Fine-tuned in Sentence-BERT format from CodeModernBERT-Owl
41
+ * βœ… Supports multiple languages (Python, Java, JavaScript, etc.)
42
+ * βœ… Specialized encoder for high-accuracy code search
43
+ * βœ… Ideal for multi-stage (dual encoder) retrieval setups
44
+ * βœ… Generates rich semantic embeddings for code and queries
45
 
46
+ ---
 
47
 
48
+ # **πŸ“Š Evaluation on MTEB Benchmark**
 
49
 
50
+ ## **πŸ† Main Scores in MTEB**
51
 
52
+ This model achieved the following **main scores** (based on NDCG\@10):
53
 
54
+ * **CodeSearchNetRetrieval**: `main_score = 0.8918`
55
+ * **COIR-CodeSearchNetRetrieval**: `main_score = 0.8013`
56
 
57
+ ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
+ ### πŸ§ͺ **CodeSearchNetRetrieval (MTEB)**
 
60
 
61
+ | Metric | Score |
62
+ | ------------- | ---------- |
63
+ | **MRR\@10** | **0.8704** |
64
+ | **NDCG\@10** | 0.8918 |
65
+ | MAP\@10 | 0.8704 |
66
+ | Recall\@10 | 0.9563 |
67
+ | Precision\@10 | 0.0956 |
68
 
69
+ This model achieves strong performance across all ranking metrics and demonstrates balanced retrieval capability.
 
70
 
71
+ ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
 
73
+ ### πŸ§ͺ **COIR-CodeSearchNetRetrieval (MTEB)**
74
 
75
+ | Metric | Score |
76
+ | ------------- | ---------- |
77
+ | **MRR\@10** | **0.7751** |
78
+ | **NDCG\@10** | 0.8013 |
79
+ | MAP\@10 | 0.7751 |
80
+ | Recall\@10 | 0.8826 |
81
+ | Precision\@10 | 0.0883 |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
 
83
+ Robust and consistent performance is also maintained on the COIR dataset, demonstrating strong generalization.
84
 
85
+ ---
 
 
 
 
 
 
 
86
 
87
+ # **πŸ“₯ Usage Example**
88
 
89
+ ```python
90
+ from sentence_transformers import SentenceTransformer
91
 
92
+ model = SentenceTransformer("Shuu12121/CodeSearch-ModernBERT-Owl-Plus")
93
+ embeddings = model.encode(["binary search function", "def binary_search(arr, target): ..."])
 
 
 
 
 
 
 
 
 
94
  ```
95
 
96
+ ---
 
 
 
 
 
 
 
 
 
 
97
 
98
+ # **πŸ“ Conclusion**
 
99
 
100
+ * βœ… An optimized Sentence-BERT model based on CodeModernBERT-Owl
101
+ * βœ… Achieves MRR\@10 > 0.87 on MTEB CodeSearchNetRetrieval
102
+ * βœ… Ready for integration in production-level code search systems
103
+
104
+ ---
105
 
106
+ # **πŸ“œ License**
 
107
 
108
+ πŸ“„ Apache-2.0
 
109
 
110
+ # **πŸ“§ Contact**
 
111
 
112
+ For questions or inquiries, feel free to reach out:
113
+ πŸ“§ **[[email protected]](mailto:[email protected])**