Buckets:

ericjeangirard's picture
|
download
raw
3.63 kB
---
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**:
1. **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).
2. **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](https://huggingface.co/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`](./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.