How to use from the
Use from the
llama-cpp-python library
# !pip install llama-cpp-python

from llama_cpp import Llama

llm = Llama.from_pretrained(
	repo_id="umarfarookm/UmarTransit-1B",
	filename="",
)
llm.create_chat_completion(
	messages = [
		{
			"role": "user",
			"content": "What is the capital of France?"
		}
	]
)

UmarTransit-1B (v1.0)

A domain-specific language model for public transit systems and GTFS (General Transit Feed Specification) data, fine-tuned from Qwen2.5-1.5B-Instruct.

UmarTransit-1B specializes in:

  • GTFS understanding and validation
  • Transit route and schedule analysis
  • Journey planning and transfer logic
  • Stop/station information
  • Transit operations concepts
  • Transit network intelligence

Data Disclaimer: This model was trained exclusively on publicly available, open-source GTFS feeds published by transit agencies for public use via the Mobility Database. No private, proprietary, or NDA-protected data from any client, employer, or organization was used at any stage.

Model Details

Property Value
Base Model Qwen/Qwen2.5-1.5B-Instruct
Parameters 1.54B (1.31B non-embedding)
Fine-tuning QLoRA (4-bit NF4, LoRA rank=16, alpha=32)
Training Framework Unsloth + HuggingFace TRL
Training Data 3,154 pairs from UmarTransit-Instruct-3k
Test Data 347 pairs (stratified 90/10 split)
Categories 11 (agency, route, stop, schedule, transfer, network stats, GTFS knowledge, comparative, journey planning, GTFS validation, transit operations)
Max Context 1,024 tokens
License Apache 2.0
Developer umarfarookm

What's New in v1.0

  • Expanded dataset: 3,501 total pairs (up from 3,306 in v0.1)
  • 3 new categories: Journey planning (100 pairs), GTFS validation (20 pairs), Transit operations (20 pairs)
  • Expanded existing categories: GTFS knowledge (22 → 53), network stats (30 → 45), comparative (14 → 23)
  • Journey planning fixed: v0.1 scored below the base model on journey planning; v1.0 now beats it

Evaluation Results

Evaluated on 193 benchmark questions across 6 categories:

Metric Base Model v0.1 v1.0 v1.0 vs Base
ROUGE-L 0.129 0.375 0.409 +217%
Keyword Match 0.368 0.403 0.398 +8%
Criteria Match 0.020 0.072 0.098 +385%
Combined 0.168 0.293 0.313 +86%

Per-Category (Combined Score)

Category Base v0.1 v1.0
GTFS Terminology 0.342 0.351 0.361
GTFS Validation 0.267 0.314 0.323
Route Analysis 0.084 0.290 0.328
Journey Planning 0.297 0.243 0.311
Schedule Reasoning 0.121 0.253 0.224
Transit Operations 0.193 0.307 0.342

v1.0 beats the base model in all 6 categories (vs 5/6 in v0.1).

Available Formats

Format Size Use Case
Safetensors ~3.1 GB Python / Transformers
GGUF Q4_K_M ~986 MB Ollama / llama.cpp (recommended)
GGUF Q8_0 ~1.65 GB Ollama / llama.cpp (higher quality)

Usage

With Transformers (Python)

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("umarfarookm/UmarTransit-1B")
tokenizer = AutoTokenizer.from_pretrained("umarfarookm/UmarTransit-1B")

messages = [
    {"role": "system", "content": "You are UmarTransit-1B, a specialized AI assistant for public transit systems and GTFS data."},
    {"role": "user", "content": "What are the required files in a GTFS feed?"},
]

text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256, temperature=0.1, top_p=0.9, do_sample=True)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))

With Ollama

ollama run hf.co/umarfarookm/UmarTransit-1B:Q4_K_M

Training Details

Parameter Value
Epochs 3
Batch size 4 (x4 gradient accumulation = 16 effective)
Learning rate 2e-4 (cosine schedule)
LoRA rank 16
LoRA alpha 32
LoRA dropout 0
Target modules q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
Optimizer AdamW 8-bit
Max sequence length 1,024 tokens
Hardware Google Colab T4 GPU (~30 min)

Training Data Coverage

15 GTFS feeds from 10 countries:

Country Agency
US LA Metro, CTA (Chicago), MBTA (Boston), Valley Metro (Phoenix), Capital Metro (Austin), TriMet (Portland)
Canada TTC (Toronto)
Germany VBB (Berlin)
France Ile-de-France Mobilites (Paris)
Netherlands OVapi
Belgium NMBS/SNCB
Finland HSL (Helsinki)
Denmark Rejseplanen
Australia Transperth (Perth)
New Zealand Auckland Transport

Limitations

  • English only — no multilingual support
  • Static schedule data only — no real-time predictions
  • Not a trip planner — cannot compute optimal routes
  • 1,024 token context — limited for very long queries
  • Small training dataset (3,501 pairs) — may not generalize to all transit scenarios

Links

Citation

@model{umartransit_1b,
  author = {Umar Farook M},
  title = {UmarTransit-1B: Domain-Specific LLM for Public Transit and GTFS},
  year = {2026},
  publisher = {Hugging Face},
  url = {https://huggingface.co/umarfarookm/UmarTransit-1B}
}
Downloads last month
2,091
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for umarfarookm/UmarTransit-1B

Quantized
(237)
this model
Quantizations
1 model

Dataset used to train umarfarookm/UmarTransit-1B