Instructions to use md-nishat-008/TigerCoder-1B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use md-nishat-008/TigerCoder-1B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="md-nishat-008/TigerCoder-1B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("md-nishat-008/TigerCoder-1B") model = AutoModelForCausalLM.from_pretrained("md-nishat-008/TigerCoder-1B", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use md-nishat-008/TigerCoder-1B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "md-nishat-008/TigerCoder-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": "md-nishat-008/TigerCoder-1B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/md-nishat-008/TigerCoder-1B
- SGLang
How to use md-nishat-008/TigerCoder-1B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "md-nishat-008/TigerCoder-1B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "md-nishat-008/TigerCoder-1B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "md-nishat-008/TigerCoder-1B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "md-nishat-008/TigerCoder-1B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use md-nishat-008/TigerCoder-1B with Docker Model Runner:
docker model run hf.co/md-nishat-008/TigerCoder-1B
๐ฏ TigerCoder-1B
A compact Bangla code-generation LLM from the TigerCoder family (LREC 2026)
Nishat Raihan, Antonios Anastasopoulos, Marcos Zampieri ยท George Mason University
The current TigerCoder-1B scores 2โ4% higher than the TigerCoder-1B results in the paper on the benchmarks below.
TigerCoder-9B is deprecated. The larger TigerCoder model is now TigerCoder-12B, which scores 5โ7% higher than the 9B model.
Model summary
TigerCoder is a family of code LLMs for Bangla. TigerCoder-1B is the small member: you describe a programming task in Bangla and it writes the code. It was fine-tuned from TigerLLM-1B-it on the 300K instruction-code pairs of Bangla-Code-Instruct, and it is light enough for a laptop GPU or a CPU. It introduces itself as TigerCoder and knows who built it.
| Architecture | Gemma3ForCausalLM (Gemma 3, 1B) |
| Parameters | 1.0B |
| Precision | BF16, one model.safetensors file (about 1.9 GiB) |
| Context length | 32,768 tokens (from config.json) |
| Base model | TigerLLM-1B-it |
| Task | Code generation from Bangla prompts |
| Programming languages | Python, C++, Java, JavaScript |
| Fine-tuning data | Bangla-Code-Instruct, 300K Bangla instruction-code pairs |
| License | CC BY 4.0 |
Benchmarks
Pass@K on Python tasks with Bangla prompts, from the TigerCoder paper (LREC 2026).
| Model | mHumanEval P@1 | mHumanEval P@10 | mHumanEval P@100 | MBPP P@1 | MBPP P@10 | MBPP P@100 |
|---|---|---|---|---|---|---|
| GPT-3.5 | 0.56 | 0.56 | 0.59 | 0.60 | 0.62 | 0.62 |
| Gemini-Flash 2.5 | 0.58 | 0.61 | 0.62 | 0.62 | 0.62 | 0.70 |
| Gemma-3 (27B) | 0.64 | 0.65 | 0.69 | 0.69 | 0.70 | 0.70 |
| TigerLLM (9B) (deprecated) | 0.63 | 0.69 | 0.72 | 0.61 | 0.68 | 0.73 |
| TigerCoder-1B, paper checkpoint | 0.69 | 0.73 | 0.77 | 0.74 | 0.74 | 0.81 |
| TigerCoder-1B, current (this model) | +2โ4% | +2โ4% | +2โ4% | +2โ4% | +2โ4% | +2โ4% |
| TigerCoder-9B (deprecated) | 0.75 | 0.80 | 0.84 | 0.82 | 0.84 | 0.91 |
| TigerCoder-12B | +5โ7% | +5โ7% | +5โ7% | +5โ7% | +5โ7% | +5โ7% |
The numeric rows are from the paper. This model scores 2โ4% higher than the paper's TigerCoder-1B, and TigerCoder-12B scores 5โ7% higher than TigerCoder-9B.
The paper also tested TigerCoder-1B in other programming languages (Pass@1, Bangla prompts):
| Language | mHumanEval P@1 | MBPP P@1 |
|---|---|---|
| Python | 0.69 | 0.74 |
| C++ | 0.64 | 0.66 |
| Java | 0.58 | 0.61 |
| JavaScript | 0.53 | 0.55 |
Quick start
pip install "torch>=2.4" "transformers>=4.56" accelerate sentencepiece
The model needs about 2 GB of GPU memory in BF16, and it also runs on CPU or Apple Silicon (device_map="mps").
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_ID = "md-nishat-008/TigerCoder-1B"
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
dtype=torch.bfloat16,
device_map="auto",
).eval()
# "Write a Python function that computes the factorial of a number."
messages = [{"role": "user", "content": "เฆชเฆพเฆเฆฅเฆจเง เฆเฆเฆเฆฟ เฆซเฆพเฆเฆถเฆจ เฆฒเฆฟเฆเงเฆจ เฆฏเฆพ เฆเฆเฆเฆฟ เฆธเฆเฆเงเฆฏเฆพเฆฐ เฆซเงเฆฏเฆพเฆเงเฆเฆฐเฆฟเฆฏเฆผเฆพเฆฒ เฆเฆฃเฆจเฆพ เฆเฆฐเงเฅค"}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.inference_mode():
output_ids = model.generate(**inputs, max_new_tokens=512, do_sample=False, repetition_penalty=1.05)
print(tokenizer.decode(output_ids[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
Prompting tips
- Build prompts with
tokenizer.apply_chat_template(...). Do not paste special chat tokens by hand. - Name the programming language, the function name and signature, and the expected input and output, for example: เฆชเฆพเฆเฆฅเฆจเง เฆเฆเฆเฆฟ เฆซเฆพเฆเฆถเฆจ
second_largest(nums)เฆฒเฆฟเฆเงเฆจ เฆฏเฆพ เฆเฆเฆเฆฟ เฆธเฆเฆเงเฆฏเฆพเฆฐ เฆคเฆพเฆฒเฆฟเฆเฆพ เฆฅเงเฆเง เฆฆเงเฆฌเฆฟเฆคเงเฆฏเฆผ เฆฌเงเฆนเฆคเงเฆคเฆฎ เฆญเฆฟเฆจเงเฆจ เฆธเฆเฆเงเฆฏเฆพเฆเฆฟ เฆซเงเฆฐเฆค เฆฆเงเฆฏเฆผเฅค - Use
do_sample=Falsefor Pass@1-style answers. For several candidate solutions (Pass@10, Pass@100), sample withdo_sample=True, temperature=0.7, top_p=0.95. - A 1B model handles short, self-contained functions best. For longer programs or tricky edge cases, use TigerCoder-12B.
Training
The current checkpoint is the TigerCoder-1B code fine-tune with a short identity fine-tune on top.
| Identity fine-tune | Value |
|---|---|
| Data | 2,000 TigerCoder identity examples (Bangla and English) mixed with 6,000 Bangla-Code-Instruct examples, so coding skill is kept |
| Method | LoRA (rank 16, alpha 32) on all attention and MLP projections, merged into the weights |
| Epochs / learning rate | 2 / 1e-4, cosine schedule |
| Check | loss on 500 held-out Bangla-Code-Instruct examples went from 1.030 to 1.029 |
Code fine-tuning setup the paper reports for TigerCoder-1B
| Hyperparameter | Value |
|---|---|
| Base model | TigerLLM-1B-it |
| Training data | Bangla-Code-Instruct (300K examples) |
| Max sequence length | 2048 |
| Batch size (train / eval) | 16 |
| Gradient accumulation steps | 4 |
| Epochs | 3 |
| Learning rate | 1 ร 10โปโต |
| Weight decay | 0.02 |
| Warm-up | 10% of steps |
| Optimizer | AdamW |
| LR scheduler | Cosine |
| Precision | BF16 |
| Hardware | NVIDIA A100 (40 GB) |
Training data
Bangla-Code-Instruct has three 100K subsets:
| Subset | Size | How it was built | Prompt origin | Code origin |
|---|---|---|---|---|
| SI (Self-Instruct) | 100K | 5,000 expert seeds expanded with GPT-4o | Semi-natural | Synthetic |
| Syn (Synthetic) | 100K | Generated with GPT-4o and Claude 3.5 Sonnet | Synthetic | Synthetic |
| TE (Translated) | 100K | Evol-Instruct machine-translated with NLLB-200 | Translated | Natural |
All SI and Syn code passed a syntax check (ast.parse) and an execution test (Python 3.13.0, 10 s timeout, 16 GB memory).
Findings from the paper
- Bangla prompts hurt code LLMs. Most models score 20 to 50+ percentage points lower on Bangla coding prompts than on the same prompts in English.
- Translating the prompt to English does not fix it. Machine translation garbles programming terms: "เฆ เฆเงเฆทเฆฐ" (character) becomes "letter", "เฆเฆฒเฆ" (variable) becomes "clever", and "เฆธเงเฆเงเฆฐเฆฟเฆ" (string) becomes "rope".
- Targeted data beats scale. TigerCoder-1B beats models 27 times its size.
Repository files
| File | Contents |
|---|---|
model.safetensors |
Full BF16 model weights |
config.json, generation_config.json |
Model and generation settings |
tokenizer.json, tokenizer.model, tokenizer_config.json, chat_template.jinja |
Tokenizer and chat format |
Limitations
- TigerCoder is trained for Bangla code generation. On general language tasks, use TigerLLM-1B-it.
- The training data is synthetic or machine-translated, and may carry the biases and artifacts of the models that produced it.
- Evaluation covers MBPP-Bangla and mHumanEval-Bangla only. Production-scale coding tasks have not been benchmarked.
- Run and review generated code before you use it.
License
CC BY 4.0. Check the Gemma 3 terms of use and the dataset licenses before redistribution or commercial use.
Citation
@inproceedings{raihan-etal-2026-tigercoder,
title = "{T}iger{C}oder: A Novel Suite of {LLM}s for Code Generation in {B}angla",
author = "Raihan, Nishat and
Anastasopoulos, Antonios and
Zampieri, Marcos",
editor = "Piperidis, Stelios and
Bel, N{\'u}ria and
van den Heuvel, Henk and
Ide, Nancy and
Krek, Simon and
Toral, Antonio",
booktitle = "Proceedings of the Fifteenth Language Resources and Evaluation Conference",
month = may,
year = "2026",
address = "Palma de Mallorca, Spain",
publisher = "ELRA Language Resource Association",
url = "https://aclanthology.org/2026.lrec-1.238/",
doi = "10.63317/5nampb63np3m",
pages = "3044--3054"
}
Related work
@inproceedings{raihan-zampieri-2025-tigerllm,
title = "{T}iger{LLM} - A Family of {B}angla Large Language Models",
author = "Raihan, Nishat and
Zampieri, Marcos",
editor = "Che, Wanxiang and
Nabende, Joyce and
Shutova, Ekaterina and
Pilehvar, Mohammad Taher",
booktitle = "Proceedings of the 63rd Annual Meeting of the {A}ssociation for {C}omputational {L}inguistics (Volume 2: Short Papers)",
month = jul,
year = "2025",
address = "Vienna, Austria",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2025.acl-short.69/",
doi = "10.18653/v1/2025.acl-short.69",
pages = "887--896",
ISBN = "979-8-89176-252-7"
}
@inproceedings{raihan-etal-2025-mhumaneval,
title = "m{H}uman{E}val - A Multilingual Benchmark to Evaluate Large Language Models for Code Generation",
author = "Raihan, Nishat and
Anastasopoulos, Antonios and
Zampieri, Marcos",
editor = "Chiruzzo, Luis and
Ritter, Alan and
Wang, Lu",
booktitle = "Proceedings of the 2025 Conference of the Nations of the {A}mericas Chapter of the {A}ssociation for {C}omputational {L}inguistics: Human Language Technologies (Volume 1: Long Papers)",
month = apr,
year = "2025",
address = "Albuquerque, New Mexico",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2025.naacl-long.570/",
doi = "10.18653/v1/2025.naacl-long.570",
pages = "11432--11461",
ISBN = "979-8-89176-189-6"
}
Questions: mraihan2@gmu.edu
- Downloads last month
- 1,398