Buckets:
language:
- en
- fr
pipeline_tag: text-generation
tags:
- open-science
- information-extraction
- datasets
- software
- scientific-text
library_name: transformers
Baguette-Software-Dataset (600M)
A small, deployable model that reads scientific papers and extracts the datasets and software they use or produce, then reconciles those mentions into an article-level open-science record (PLOS-OSI: data/code production and sharing). 608M parameters — runs on a single GPU.
It works in two steps:
- Extraction (paragraph → mentions). For each paragraph, emit the datasets and software mentioned, with role (produced / reused / mentioned), type, and a verbatim evidence span. This is the validated step (see Evaluation).
- Analysis (mentions → article record). Aggregate the per-paragraph mentions, deduplicate, and produce one article-level record with a PLOS-OSI summary. This step is functional but not yet as thoroughly validated as step 1 — treat its article-level judgements as indicative.
Scope note. The production-validated deliverable is step 1 (extraction). Step 2 is included for convenience and works, but its individual-artifact reconciliation has a known recall gap and has not been validated to the same standard.
Model
| Architecture | LlamaForCausalLM, 608M (hidden 1024, 48 layers, GQA 16/4 heads) |
| Context | 8192 tokens |
| Tokenizer | 65,536-vocab SYNTH BPE (ChatML control tokens native) |
| Base | Pleias balanced-600M (SYNTH-pretrained) |
| Training | distilled from a Qwen3.5-27B teacher on ~531k two-step examples |
| Sibling | JZSG/baguette-funders-600m (same arch, acknowledgements task) |
Prompt format (ChatML)
The model was trained on exactly these two templates — match them.
Step 1 — extraction:
<|im_start|>user
<text>{paragraph}</text><|im_end|>
<|im_start|>assistant
→ {"is_boilerplate": false, "datasets": [...], "software": [...]}
Step 2 — analysis:
<|im_start|>user
<mentions>{aggregated_mentions_json}</mentions><|im_end|>
<|im_start|>assistant
→ {"datasets": [...], "software": [...], "paper_summary": {...}}
Greedy decoding, stop at <|im_end|>. A runnable end-to-end example is in
inference_example.py.
Evaluation
Held-out set: 34 articles / 685 paragraphs, held out of all training, medium/large-skewed (the hard end). Metric is agreement with the Qwen3.5-27B teacher on held-out inputs — not correctness vs a human gold set (no human gold set exists yet).
- Step 1 (extraction), 685 paragraphs: 89% agreement, no over-extraction — production-viable.
- Step 2 (analysis), 34 articles: 85% valid parse, 0 dataset↔software mis-typing; article-level PLOS-OSI summary vs teacher ≈ 100% (data axes) / ~87% (code axes). Individual-artifact reconciliation is weaker (a recall gap), which is why step 2 is labelled functional-not-validated above.
Limitations
- Agreement, not gold. Numbers are agreement with a teacher model, appropriate for a distillation target but not a claim of correctness against human annotation.
- Step 2 is indicative. Use step-1 extraction for anything that must be reliable.
- English/French scientific text; other languages untested.
- Emits JSON but is not constrained-decoded — parse defensively.
License
To be set by the owner before public release. The model is distilled from Qwen3.5-27B and gemma-4 teachers on a Pleias base; confirm the applicable terms before redistribution.
Xet Storage Details
- Size:
- 3.63 kB
- Xet hash:
- beda4d91e825adb1df3d65d4169b4a8d1de751ec052ab07769ae1d7b38b7f0ea
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.