Feature Extraction
sentence-transformers
Safetensors
code
bert
code-search
code-retrieval
text-embeddings-inference
Instructions to use thinkingdbx/codebert-permissive-embed with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use thinkingdbx/codebert-permissive-embed with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("thinkingdbx/codebert-permissive-embed") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
Stage-2 code embedding model: permissive-only corpus, function-level contrastive tuning
Browse files- 1_Pooling/config.json +7 -0
- LINEAGE.md +27 -0
- MANIFEST.json +38 -0
- MODEL_CARD.md +80 -0
- README.md +80 -0
- benchmark.json +50 -0
- config.json +28 -0
- jobspec.json +125 -0
- lineage.json +17 -0
- model.safetensors +3 -0
- modules.json +5 -0
- retrieval.json +22 -0
- tokenizer.json +0 -0
- tokenizer_config.json +17 -0
1_Pooling/config.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"word_embedding_dimension": 768,
|
| 3 |
+
"pooling_mode_cls_token": false,
|
| 4 |
+
"pooling_mode_mean_tokens": true,
|
| 5 |
+
"pooling_mode_max_tokens": false,
|
| 6 |
+
"pooling_mode_mean_sqrt_len_tokens": false
|
| 7 |
+
}
|
LINEAGE.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Lineage — CODEBERT_EMBED_V2-8f13d02d
|
| 2 |
+
|
| 3 |
+
What went in, what was done to it, and what came out.
|
| 4 |
+
|
| 5 |
+
## Sources
|
| 6 |
+
|
| 7 |
+
- **code_pairs_fn** (files) `/home/ubuntu/data/code_pairs_fn.jsonl`, **not pinned to a version**
|
| 8 |
+
|
| 9 |
+
## Preparation applied
|
| 10 |
+
|
| 11 |
+
- PII redaction: not applied
|
| 12 |
+
- Decontamination: no evaluation sets declared
|
| 13 |
+
|
| 14 |
+
## Stages
|
| 15 |
+
|
| 16 |
+
| stage | status | detail |
|
| 17 |
+
| --- | --- | --- |
|
| 18 |
+
| precheck | passed | all checks passed |
|
| 19 |
+
| corpus | passed | 1 warn |
|
| 20 |
+
| tokenizer | skipped | plan=reuse, using an existing tokenizer |
|
| 21 |
+
| train | passed | loss 0.5576 over 1673 steps, R@1 0.764, MRR 0.813 |
|
| 22 |
+
| merge | skipped | method=full, nothing to merge |
|
| 23 |
+
| eval | skipped | only 0 held-out documents; too few to measure retrieval against a realistic haystack |
|
| 24 |
+
| validate | passed | 1 warn |
|
| 25 |
+
| serve_smoke | passed | 8 probes embedded to 768 dimensions, 2.5 ms/text, unrelated texts at cosine 0.054 |
|
| 26 |
+
|
| 27 |
+
Spec digest `sha256:8f13d02db956b9db40326791fef0b1269417403422b298df43a80bb7ac072be6`.
|
MANIFEST.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"run_id": "CODEBERT_EMBED_V2-8f13d02d",
|
| 3 |
+
"spec_digest": "sha256:8f13d02db956b9db40326791fef0b1269417403422b298df43a80bb7ac072be6",
|
| 4 |
+
"generated_at": 1786855640.2194777,
|
| 5 |
+
"foundry_version": "0.1.0",
|
| 6 |
+
"files": [
|
| 7 |
+
{
|
| 8 |
+
"path": "LINEAGE.md",
|
| 9 |
+
"bytes": 960,
|
| 10 |
+
"sha256": "ee3ca897bc77c62b0a4026391ead4a17079b649b648d41c4e78cfb11bea58ff8"
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"path": "MODEL_CARD.md",
|
| 14 |
+
"bytes": 3833,
|
| 15 |
+
"sha256": "c5be295b5887f59b9f0eb3fae47fa09b487c0e99c6b262653d04943298d5c676"
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
"path": "jobspec.json",
|
| 19 |
+
"bytes": 2797,
|
| 20 |
+
"sha256": "2395a1b6421addc9613df3bf1fd7c191deca4e3a889f86c36d1db8ddb009aed0"
|
| 21 |
+
},
|
| 22 |
+
{
|
| 23 |
+
"path": "metrics_summary.json",
|
| 24 |
+
"bytes": 21018,
|
| 25 |
+
"sha256": "fe4877acc42369a8a30574102129e8f93fa6471da5ad79dc1be7844da476dcb5"
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"path": "reports.json",
|
| 29 |
+
"bytes": 16339,
|
| 30 |
+
"sha256": "aa143bc9fa9368472433b0559a02670f08f6305d3d6ac14601518cdf82d51b5d"
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"path": "run_state.json",
|
| 34 |
+
"bytes": 3394,
|
| 35 |
+
"sha256": "cc0434b796c195adecfd9dc1dd99256d2d2ee56267eb05e7f2e7029395af6493"
|
| 36 |
+
}
|
| 37 |
+
]
|
| 38 |
+
}
|
MODEL_CARD.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# CODEBERT_EMBED_V2-8f13d02d
|
| 2 |
+
|
| 3 |
+
Produced by Bonacci Foundry. Run `CODEBERT_EMBED_V2-8f13d02d`, spec digest `sha256:8f13d02db956b9db40326791fef0b1269417403422b298df43a80bb7ac072be6`.
|
| 4 |
+
|
| 5 |
+
Every number in this card is read from the run's own artifacts. Nothing here was typed by hand.
|
| 6 |
+
|
| 7 |
+
## What this is
|
| 8 |
+
|
| 9 |
+
- **Objective**: embedding
|
| 10 |
+
- **Base model**: `/home/ubuntu/base_encoder` (apache-2.0)
|
| 11 |
+
- **Method**: full
|
| 12 |
+
- **Delivery terms**: owned_outright
|
| 13 |
+
- **Training**: 1,673 steps, final loss 0.5576
|
| 14 |
+
|
| 15 |
+
## Data
|
| 16 |
+
|
| 17 |
+
- 856,743 training pairs after preparation, of which 50,000 were sampled for the corpus gate
|
| 18 |
+
- source `code_pairs_fn` (files), licence permissive-only (see Lineage)
|
| 19 |
+
## Lineage
|
| 20 |
+
|
| 21 |
+
This model is stage 2 of 2. Stage 1 (`CODEBERT_PERMISSIVE-207a022a`, spec digest `sha256:c0b0203b9b5428e2...`) was a masked-LM pretrain from scratch — no existing weights were used.
|
| 22 |
+
|
| 23 |
+
- **1,980,241 of 2,047,089 source files kept (96.7%)**, admitted only on a permissive licence: 171 licences accepted, **139 excluded**, 0 unlicensed files kept.
|
| 24 |
+
- **1,384,479 personal-data matches redacted** before packing. The trainer read the redacted copy.
|
| 25 |
+
- 3.97B tokens over 30,402 steps, final masked-LM loss 4.3267.
|
| 26 |
+
- 110.7M parameters, 32,000 vocabulary, bidirectional.
|
| 27 |
+
|
| 28 |
+
## Evaluation
|
| 29 |
+
|
| 30 |
+
Held-out retrieval over 2,200 documents, 200 queries:
|
| 31 |
+
|
| 32 |
+
| metric | this model | BM25 (word overlap) |
|
| 33 |
+
|---|---|---|
|
| 34 |
+
| recall @1 | 0.220 | 0.225 |
|
| 35 |
+
| recall @5 | 0.325 | 0.275 |
|
| 36 |
+
| recall @10 | 0.385 | 0.310 |
|
| 37 |
+
| MRR | 0.268 | 0.255 |
|
| 38 |
+
|
| 39 |
+
That is **1.05x** word overlap. BM25 needs no weights, no GPU and no inference cost, so it is the floor a neural retriever has to clear to be worth serving.
|
| 40 |
+
|
| 41 |
+
### CoIR (NDCG@10)
|
| 42 |
+
|
| 43 |
+
| task | this model | v1 (file-level pairs) | BM25 | UniXcoder | GTE-Base | E5-Base |
|
| 44 |
+
|---|---|---|---|---|---|---|
|
| 45 |
+
| CodeSearchNet-python | **87.84** | — | — | — | — | — |
|
| 46 |
+
| CodeSearchNet-go | **68.71** | 53.43 | — | — | — | — |
|
| 47 |
+
| CodeSearchNet-ruby | **56.52** | 40.68 | — | — | — | — |
|
| 48 |
+
| stackoverflow-qa | **55.35** | 58.40 | 56.80 | 44.67 | 62.71 | 86.86 |
|
| 49 |
+
| CodeSearchNet-php | **53.36** | — | — | — | — | — |
|
| 50 |
+
| CodeSearchNet-javascript | **50.41** | 38.73 | — | — | — | — |
|
| 51 |
+
| codefeedback-st | **48.58** | — | — | — | — | — |
|
| 52 |
+
| synthetic-text2sql | **35.73** | — | — | — | — | — |
|
| 53 |
+
| cosqa | **25.95** | 20.91 | 13.96 | 25.14 | 30.24 | 32.59 |
|
| 54 |
+
| codetrans-dl | **24.12** | 28.14 | 50.13 | 41.82 | 33.81 | 62.50 |
|
| 55 |
+
| codefeedback-mt | **21.78** | — | — | — | — | — |
|
| 56 |
+
| apps | **2.83** | 3.08 | — | — | — | — |
|
| 57 |
+
|
| 58 |
+
Measured with the `coir-eval` harness, mean pooling, 256 tokens, cosine similarity. `v1` is the previous version of this model, run on the same machine with the same harness; blanks are tasks that version did not complete before its spot instance was preempted.
|
| 59 |
+
|
| 60 |
+
BM25, UniXcoder, GTE-Base and E5-Base are quoted from Table 3 of the CoIR paper (arXiv:2407.02883v3). That table reports CodeSearchNet as one aggregate across six languages, while the figures here are per language, so those rows are left blank rather than compared to something they are not.
|
| 61 |
+
|
| 62 |
+
**No benchmark average is quoted.** Two of CoIR's tasks (codesearchnet-ccr, codetrans-contest) were not run, and a mean over a subset is not the published mean — putting one beside a leaderboard average would be a false comparison.
|
| 63 |
+
|
| 64 |
+
|
| 65 |
+
## Limitations and serving requirements
|
| 66 |
+
|
| 67 |
+
- **Pooling: mean over non-padding tokens, then L2 normalise.** This is the vector the model was trained to produce. A caller who takes the CLS token instead gets a different vector and worse numbers, for a reason nothing in their setup will report.
|
| 68 |
+
- No human probe set was evaluated.
|
| 69 |
+
|
| 70 |
+
## Checks that did not pass
|
| 71 |
+
|
| 72 |
+
Every check passed.
|
| 73 |
+
|
| 74 |
+
## Reproducing this run
|
| 75 |
+
|
| 76 |
+
```
|
| 77 |
+
foundry run jobspec.json --workdir .
|
| 78 |
+
```
|
| 79 |
+
|
| 80 |
+
_Generated 2026-08-16 04:47:20 UTC._
|
README.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# CODEBERT_EMBED_V2-8f13d02d
|
| 2 |
+
|
| 3 |
+
Produced by Bonacci Foundry. Run `CODEBERT_EMBED_V2-8f13d02d`, spec digest `sha256:8f13d02db956b9db40326791fef0b1269417403422b298df43a80bb7ac072be6`.
|
| 4 |
+
|
| 5 |
+
Every number in this card is read from the run's own artifacts. Nothing here was typed by hand.
|
| 6 |
+
|
| 7 |
+
## What this is
|
| 8 |
+
|
| 9 |
+
- **Objective**: embedding
|
| 10 |
+
- **Base model**: `/home/ubuntu/base_encoder` (apache-2.0)
|
| 11 |
+
- **Method**: full
|
| 12 |
+
- **Delivery terms**: owned_outright
|
| 13 |
+
- **Training**: 1,673 steps, final loss 0.5576
|
| 14 |
+
|
| 15 |
+
## Data
|
| 16 |
+
|
| 17 |
+
- 856,743 training pairs after preparation, of which 50,000 were sampled for the corpus gate
|
| 18 |
+
- source `code_pairs_fn` (files), licence permissive-only (see Lineage)
|
| 19 |
+
## Lineage
|
| 20 |
+
|
| 21 |
+
This model is stage 2 of 2. Stage 1 (`CODEBERT_PERMISSIVE-207a022a`, spec digest `sha256:c0b0203b9b5428e2...`) was a masked-LM pretrain from scratch — no existing weights were used.
|
| 22 |
+
|
| 23 |
+
- **1,980,241 of 2,047,089 source files kept (96.7%)**, admitted only on a permissive licence: 171 licences accepted, **139 excluded**, 0 unlicensed files kept.
|
| 24 |
+
- **1,384,479 personal-data matches redacted** before packing. The trainer read the redacted copy.
|
| 25 |
+
- 3.97B tokens over 30,402 steps, final masked-LM loss 4.3267.
|
| 26 |
+
- 110.7M parameters, 32,000 vocabulary, bidirectional.
|
| 27 |
+
|
| 28 |
+
## Evaluation
|
| 29 |
+
|
| 30 |
+
Held-out retrieval over 2,200 documents, 200 queries:
|
| 31 |
+
|
| 32 |
+
| metric | this model | BM25 (word overlap) |
|
| 33 |
+
|---|---|---|
|
| 34 |
+
| recall @1 | 0.220 | 0.225 |
|
| 35 |
+
| recall @5 | 0.325 | 0.275 |
|
| 36 |
+
| recall @10 | 0.385 | 0.310 |
|
| 37 |
+
| MRR | 0.268 | 0.255 |
|
| 38 |
+
|
| 39 |
+
That is **1.05x** word overlap. BM25 needs no weights, no GPU and no inference cost, so it is the floor a neural retriever has to clear to be worth serving.
|
| 40 |
+
|
| 41 |
+
### CoIR (NDCG@10)
|
| 42 |
+
|
| 43 |
+
| task | this model | v1 (file-level pairs) | BM25 | UniXcoder | GTE-Base | E5-Base |
|
| 44 |
+
|---|---|---|---|---|---|---|
|
| 45 |
+
| CodeSearchNet-python | **87.84** | — | — | — | — | — |
|
| 46 |
+
| CodeSearchNet-go | **68.71** | 53.43 | — | — | — | — |
|
| 47 |
+
| CodeSearchNet-ruby | **56.52** | 40.68 | — | — | — | — |
|
| 48 |
+
| stackoverflow-qa | **55.35** | 58.40 | 56.80 | 44.67 | 62.71 | 86.86 |
|
| 49 |
+
| CodeSearchNet-php | **53.36** | — | — | — | — | — |
|
| 50 |
+
| CodeSearchNet-javascript | **50.41** | 38.73 | — | — | — | — |
|
| 51 |
+
| codefeedback-st | **48.58** | — | — | — | — | — |
|
| 52 |
+
| synthetic-text2sql | **35.73** | — | — | — | — | — |
|
| 53 |
+
| cosqa | **25.95** | 20.91 | 13.96 | 25.14 | 30.24 | 32.59 |
|
| 54 |
+
| codetrans-dl | **24.12** | 28.14 | 50.13 | 41.82 | 33.81 | 62.50 |
|
| 55 |
+
| codefeedback-mt | **21.78** | — | — | — | — | — |
|
| 56 |
+
| apps | **2.83** | 3.08 | — | — | — | — |
|
| 57 |
+
|
| 58 |
+
Measured with the `coir-eval` harness, mean pooling, 256 tokens, cosine similarity. `v1` is the previous version of this model, run on the same machine with the same harness; blanks are tasks that version did not complete before its spot instance was preempted.
|
| 59 |
+
|
| 60 |
+
BM25, UniXcoder, GTE-Base and E5-Base are quoted from Table 3 of the CoIR paper (arXiv:2407.02883v3). That table reports CodeSearchNet as one aggregate across six languages, while the figures here are per language, so those rows are left blank rather than compared to something they are not.
|
| 61 |
+
|
| 62 |
+
**No benchmark average is quoted.** Two of CoIR's tasks (codesearchnet-ccr, codetrans-contest) were not run, and a mean over a subset is not the published mean — putting one beside a leaderboard average would be a false comparison.
|
| 63 |
+
|
| 64 |
+
|
| 65 |
+
## Limitations and serving requirements
|
| 66 |
+
|
| 67 |
+
- **Pooling: mean over non-padding tokens, then L2 normalise.** This is the vector the model was trained to produce. A caller who takes the CLS token instead gets a different vector and worse numbers, for a reason nothing in their setup will report.
|
| 68 |
+
- No human probe set was evaluated.
|
| 69 |
+
|
| 70 |
+
## Checks that did not pass
|
| 71 |
+
|
| 72 |
+
Every check passed.
|
| 73 |
+
|
| 74 |
+
## Reproducing this run
|
| 75 |
+
|
| 76 |
+
```
|
| 77 |
+
foundry run jobspec.json --workdir .
|
| 78 |
+
```
|
| 79 |
+
|
| 80 |
+
_Generated 2026-08-16 04:47:20 UTC._
|
benchmark.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "CoIR (NDCG@10)",
|
| 3 |
+
"tasks": {
|
| 4 |
+
"CodeSearchNet-go": 68.71,
|
| 5 |
+
"CodeSearchNet-javascript": 50.41,
|
| 6 |
+
"CodeSearchNet-ruby": 56.52,
|
| 7 |
+
"CodeSearchNet-python": 87.84,
|
| 8 |
+
"CodeSearchNet-php": 53.36,
|
| 9 |
+
"synthetic-text2sql": 35.73,
|
| 10 |
+
"codefeedback-mt": 21.78,
|
| 11 |
+
"codefeedback-st": 48.58,
|
| 12 |
+
"codetrans-dl": 24.12,
|
| 13 |
+
"cosqa": 25.95,
|
| 14 |
+
"stackoverflow-qa": 55.35,
|
| 15 |
+
"apps": 2.83
|
| 16 |
+
},
|
| 17 |
+
"baselines": {
|
| 18 |
+
"v1 (file-level pairs)": {
|
| 19 |
+
"stackoverflow-qa": 58.4,
|
| 20 |
+
"cosqa": 20.91,
|
| 21 |
+
"apps": 3.08,
|
| 22 |
+
"codetrans-dl": 28.14,
|
| 23 |
+
"CodeSearchNet-ruby": 40.68,
|
| 24 |
+
"CodeSearchNet-javascript": 38.73,
|
| 25 |
+
"CodeSearchNet-go": 53.43,
|
| 26 |
+
"CodeSearchNet-java": 37.87
|
| 27 |
+
},
|
| 28 |
+
"BM25": {
|
| 29 |
+
"cosqa": 13.96,
|
| 30 |
+
"stackoverflow-qa": 56.8,
|
| 31 |
+
"codetrans-dl": 50.13
|
| 32 |
+
},
|
| 33 |
+
"UniXcoder": {
|
| 34 |
+
"cosqa": 25.14,
|
| 35 |
+
"stackoverflow-qa": 44.67,
|
| 36 |
+
"codetrans-dl": 41.82
|
| 37 |
+
},
|
| 38 |
+
"GTE-Base": {
|
| 39 |
+
"cosqa": 30.24,
|
| 40 |
+
"stackoverflow-qa": 62.71,
|
| 41 |
+
"codetrans-dl": 33.81
|
| 42 |
+
},
|
| 43 |
+
"E5-Base": {
|
| 44 |
+
"cosqa": 32.59,
|
| 45 |
+
"stackoverflow-qa": 86.86,
|
| 46 |
+
"codetrans-dl": 62.5
|
| 47 |
+
}
|
| 48 |
+
},
|
| 49 |
+
"note": "Measured with the `coir-eval` harness, mean pooling, 256 tokens, cosine similarity. `v1` is the previous version of this model, run on the same machine with the same harness; blanks are tasks that version did not complete before its spot instance was preempted.\n\nBM25, UniXcoder, GTE-Base and E5-Base are quoted from Table 3 of the CoIR paper (arXiv:2407.02883v3). That table reports CodeSearchNet as one aggregate across six languages, while the figures here are per language, so those rows are left blank rather than compared to something they are not.\n\n**No benchmark average is quoted.** Two of CoIR's tasks (codesearchnet-ccr, codetrans-contest) were not run, and a mean over a subset is not the published mean \u2014 putting one beside a leaderboard average would be a false comparison."
|
| 50 |
+
}
|
config.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_cross_attention": false,
|
| 3 |
+
"architectures": [
|
| 4 |
+
"BertModel"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.1,
|
| 7 |
+
"bos_token_id": null,
|
| 8 |
+
"classifier_dropout": null,
|
| 9 |
+
"dtype": "float32",
|
| 10 |
+
"eos_token_id": null,
|
| 11 |
+
"hidden_act": "gelu",
|
| 12 |
+
"hidden_dropout_prob": 0.1,
|
| 13 |
+
"hidden_size": 768,
|
| 14 |
+
"initializer_range": 0.02,
|
| 15 |
+
"intermediate_size": 3072,
|
| 16 |
+
"is_decoder": false,
|
| 17 |
+
"layer_norm_eps": 1e-12,
|
| 18 |
+
"max_position_embeddings": 512,
|
| 19 |
+
"model_type": "bert",
|
| 20 |
+
"num_attention_heads": 12,
|
| 21 |
+
"num_hidden_layers": 12,
|
| 22 |
+
"pad_token_id": 1,
|
| 23 |
+
"tie_word_embeddings": true,
|
| 24 |
+
"transformers_version": "5.15.0",
|
| 25 |
+
"type_vocab_size": 2,
|
| 26 |
+
"use_cache": false,
|
| 27 |
+
"vocab_size": 32000
|
| 28 |
+
}
|
jobspec.json
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"spec_version": "1",
|
| 3 |
+
"run_id": null,
|
| 4 |
+
"tenant": null,
|
| 5 |
+
"name": "CODEBERT_EMBED_V2",
|
| 6 |
+
"objective": "embedding",
|
| 7 |
+
"recipe": null,
|
| 8 |
+
"base_model": {
|
| 9 |
+
"uri": "/home/ubuntu/base_encoder",
|
| 10 |
+
"digest": null,
|
| 11 |
+
"license": "apache-2.0",
|
| 12 |
+
"params_b": 0.1107
|
| 13 |
+
},
|
| 14 |
+
"corpus": {
|
| 15 |
+
"sources": [
|
| 16 |
+
{
|
| 17 |
+
"name": "code_pairs_fn",
|
| 18 |
+
"kind": "files",
|
| 19 |
+
"ref": "/home/ubuntu/data/code_pairs_fn.jsonl",
|
| 20 |
+
"pinned_run": null,
|
| 21 |
+
"weight": 1.0,
|
| 22 |
+
"role": "domain",
|
| 23 |
+
"license": "permissive-only (see Lineage)"
|
| 24 |
+
}
|
| 25 |
+
],
|
| 26 |
+
"general_mix_ratio": 0.0,
|
| 27 |
+
"expected_tokens": null,
|
| 28 |
+
"dedup": true,
|
| 29 |
+
"pii_scrub": true,
|
| 30 |
+
"decontaminate_against": [],
|
| 31 |
+
"synthetic": {
|
| 32 |
+
"enabled": false,
|
| 33 |
+
"tier": "deterministic",
|
| 34 |
+
"teacher_uri": null,
|
| 35 |
+
"teacher_license": null,
|
| 36 |
+
"target_examples": 0,
|
| 37 |
+
"min_paraphrases_per_type": 6,
|
| 38 |
+
"diversity_gate": true
|
| 39 |
+
}
|
| 40 |
+
},
|
| 41 |
+
"tokenizer": {
|
| 42 |
+
"plan": "reuse",
|
| 43 |
+
"vocab_size": 16000,
|
| 44 |
+
"byte_fallback": true,
|
| 45 |
+
"digit_policy": "group3",
|
| 46 |
+
"reserved_special_tokens": 128,
|
| 47 |
+
"measured_fertility": 3.0,
|
| 48 |
+
"baseline_fertility": null,
|
| 49 |
+
"extend_terms": null,
|
| 50 |
+
"extend_min_pieces": 3,
|
| 51 |
+
"uri": null,
|
| 52 |
+
"chat_template": null
|
| 53 |
+
},
|
| 54 |
+
"architecture": {
|
| 55 |
+
"model_type": "bert",
|
| 56 |
+
"hidden_size": 768,
|
| 57 |
+
"layers": 12,
|
| 58 |
+
"heads": 12,
|
| 59 |
+
"kv_heads": null,
|
| 60 |
+
"intermediate_size": null,
|
| 61 |
+
"max_position": 512,
|
| 62 |
+
"rope_theta": 10000.0,
|
| 63 |
+
"tie_embeddings": false
|
| 64 |
+
},
|
| 65 |
+
"training": {
|
| 66 |
+
"method": "full",
|
| 67 |
+
"seq_len": 256,
|
| 68 |
+
"tokens": null,
|
| 69 |
+
"steps": 1673,
|
| 70 |
+
"micro_batch": 512,
|
| 71 |
+
"grad_accum": 1,
|
| 72 |
+
"learning_rate": 2e-05,
|
| 73 |
+
"lr_schedule": "cosine",
|
| 74 |
+
"warmup_ratio": 0.05,
|
| 75 |
+
"weight_decay": 0.01,
|
| 76 |
+
"weight_decay_exclude": [
|
| 77 |
+
".*norm",
|
| 78 |
+
".*embed",
|
| 79 |
+
"bias"
|
| 80 |
+
],
|
| 81 |
+
"checkpoint_every": 150,
|
| 82 |
+
"checkpoint_retain": 3,
|
| 83 |
+
"lora_rank": 32,
|
| 84 |
+
"lora_alpha": 64,
|
| 85 |
+
"lora_targets": [
|
| 86 |
+
"q_proj",
|
| 87 |
+
"k_proj",
|
| 88 |
+
"v_proj",
|
| 89 |
+
"o_proj"
|
| 90 |
+
],
|
| 91 |
+
"mlm_probability": 0.3,
|
| 92 |
+
"temperature": 0.05
|
| 93 |
+
},
|
| 94 |
+
"eval": {
|
| 95 |
+
"suites": [],
|
| 96 |
+
"regression_against_base": false,
|
| 97 |
+
"human_probe_set": null,
|
| 98 |
+
"max_violation_rate": 0.0,
|
| 99 |
+
"serve_smoke": true,
|
| 100 |
+
"holdout_ratio": 0.02,
|
| 101 |
+
"require_beats_base": true,
|
| 102 |
+
"smoke_prompts": []
|
| 103 |
+
},
|
| 104 |
+
"placement": {
|
| 105 |
+
"accelerator": null,
|
| 106 |
+
"min_devices": 1,
|
| 107 |
+
"min_memory_gb_per_device": 15,
|
| 108 |
+
"tenure": "spot",
|
| 109 |
+
"region": null,
|
| 110 |
+
"provider": null
|
| 111 |
+
},
|
| 112 |
+
"guardrails": {
|
| 113 |
+
"perimeter": "open",
|
| 114 |
+
"egress_allowlist": [],
|
| 115 |
+
"max_spend_usd": 50.0,
|
| 116 |
+
"max_wallclock_hours": 8.0
|
| 117 |
+
},
|
| 118 |
+
"claims": {
|
| 119 |
+
"context_length": null,
|
| 120 |
+
"params_b": null,
|
| 121 |
+
"vocab_size": null,
|
| 122 |
+
"delivery_terms": "owned_outright"
|
| 123 |
+
},
|
| 124 |
+
"artifacts_root": "/mnt/models"
|
| 125 |
+
}
|
lineage.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"stage": "1 of 2 - masked-LM pretraining, from scratch",
|
| 3 |
+
"run_id": "CODEBERT_PERMISSIVE-207a022a",
|
| 4 |
+
"spec_digest": "sha256:c0b0203b9b5428e23fcb6e79d75175bcf29ca09a28908a4b7fd5dbfc6d8df2cf",
|
| 5 |
+
"documents_kept": 1980241,
|
| 6 |
+
"documents_seen": 2047089,
|
| 7 |
+
"permissive_fraction": 0.9673,
|
| 8 |
+
"licences_kept": 171,
|
| 9 |
+
"licences_excluded": 139,
|
| 10 |
+
"unlicensed_kept": 0,
|
| 11 |
+
"pii_redacted": 1384479,
|
| 12 |
+
"tokens_trained": 3973189632,
|
| 13 |
+
"steps": 30402,
|
| 14 |
+
"final_loss": 4.3267,
|
| 15 |
+
"vocab_size": 32000,
|
| 16 |
+
"parameters": 110700000
|
| 17 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c77730b7e72082619b4caa9c9c260d49aa4cfe77222376a46bd1a333bb86d8de
|
| 3 |
+
size 442491744
|
modules.json
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{"idx": 0, "name": "0", "path": "", "type": "sentence_transformers.models.Transformer"},
|
| 3 |
+
{"idx": 1, "name": "1", "path": "1_Pooling", "type": "sentence_transformers.models.Pooling"},
|
| 4 |
+
{"idx": 2, "name": "2", "path": "", "type": "sentence_transformers.models.Normalize"}
|
| 5 |
+
]
|
retrieval.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": {
|
| 3 |
+
"n_queries": 200,
|
| 4 |
+
"n_documents": 2200,
|
| 5 |
+
"recall": {
|
| 6 |
+
"@1": 0.22,
|
| 7 |
+
"@5": 0.325,
|
| 8 |
+
"@10": 0.385
|
| 9 |
+
},
|
| 10 |
+
"mrr": 0.2679
|
| 11 |
+
},
|
| 12 |
+
"bm25": {
|
| 13 |
+
"n_queries": 200,
|
| 14 |
+
"n_documents": 2200,
|
| 15 |
+
"recall": {
|
| 16 |
+
"@1": 0.225,
|
| 17 |
+
"@5": 0.275,
|
| 18 |
+
"@10": 0.31
|
| 19 |
+
},
|
| 20 |
+
"mrr": 0.2546
|
| 21 |
+
}
|
| 22 |
+
}
|
tokenizer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"backend": "tokenizers",
|
| 3 |
+
"bos_token": "<|endoftext|>",
|
| 4 |
+
"clean_up_tokenization_spaces": false,
|
| 5 |
+
"eos_token": "<|endoftext|>",
|
| 6 |
+
"is_local": true,
|
| 7 |
+
"local_files_only": false,
|
| 8 |
+
"mask_token": "<|mask|>",
|
| 9 |
+
"max_length": 512,
|
| 10 |
+
"model_max_length": 1000000,
|
| 11 |
+
"pad_token": "<|pad|>",
|
| 12 |
+
"stride": 0,
|
| 13 |
+
"tokenizer_class": "TokenizersBackend",
|
| 14 |
+
"truncation_side": "right",
|
| 15 |
+
"truncation_strategy": "longest_first",
|
| 16 |
+
"unk_token": null
|
| 17 |
+
}
|