finance-retriever-bge-small
A finance-domain dense retriever: BAAI/bge-small-en-v1.5 (33M params) fully fine-tuned on
SEC 10-K question–answer pairs for retrieval-augmented generation over financial documents.
Training
- Method: full fine-tuning (all parameters)
- Objective: MultipleNegativesRankingLoss (contrastive, in-batch negatives)
- Data: virattt/financial-qa-10K — 6,000 (question, context) pairs, 2 epochs
- Hardware: CPU only (AMD Ryzen 9 7950X)
Evaluation
Held-out SEC 10-K QA retrieval: 300 queries over a ~4,000-passage corpus (each query's gold context among distractors).
| Metric | Base bge-small | Fine-tuned |
|---|---|---|
| Recall@1 | 0.670 | 0.820 |
| Recall@5 | 0.850 | 0.930 |
| nDCG@10 | 0.780 | 0.891 |
| MRR@10 | 0.745 | 0.870 |
Caveat: single-dataset evaluation (financial-qa-10K held-out split); not a BeIR-wide benchmark.
Usage
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("vivekkopthsd/finance-retriever-bge-small")
emb = model.encode(["What was the company's revenue growth driver in fiscal 2023?"])