Qwen2.5-14B FlyDeviation LoRA

LoRA adapter for Qwen/Qwen2.5-14B-Instruct, fine-tuned to predict commercial flight block-time deviations and produce a short Turkish analysis with structured JSON output.


fly1

Türkçe

Bu nedir?

FlyDeviation Lab projesi için eğitilmiş bir LoRA adapter'dır. Qwen2.5-14B-Instruct üzerine QLoRA (NF4 + BF16) ile, EuroControl,ADS-B,FR24 verileri üzerinden elde edilmiş 17 milyon uçuş verisi kullanılarak inşa edilmiş 50.000 örneklik dengeli bir korpus ile fine-tune edildi.

Verilen bir uçuş için:

  • Tahmini blok süresi (dakika)
  • Rota tarihsel medyanına göre sapma (dakika)
  • Sapmanın birincil etmeni (weather · traffic · airline_ops · nominal · notam)
  • Türkçe kısa analiz prosesi
  • Yapısal JSON çıktı

üretir.

Beklenen kullanım

Bu adapter tek başına çalışmazQwen/Qwen2.5-14B-Instruct base model'i ile birlikte yüklenmelidir.

Hızlı kullanım

import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig

ADAPTER = "AliUlu/qwen2.5-14b-flydeviation-lora"
BASE = "Qwen/Qwen2.5-14B-Instruct"

# --- (A) ≥30 GB VRAM: BF16 tam yükleme ---
# base = AutoModelForCausalLM.from_pretrained(
#     BASE, device_map="auto", torch_dtype=torch.bfloat16,
# )

# --- (B) ~10-14 GB VRAM: 4-bit ---
bnb = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
)
base = AutoModelForCausalLM.from_pretrained(
    BASE, quantization_config=bnb, device_map="auto", torch_dtype=torch.bfloat16,
)

tok = AutoTokenizer.from_pretrained(ADAPTER, use_fast=True)
model = PeftModel.from_pretrained(base, ADAPTER).eval()

# Model, eğitim sırasında bu Türkçe formatla beslendi — drift'i önlemek için
# çıkarımda da aynı formatı kullanılmalı. Live (anlık) bölümü opsiyoneldir;
system = (
    "Sen bir uçuş operasyonu analistisin. Verilen rota, uçak tipi, tarih ve "
    "operasyonel bağlam bilgilerine göre bu uçuşun tarihsel medyana göre "
    "blok-süre sapmasını (deviation_min) tahmin edersin. Eğer prompt'ta "
    "'Anlık koşullar' bölümü varsa, METAR'daki rüzgar/yağış, anlık hava "
    "trafiği ve aktif NOTAM'larda yer alan kapalı pist/taxiway/yardım "
    "kısıtlamalarını analizine ve drivers listesine mutlaka yansıt. Cevabın "
    "iki kısımdan oluşur: (1) Türkçe kısa bir analiz paragrafı, (2) JSON "
    "bloğu. JSON tam olarak şu anahtarları içermelidir: predicted_min, "
    "baseline_min, deviation_min, confidence, drivers (string listesi). "
    "Tahminler dakika cinsindendir."
)

user = """Uçuş bilgileri:
- Rota: Madrid (LEMD) → İstanbul (LTFM)
- Tarih: 2026-05-13 (Çarşamba)
- Mevsim: spring
- Kalkış saati: 11:00 (morning)
- Uçak tipi: A321 (sınıf narrow_body)
- Great-circle mesafe: 2701 km, başlangıç yönü 73° (doğu)
- A321 tipik cruise hızı: 833 km/h; bu mesafe için teorik minimum blok süre ≈ 219 dk

Rota tarihçesi (aynı uçak tipi için):
- Örneklem: 112 uçuş
- Medyan blok süre: 210 dk (p10 190 – p90 208, std 6.4)

Operasyonel bağlam:
- Kalkış havalimanında aynı saat dilimindeki kalkış sayısı: 18
- Varış havalimanında aynı saat dilimindeki iniş sayısı: 47
- O gün kalkış havalimanı toplam kalkış: 412, varış havalimanı toplam iniş: 1180

Hava (uçuş zamanı):
- LEMD (kalkış): rüzgar 240°/14kt, sıcaklık 12°C, QNH 1013
- LTFM (iniş): rüzgar 040°/10kt, sıcaklık 19°C, QNH 1016

Anlık koşullar (gerçek zamanlı):
- LEMD METAR: 24014KT 7000 -RA FEW045CB BKN050 12/08 Q1013 RERA NOSIG
- LTFM METAR: 04010KT 9999 SCT030 BKN090 19/12 Q1016 NOSIG RMK RWY17L 03008KT
- LEMD 50km içinde anlık 18 uçak havada
- LTFM 50km içinde anlık 2 uçak havada
- Aktif NOTAM'lar (rota üstü):
  - LEMD A3282/26: RAPID EXIT TWY Z10 INDICATOR LIGHTS (RETIL) U/S
  - LEMD E2352/26: DME BRA CH111Y ON RDL349 DISTANCE MEASUREMENT NOT RELIABLE BTN 6.8NM AND 4NM
  - LEMD A3151/26: REF AIRAC SUP 133/25 PHASE 4 ACT

Görev: Bu uçuşun tarihsel medyana göre blok-süre sapmasını (dakika) tahmin et."""

msgs = [{"role": "system", "content": system}, {"role": "user", "content": user}]
prompt = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)
inp = tok(prompt, return_tensors="pt").to(model.device)

with torch.inference_mode():
    out = model.generate(**inp, max_new_tokens=512, do_sample=False,
                         pad_token_id=tok.eos_token_id)
print(tok.decode(out[0, inp.input_ids.shape[1]:], skip_special_tokens=True))

⚠️ Train/serve format uyumu önemli. Eğitim prompt'ları yukarıdaki Türkçe yapıyı kullanıyor. Farklı bir şablonla (örn. İngilizce key-value) sorarsan model performansı düşer.

Eğitim verisi

  • Kaynak: EuroControl R&D Data Archive (~17M uçuş) + Adsb + FR24 türevi sapma etiketleri
  • Zenginleştirme:
    • Open-Meteo Historical (ERA5) yüzey hava verisi her havalimanı/saat için
    • TR + AB tatil takvimi 2025–2026
    • Uçak fizik özellikleri (cruise hızı, menzil, gövde sınıfı)
  • Boyut: 50.000 dengeli örnek (rota × etmen × ay), 2.500 validation

Eğitim Sonuçları

Step eval_loss
2250 (epoch 0.72) 0.0757
2500 (epoch 0.80) 0.0741
2750 (epoch 0.88) 0.0731
3000 (epoch 0.96) 0.0726

Train loss (final): ~0.072 → train ≈ eval, overfit gözlenmedi.

Sınırlamalar

  • Çıktı yalnızca Türkçe'dir (sistem prompt'u Türkçe olduğunda).
  • Tahminler havayolu operasyonel kararı için değil, yol planlama / araştırma içindir.
  • Korpus 2025–2026 EuroControl, ADS-B uçuşları üzerine kurulu; daha eski / farklı havalimanı yoğunluğunda performans değişebilir.
  • Cruise winds (FL-300+) korpusta yok, model "tailwind / headwind" yorumlarını yüzey rüzgârına ve fiziksel sezgiye dayanarak yapıyor.
  • Halüsinasyon ihtimali her LLM'de olduğu gibi mevcut — JSON çıktısı her zaman parse edilebilir olmayabilir, çağıran tarafın doğrulaması önerilir.

Lisans

MIT. Base model Qwen/Qwen2.5-14B-Instruct Apache-2.0 ile dağıtılmaktadır; bu adapter'ı kullanırken her iki lisansa da uyulmalıdır.


English

What is this?

A LoRA adapter trained for the FlyDeviation Lab project. Fine-tuned on top of Qwen2.5-14B-Instruct using QLoRA (NF4 + BF16) on a 50,000-example balanced corpus distilled from 17 million flights collected via EuroControl, ADS-B, and FR24.

For a given flight, the adapter produces:

  • Predicted block-time (minutes)
  • Deviation vs. route historical median (minutes)
  • Primary factor (weather · traffic · airline_ops · nominal · notam)
  • A short Turkish analysis paragraph
  • A structured JSON payload

Intended use

This adapter does not stand alone — it must be loaded together with the Qwen/Qwen2.5-14B-Instruct base model.

Quick start

See the Python snippet in the Turkish section above — same code, same prompt structure. The model was trained on Turkish-formatted prompts matching the structure shown there. Using a different schema (e.g. English key-value) will degrade quality due to train/serve drift.

Training data

  • Source: EuroControl R&D Data Archive (~17M flights) + ADS-B + FR24-derived deviation labels
  • Enrichment:
    • Open-Meteo Historical (ERA5) surface weather per airport/hour
    • TR + EU holiday calendar (2025–2026)
    • Aircraft physics features (cruise speed, range, body class)
  • Size: 50,000 balanced examples (route × factor × month), 2,500 validation

Training Results

Step eval_loss
2250 (epoch 0.72) 0.0757
2500 (epoch 0.80) 0.0741
2750 (epoch 0.88) 0.0731
3000 (epoch 0.96) 0.0726

Train ≈ eval throughout — no overfitting observed.

Limitations

  • Output is Turkish only (system prompt is Turkish).
  • Predictions are for routing/research, not for operational airline decisions.
  • Corpus is built on 2025–2026 EuroControl + ADS-B flights; performance may vary for older periods or different airport densities.
  • Upper-air winds (FL-300+) are not in the corpus; the model reasons about tailwind/headwind from surface wind + physics priors.
  • As with any LLM, hallucinations are possible. JSON output is not guaranteed to be parseable on every call — caller-side validation recommended.

License

MIT. The base model Qwen/Qwen2.5-14B-Instruct is distributed under Apache-2.0; both licenses must be respected when using this adapter.

Downloads last month
54
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AliUlu/qwen2.5-14b-flydeviation-lora

Base model

Qwen/Qwen2.5-14B
Adapter
(345)
this model