SpliNet-Embedder / README.md
Angshul's picture
Release complete SpliNet Embedder
795547d verified
|
Raw History Blame Contribute Delete
1.89 kB
---
license: agpl-3.0
pipeline_tag: feature-extraction
language:
- en
tags:
- sentence-embeddings
- sentence-similarity
- splinet
- torchscript
---
# SpliNet Embedder
Sentence-embedding version of SpliNet.
The complete encoder was fine-tuned end-to-end on **134,378 positive QQP duplicate pairs** using symmetric contrastive learning.
## Model
| Property | Value |
|---|---:|
| Encoder parameters | **82,270,464** |
| Embedding dimension | **768** |
| Maximum input length | **512 tokens** |
| Pooling | Masked mean |
| Output | L2-normalized |
| Fine-tuning pairs | **134,378** |
| Epochs | **1** |
| Optimization steps | **8,958** |
## Full evaluation
| Benchmark | Metric | Score |
|---|---|---:|
| STSBenchmark | Pearson | **0.5257** |
| STSBenchmark | Spearman | **0.5174** |
| SciFact | nDCG@10 | **0.1928** |
| SciFact | MAP@10 | **0.1686** |
| SciFact | MRR@10 | **0.1766** |
| SciFact | Recall@10 | **0.2614** |
| SciFact | Recall@100 | **0.4413** |
| Twenty Newsgroups | Mean V-measure | **0.1532** |
| Twenty Newsgroups | Mean homogeneity | **0.1510** |
| Twenty Newsgroups | Mean completeness | **0.1555** |
Twenty Newsgroups evaluation used **59,545 texts** across all ten subsets.
## Files
- `splinet_embedder.ts` — complete deployable TorchScript encoder
- `splinet_embedder_full_qqp.pt` — original trained checkpoint
- `spiece.model` — tokenizer
- `api.py` — Python/FastAPI interface
- `model_info.json` — metadata
- `evaluation/` — benchmark results
- `training/` — final training metadata
## Usage
Install `requirements.txt`, then:
from api import encode, similarity
z = encode(['first sentence', 'second sentence'])
print(z.shape)
To serve:
python api.py
Endpoints: `/health`, `/model-info`, `/embed`, `/similarity`.
Base model: https://huggingface.co/Angshul/SpliNet
Source: https://github.com/AngshulMajumdar/SpliNet