Text Generation
Safetensors
GGUF
English
qwen2
transit
gtfs
transportation
instruction-following
qlora
unsloth
conversational
Instructions to use umarfarookm/UmarTransit-1B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use umarfarookm/UmarTransit-1B with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf umarfarookm/UmarTransit-1B:Q4_K_M # Run inference directly in the terminal: llama cli -hf umarfarookm/UmarTransit-1B:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf umarfarookm/UmarTransit-1B:Q4_K_M # Run inference directly in the terminal: llama cli -hf umarfarookm/UmarTransit-1B:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf umarfarookm/UmarTransit-1B:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf umarfarookm/UmarTransit-1B:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf umarfarookm/UmarTransit-1B:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf umarfarookm/UmarTransit-1B:Q4_K_M
Use Docker
docker model run hf.co/umarfarookm/UmarTransit-1B:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use umarfarookm/UmarTransit-1B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "umarfarookm/UmarTransit-1B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "umarfarookm/UmarTransit-1B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/umarfarookm/UmarTransit-1B:Q4_K_M
- Ollama
How to use umarfarookm/UmarTransit-1B with Ollama:
ollama run hf.co/umarfarookm/UmarTransit-1B:Q4_K_M
- Unsloth Studio
How to use umarfarookm/UmarTransit-1B with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for umarfarookm/UmarTransit-1B to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for umarfarookm/UmarTransit-1B to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for umarfarookm/UmarTransit-1B to start chatting
- Pi
How to use umarfarookm/UmarTransit-1B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf umarfarookm/UmarTransit-1B:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "umarfarookm/UmarTransit-1B:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use umarfarookm/UmarTransit-1B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf umarfarookm/UmarTransit-1B:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default umarfarookm/UmarTransit-1B:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use umarfarookm/UmarTransit-1B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf umarfarookm/UmarTransit-1B:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "umarfarookm/UmarTransit-1B:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use umarfarookm/UmarTransit-1B with Docker Model Runner:
docker model run hf.co/umarfarookm/UmarTransit-1B:Q4_K_M
- Lemonade
How to use umarfarookm/UmarTransit-1B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull umarfarookm/UmarTransit-1B:Q4_K_M
Run and chat with the model
lemonade run user.UmarTransit-1B-Q4_K_M
List all available models
lemonade list
| license: apache-2.0 | |
| base_model: Qwen/Qwen2.5-1.5B-Instruct | |
| datasets: | |
| - umarfarookm/UmarTransit-Instruct-3k | |
| tags: | |
| - transit | |
| - gtfs | |
| - transportation | |
| - instruction-following | |
| - qwen2 | |
| - qlora | |
| - unsloth | |
| language: | |
| - en | |
| pipeline_tag: text-generation | |
| # 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](https://mobilitydatabase.org/). **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](https://huggingface.co/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](https://unsloth.ai) + HuggingFace TRL | | |
| | **Training Data** | 3,154 pairs from [UmarTransit-Instruct-3k](https://huggingface.co/datasets/umarfarookm/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](https://github.com/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) | |
| ```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 | |
| ```bash | |
| 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 | |
| - **GitHub:** [umarfarookm/transit-foundation-model](https://github.com/umarfarookm/transit-foundation-model) | |
| - **Dataset:** [umarfarookm/UmarTransit-Instruct-3k](https://huggingface.co/datasets/umarfarookm/UmarTransit-Instruct-3k) | |
| - **Web Demo:** [transit-foundation-model.vercel.app](https://transit-foundation-model.vercel.app) | |
| ## Citation | |
| ```bibtex | |
| @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} | |
| } | |
| ``` | |