Языковые моделиTensorGreed
brewslm-ntsb-accident-extractor
1.5B-модель для JSON из авиаотчётов
2 мин чтения
Файнтюн Qwen/Qwen2.5-1.5B-Instruct на базе 1.54B параметров, сделанный через BrewSLM. Превращает текст авиационного происшествия NTSB в один плоский JSON из 13 полей: тип и модель воздушного судна, повреждения, травмы, дата, штат, часы пилота и другие. Если поле не указано, модель пишет null, а не пытается угадать.
📌 Ключевые особенности
- 🧃 LoRA r16/alpha32 поверх Qwen2.5-1.5B-Instruct; адаптер слит в веса.
- ✅ 13 полей с фиксированными типами и допустимыми значениями;
nullразрешён всегда. - 👁 Обучение на 12 421 событии NTSB с 2015 года: 9 931 train / 1 256 validation / 1 234 test.
- 💻 Промпт без chat template; в карточке просят greedy decoding с
repetition_penalty=1.0. - ⭐ На validation с исправленным декодированием все 13 полей верны в 78.5% случаев, null precision — 0.994.
💻 Пример
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "TensorGreed/brewslm-ntsb-accident-extractor"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, torch_dtype=torch.bfloat16, device_map="auto")
FIELDS = "aircraft_category, aircraft_make, aircraft_model, damage, event_date, flight_purpose, highest_injury, injuries_fatal, injuries_minor, injuries_serious, location_state, pilot_total_hours, regulation_part"
prompt = f"Extract the following fields as JSON: {FIELDS}.\nReply with a single JSON object, nothing else.\nInput: {narrative}\nOutput:"
inputs = tok(prompt, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=256, do_sample=False, repetition_penalty=1.0)
Подробнее
Тест со старым декодированием: schema-valid 0.995, точность полей 0.959, null recall 0.976.Validation с исправленным декодированием: все 13 полей верны в 78.5% случаев, null precision 0.994.
Обучение: 1 эпоха, 621 шаг, один NVIDIA GB10; LoRA r16/alpha32, bf16.
Ограничения: только NTSB 2015+, происшествия с одним воздушным судном; это учебная демонстрация, не доказательство и не замена официальным записям NTSB.








Комментарии
Без регистрации: достаточно имени.