TrialSieve LoRA
скрининг критериев клинических испытаний
TrialSieve — LoRA-адаптер для Qwen/Qwen2.5-1.5B-Instruct от Muhammad Ibrahim Malik (FAST-NUCES Islamabad). Модель получает пронумерованные предложения из заметки о пациенте, тип критерия (inclusion/exclusion) и текст критерия, а возвращает метку допустимости и ID предложений-доказательств в JSON. Это учебный исследовательский прототип, а не инструмент для клинических решений.
📌 Ключевые особенности
- 📌 На входе — note, criterion_type и criterion_text; на выходе JSON вида
{"label": "...", "evidence_sentence_ids": [...]}. - ✅ Для inclusion и exclusion свои наборы меток;
not enough informationиnot applicableне сводятся к yes/no. - 🔥 LoRA: r=16, alpha=32, dropout 0.05, 18.5M обучаемых параметров (1.18%) на q/k/v/o/gate/up/down.
- 📚 Обучение на ncbi/TrialGPT-Criterion-Annotations: только экспертные метки и evidence, patient-grouped split 37/8/8 пациентов.
- ❗ Заявлен как educational research prototype; не валидирован для клинического применения.
💻 Пример
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = "Qwen/Qwen2.5-1.5B-Instruct"
tok = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(base)
model = PeftModel.from_pretrained(model, "ibrahimmlk/trialsieve-qwen2.5-1.5b-lora").merge_and_unload().eval()
# затем messages(), parse_output() и number_note() из репозитория TrialSieve
Подробнее
На test split: accuracy 0.743 против 0.325 у базовой Qwen2.5-1.5B-Instruct, macro-F1 0.545, evidence micro-F1 0.508.Обучение: 1× NVIDIA T4, 15.8 минуты; максимальная длина входа 650 токенов при лимите 1024.
Ограничения: всего 37 пациентов в обучении, класс not included (13 примеров) не выучен (F1 0.00), evidence recall на exclusion 0.09.
Не для клинического использования: каждый вывод должен проверять квалифицированный персонал.








Комментарии