--- license: gemma language: - tr base_model: google/gemma-4-31B tags: - turkish - türkçe - chain-of-thought - reasoning - cot - gemma-4 - text-generation - fine-tuned library_name: transformers pipeline_tag: text-generation model-index: - name: Omni-31B-Turkish-Reasoning-Model results: [] --- Omni-31B Turkish Reasoning Model Omni Türkçe Chain-of-Thought reasoning model özeti Model Açıklaması Omni-31B, Türkçe muhakeme, açıklayıcı analiz, çok adımlı problem çözme ve genel bilgi alanlarında adım adım düşünme yetkinliği için fine-tune edilmiş bir Gemma 4 tabanlı modeldir. Bu model, Gemma 4 31B base model üzerine 249K filtrelenmiş Türkçe Chain-of-Thought (CoT) verisi ile full fine-tune edilmiştir. Eğitim, `` blokları içinde görünür adım adım reasoning üretecek şekilde tasarlanmıştır. Model, Türkçe kullanıcıların açıklayıcı sorularını yapılandırılmış şekilde yanıtlaması, çok aşamalı muhakeme gerektiren konuları parçalara ayırması ve uzun-form analiz üretmesi için optimize edilmiştir. Türk yapay zeka topluluğuna faydalı olması dileğiyle. 🇹🇷 Önemli: Bu model araştırma ve eğitim amaçlıdır. Üretilen içerik nihai karar mekanizması olarak kullanılmamalı; profesyonel görüş gerektiren konularda (hukuk, sağlık, finans, mühendislik) lisanslı uzmanlara başvurulmalıdır. Temel Yetenekler - Türkçe Chain-of-Thought reasoning: `` blokları içinde adım adım düşünme, plan kurma, ara doğrulama ve yapılandırılmış cevap üretme. - Açıklayıcı analiz: Bilim, tarih, edebiyat, felsefe ve genel kültür konularında uzun-form Türkçe açıklama. - Çok adımlı muhakeme: Karmaşık soruları parçalara ayırarak adım adım yanıtlama. - Türkçe akıcılığı: Pre-training'den gelen Gemma 4 dil yeteneğinin Türkçe reasoning görevlerine uyarlanması. - Format disiplini: `...` reasoning bloğu sonrası kullanıcıya yönelik temiz cevap üretimi. Model Detayları | Özellik | Değer | |---|---| | Model adı | bugrabilge/Omni-31B-Turkish-Reasoning-Model | | Base model | google/gemma-4-31B | | Mimari | Dense Causal LM, text-only deployment | | Parametre | 31B | | Fine-tuning yöntemi | Full Supervised Fine-Tuning (16-bit weights) | | Eğitim dili | Türkçe | | Uzmanlaşma | Türkçe Chain-of-Thought reasoning | | Max training sequence length | 8192 token | | Deployment mode | text_only | Eğitim Özeti | Metrik | Değer | |---|---| | Eğitim verisi | 249,292 Türkçe CoT örneği | | Veri kaynağı | ~30GB ham Türkçe CoT veriden kural-bazlı pipeline ile filtrelenmiş | | Framework | HuggingFace Transformers + DeepSpeed ZeRO-3 | | Effective batch size | 128 (1 × 16 grad_accum × 8 GPU) | | Epoch | 1 | | Precision | bfloat16 | | Attention | SDPA | | Label masking | Assistant-only training hedefi | | Thinking davranışı | `...` bloğu ile görünür reasoning | | Ortalama cevap uzunluğu | ~5,000-7,000 token (uzun-form akademik stil) | Önerilen Kullanım Alanları - Türkçe eğitim asistanı (açıklayıcı içerik) - Bilim, tarih, edebiyat konularında uzun-form analiz - Çok adımlı muhakeme gerektiren soru-cevap - Akademik tarzda Türkçe içerik üretimi ve taslak hazırlama - Türkçe reasoning üzerine araştırma Kullanım Kurulum ```bash pip install "transformers>=4.50.0" "torch>=2.4.0" accelerate safetensors sentencepiece ``` > **Not:** Model `chat_template.jinja` formatı kullanır (Transformers 4.50+ convention). Daha eski versiyonlarda chat template doğru yüklenmeyebilir. Transformers ile örnek ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch model_id = "bugrabilge/Omni-31B-Turkish-Reasoning-Model" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="auto", ) messages = [ { "role": "system", "content": ( "Sen adım adım düşünen bir Türkçe asistansın. " "Cevap vermeden önce bloğunda muhakemeni yap, " "ardından kullanıcıya net bir cevap ver." ), }, { "role": "user", "content": "Fotosentez sürecini adım adım açıkla ve neden hayat için kritik olduğunu belirt.", }, ] text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True, ) inputs = tokenizer([text], return_tensors="pt").to(model.device) outputs = model.generate( **inputs, max_new_tokens=7168, min_new_tokens=80, temperature=0.7, top_p=0.9, do_sample=True, eos_token_id=[1, 106], ) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=False)) ``` vLLM ile deploy ```bash vllm serve bugrabilge/Omni-31B-Turkish-Reasoning-Model \ --tensor-parallel-size 8 \ --dtype bfloat16 \ --max-model-len 8192 \ --gpu-memory-utilization 0.90 \ --limit-mm-per-prompt '{"image":0,"audio":0}' \ --port 8000 ``` Önerilen Sampling Parametreleri Model uzun-form (5K-7K token) cevap üretecek şekilde eğitilmiştir. Güvenilir çalışma için aşağıdaki parametrelerin kullanılması önerilir. **vLLM / OpenAI-uyumlu API için:** ```python sampling_params = { "temperature": 0.7, "top_p": 0.9, "min_tokens": 80, "max_tokens": 7168, "stop": ["", "", "```\n```"] } ``` | Parametre | Değer | Sebep | |---|---|---| | `max_tokens` | 7168 | Eğitim verisi cevap dağılımının üst sınırına yakın; modelin natural EOS üretmesi için yeterli alan | | `min_tokens` | 80 | Erken stop'u önler, modelin `` bloğunu tamamlamasına imkan tanır | | `stop` | 3'lü liste | `` natural EOS; `` ve markdown fence olası degenerate pattern'leri keser | | `temperature` | 0.7 | Eğitim distribusyonuna sadık, degenerate loop riskini azaltır | **Transformers (`model.generate`) için:** ```python generation_kwargs = { "temperature": 0.7, "top_p": 0.9, "min_new_tokens": 80, "max_new_tokens": 7168, "do_sample": True, "eos_token_id": [1, 106], } ``` > **Not:** Transformers ve vLLM parametre adlandırması farklıdır: > - Transformers: `min_new_tokens`, `max_new_tokens` > - vLLM: `min_tokens`, `max_tokens` > Anlamları aynıdır (sadece üretilecek yeni token sayısı, prompt hariç). vLLM API çağrısı örneği: ```bash curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "bugrabilge/Omni-31B-Turkish-Reasoning-Model", "messages": [ {"role": "system", "content": "Sen adım adım düşünen bir Türkçe asistansın."}, {"role": "user", "content": "..."} ], "max_tokens": 7168, "min_tokens": 80, "temperature": 0.7, "top_p": 0.9, "stop": ["", "", "```\n```"] }' ``` Önerilen Sistem Talimatı ``` Sen Türkçe konuşan, adım adım düşünen bir yapay zeka asistanısın. Çalışma şeklin: - Cevap vermeden önce bloğunda muhakemeni adım adım yap. - Düşünme aşamasında soruyu parçalara ayır, varsayımlarını netleştir, ara sonuçları doğrula. - sonrası kullanıcıya net, yapılandırılmış ve gereksiz tekrar içermeyen bir cevap ver. - Emin olmadığın bilgilerde belirsizliği açıkça belirt. - Türkçe açıkla; teknik terimler gerektiğinde parantez içinde orijinal formuyla koru. ``` Çıktı Formatı Model cevaplarını `...` bloğu ile başlatır, ardından kullanıcıya yönelik nihai cevabını verir: ``` Soruyu analiz ediyorum. Fotosentez bitkilerin güneş ışığı, su ve karbondioksiti kullanarak glikoz ve oksijen ürettiği biyokimyasal süreçtir... Fotosentez, yaşamın temel taşlarından biridir. Süreç şu aşamalardan oluşur: ... ``` Token Budget Hesabı Toplam context bütçesi: **prompt + completion ≤ 8192 token**. Eğer prompt'unuz uzunsa `max_tokens` değerini dinamik olarak hesaplayın: ```python # Önce mesajları render et text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True, ) prompt_tokens = len(tokenizer.encode(text)) available = 8192 - prompt_tokens - 50 # 50 token safety margin max_tokens = min(available, 7168) ``` Quantization Topluluk tarafından oluşturulacak quantized versiyonlar (GGUF, AWQ, GPTQ) için bu repo'yu base olarak kullanabilirsiniz. Quantize edilmiş versiyonlar yayınlanırsa bu bölüm güncellenecektir. Bilinen Teknik Sınırlamalar 1. **Uzun-form eğitim verisi:** Model eğitim verisi ortalama 5K-7K token cevap içerir, bu nedenle akademik/açıklayıcı stilde uzun cevaplar üretmeye eğilimlidir. Kısa ve net cevap istendiğinde sistem promptunda explicit belirtilmelidir. 2. **Format varyasyonu:** Bazı cevaplarda model önce düz metin, ardından markdown yapılandırılmış versiyon üretebilir. Bu eğitim verisi karakteristiğidir. 3. **`` tetikleme:** Uzun ve açıklayıcı sorularda `` bloğu güvenilir şekilde tetiklenir. Daha tutarlı `` davranışı için sistem promptunda explicit talep edilmelidir. 4. **Yetersiz `max_tokens` riski:** `max_tokens` değeri 7000'in altında ayarlanırsa model cevabını tamamlayamayabilir ve generation pattern'lerine girebilir. Önerilen stop sequence'leri ile bu durum güvenli şekilde yönetilir. 5. **Multimodal değil:** Sadece text generation desteklenir; mimari image/audio destekliyor ancak eğitim text-only yapıldı. Risk Uyarısı ve Kullanım Sınırları - Model gerçek zamanlı bilgiye bağlı değildir; güncel olay, fiyat, mevzuat veya istatistik gerektiren sorularda resmi kaynak kontrolü gerekir. - Üretilen yanıtlar profesyonel danışmanlık (hukuk, sağlık, finans, mühendislik) yerine geçmez. - Model factual hata üretebilir; kritik kullanımlarda çıktıların doğrulanması gerekir. - Model cevapları nihai karar mekanizması olarak kullanılmamalıdır. Citation Bu modeli kullanırsanız aşağıdaki şekilde atıfta bulunabilirsiniz: ```bibtex @model{Omni31B, author = {Buğra Bilge Çelik}, title = {Omni-31B: A Fine-tuned Gemma 4 31B Model for Turkish Chain-of-Thought Reasoning}, year = {2026}, publisher = {Hugging Face}, url = {https://huggingface.co/bugrabilge/Omni-31B-Turkish-Reasoning-Model} } ``` İletişim - Hugging Face: [@bugrabilge](https://huggingface.co/bugrabilge) - LinkedIn: [bugrabilgecelik](https://www.linkedin.com/in/bugrabilgecelik/) - GitHub: [bugrabilge](https://github.com/bugrabilge) - E-posta: bugrabilgee@gmail.com Disclaimer: Bu model araştırma, eğitim ve genel bilgilendirme amaçlıdır. Modelin çıktıları profesyonel danışmanlık değildir ve model çıktılarına dayanarak alınan kararlardan model geliştiricisi sorumlu tutulamaz.