Instructions to use AliUlu/qwen2.5-14b-flydeviation-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use AliUlu/qwen2.5-14b-flydeviation-lora with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-14B-Instruct") model = PeftModel.from_pretrained(base_model, "AliUlu/qwen2.5-14b-flydeviation-lora") - Notebooks
- Google Colab
- Kaggle
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.
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ışmaz — Qwen/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
