mini-tr-9m / README.md
k12tr's picture
Update README.md
3e59d80 verified
---
language:
- tr
license: apache-2.0
library_name: transformers
tags:
- llama-3
- turkish
- tiny-llama
- scratch-build
datasets:
- TFLai/Turkish-Alpaca
metrics:
- loss
model_type: llama
---
# Llama-TR-Mini (9M Parameters)
Llama-TR-Mini is an experimental, ultra-lightweight Turkish language model with **9.3 million parameters**, trained from scratch using the Llama 3 architecture.
This project was developed to explore the limits of small-scale language modeling and to understand the end-to-end pre-training/fine-tuning pipeline on consumer-grade hardware (Apple Silicon).
## Model Specifications
- **Architecture:** Llama 3
- **Parameters:** 9,343,232
- **Hidden Size:** 256
- **Intermediate Size:** 512
- **Number of Layers:** 8
- **Attention Heads:** 8
- **Vocabulary Size:** 5,000 (Custom Turkish Tokenizer)
- **Training Epochs:** 30
- **Device:** MacBook Pro (MPS - Metal Performance Shaders)
## Training Data
The model was trained on the [Turkish-Alpaca](https://huggingface.co/datasets/TFLai/Turkish-Alpaca) dataset, which contains approximately 52K instruction-following pairs translated into Turkish.
## Intended Use & Limitations
**Important Note:** Due to its extremely small size (9M parameters), this model is prone to significant hallucinations and may produce nonsensical or repetitive outputs.
- **Purpose:** Educational purposes, understanding LLM mechanics.
- **Not Suited For:** Production environments, factual information retrieval, or complex reasoning tasks.
- **Format:** Optimized for the Llama 3 Instruct template (`<|start_header_id|>user<|end_header_id|>`).
## How to Use
You can load this model using the `transformers` library:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "k12tr/mini-tr-9m"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
prompt = "<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nTürkiye'nin başkenti neresidir?<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n"
inputs = tokenizer(prompt, return_tensors="pt")
output = model.generate(**inputs, max_new_tokens=50, temperature=0.1, repetition_penalty=1.5)
print(tokenizer.decode(output[0], skip_special_tokens=True))