cosdoc / README.md
Jpcosta90's picture
Upload README.md with huggingface_hub
dc47ff3 verified
|
Raw
History Blame Contribute Delete
2.25 kB
---
language: pt
license: mit
tags:
- document-understanding
- document-retrieval
- metric-learning
- siamese-network
- internvl
- cosdoc
datasets:
- LA-CDIP
metrics:
- eer
model-index:
- name: CosDoc (Attention nq=1 (baseline))
results:
- task:
type: document-retrieval
dataset:
name: LA-CDIP
type: la-cdip
metrics:
- type: eer
value: 0.0144
---
# CosDoc — Attention nq=1 (baseline)
**CosDoc** is a visual document embedding model trained with supervised metric learning
and hard-example selection via a Reinforcement Learning professor network.
Pooler variant: **Attention nq=1 (baseline)** — Standard attention pooler, num_queries=1.
## Architecture
| Component | Value |
|---|---|
| Backbone | InternVL3-2B (`OpenGVLab/InternVL3-2B`) |
| Cut layer | 27 |
| Pooler | attention (num_queries=1) |
| Embedding dim | 1536 |
| Loss | Sub-Center CosFace (m=0.35, s=32, k=3) |
| Embedding prompt | `<image> Analyze this document` |
## Performance (LA-CDIP, full validation pairs)
| Dataset | EER |
|---|---|
| LA-CDIP (5-fold CV) | **1.44%** |
Source run: `Sprint3b_S0_subcenter_cosface_seed42_s32k3_fase1_E10`
## Usage
```python
import torch
from huggingface_hub import hf_hub_download
from cavl_doc.models.backbone_loader import load_model
from cavl_doc.models.modeling_cavl import build_cavl_model
device = "cuda" if torch.cuda.is_available() else "cpu"
# Download fine-tuned weights
ckpt_path = hf_hub_download(repo_id="Jpcosta90/cosdoc", filename="best_model.pt")
ckpt = torch.load(ckpt_path, map_location=device, weights_only=False)
cfg = ckpt["config"]
backbone, _, tokenizer, _, _ = load_model("InternVL3-2B")
model = build_cavl_model(
backbone=backbone,
cut_layer=cfg["cut_layer"],
pooler_type=cfg["pooler_type"],
num_queries=cfg.get("num_queries", 1),
)
model.pool.load_state_dict(ckpt["siam_pool"])
model.head.load_state_dict(ckpt["siam_head"])
model.eval().to(device)
```
## Citation
```bibtex
@misc{cosdoc2026,
title = {CosDoc: Cosine-Margin Document Embeddings with RL-guided Hard Mining},
author = {Costa, João Paulo},
year = {2026},
url = {https://huggingface.co/Jpcosta90/cosdoc}
}
```