| # SciHigh 2026 Subtask 1 β Final Pipeline |
|
|
| Team Yushkk99. Task: generate research highlights from paper abstracts |
| (MixSub corpus, 19,785 ScienceDirect papers). Official metric: ROUGE-L F1. |
|
|
| ## Results (validation, 1,985 rows, plain rougeL / no stemming) |
|
|
| | system | val ROUGE-L | |
| | --- | --- | |
| | FIRE-2025 winning system (reference) | 23.45 | |
| | bart-large-cnn, original data | 24.37 | |
| | bart-large-cnn, repaired data + titles (run 1) | 26.37 | |
| | **Qwen2.5-72B QLoRA, repaired data + titles (run 2)** | **28.33** | |
|
|
| ## Pipeline |
|
|
| Data enrichment (all sources free and sanctioned; test rows touched only |
| via abstract/title metadata β never highlight fields): |
|
|
| 1. `recover_abstracts.py` β ~40% of corpus abstracts are truncated |
| mid-sentence. Each row is matched to its ScienceDirect PII (verified |
| 100% by abstract-text join against the dataset's source repository), |
| resolved to a DOI via Elsevier's keyless Article API, and its complete |
| abstract fetched from Semantic Scholar. A label-free acceptance filter |
| (recovered text must contain >=90% of the truncated text's tokens) |
| guarantees same-paper extensions and structurally excludes records |
| containing highlight fields. Acceptance: ~95% of truncated rows. |
| 2. `fetch_titles.py` β paper titles for 100% of rows via the same keyless |
| PII lookup. |
| 3. `build_datasets.py` β rebuilds all splits with recovered abstracts |
| normalized to the corpus's punctuation-stripped format (transform |
| validated token-for-token against 5,481 known prefixes, mean agreement |
| 0.987), then prepends titles: `<title> | <abstract>`. |
|
|
| Modeling: |
|
|
| 4. `train_qwen_qlora.py` β one-epoch QLoRA SFT (4-bit NF4, LoRA r=16 on |
| attention+MLP) of a Qwen2.5 Instruct base on the 15,960-pair titled |
| pool, chat-formatted, greedy decoding. The identical script trains the |
| 7B (24GB GPU) and 72B (80GB GPU) variants; only `--base` changes. |
| 5. `infer_test.py` β greedy test-set inference producing the submission CSV. |
| 6. `validate_submission.py` β format gate: row count, column schema, no |
| empty predictions, length statistics. |
|
|
| Run 1 (bart lineage) reproduces via the Kaggle kernels |
| (`res-3-title-prefix`) recorded in the project artifacts. |
|
|
| ## Models |
|
|
| - `Yakk99/scihigh2026-subtask1-qwen72b-qlora` β run-2 adapter (72B) |
| - `Yakk99/scihigh2026-subtask1-qwen7b-qlora` β 7B pilot adapter |
| - `Yakk99/scihigh2026-subtask1-bart-titled` β run-1 full model |
|
|
| ## Negative results (tested and closed, full logs in project artifacts) |
|
|
| BRIO contrastive calibration (two decode-matched attempts, ~0 delta); |
| MBR/DPO preference signal on the 72B pool (β2.0 β sampled candidates |
| cluster below the greedy mode of a well-trained model); oracle bullet |
| reordering (+0.0002); GRPO (rejected on published scientific-domain |
| negatives); RAG (measured negative on this exact corpus by a FIRE-2025 |
| team). |
|
|