--- language: - tr - en license: apache-2.0 library_name: transformers tags: - causal-lm - turkish - phi3 - llm - text-generation - pre-training - syko pipeline_tag: text-generation inference: false datasets: - uonlp/CulturaX - HuggingFaceTB/cosmopedia - roneneldan/TinyStories - nampdn-ai/tiny-textbooks - nampdn-ai/tiny-codes - ise-uiuc/Magicoder-Evol-Instruct-110K - theblackcat102/evol-codealpaca-v1 - turkish-nlp-suite/InstrucTurca --- # 🧠 SykoLLM V5.6 **SykoLLM V5.6**, SykoLLM ailesinin şu ana kadar eğitilmiş en gelişmiş ve en yetenekli modelidir. Bir önceki nesil olan V5.5-Beta'ya kıyasla çok daha fazla veriyle, çok daha güçlü donanımda eğitilmiştir. ## Modeli Canlı Test Edin --- ## 📐 Model Mimarisi | Özellik | Değer | |---|---| | **Mimari** | Phi-3 (Causal LM) | | **Toplam Parametre** | ~447 Milyon | | **Gizli Katman Boyutu** (`hidden_size`) | 1024 | | **Ara Katman Boyutu** (`intermediate_size`) | 3072 | | **Dikkat Başlığı Sayısı** (`num_attention_heads`) | 8 | | **Katman Sayısı** (`num_hidden_layers`) | 28 | | **Kelime Hazinesi** (`vocab_size`) | 32.000 | | **Bağlam Penceresi** | 1024 token | | **Dikkat Mekanizması** | Flash Attention 2 | | **Veri Tipi** | bfloat16 | --- ## 📚 Eğitim Veri Setleri | Veri Seti | İçerik Türü | Dil | |---|---|---| | [uonlp/CulturaX](https://huggingface.co/datasets/uonlp/CulturaX) | Genel web metinleri (tr bölümü) | 🇹🇷 Türkçe | | [HuggingFaceTB/cosmopedia](https://huggingface.co/datasets/HuggingFaceTB/cosmopedia) | Sentetik eğitici içerik | 🇬🇧 İngilizce | | [roneneldan/TinyStories](https://huggingface.co/datasets/roneneldan/TinyStories) | Kısa, sade hikayeler | 🇬🇧 İngilizce | | [nampdn-ai/tiny-textbooks](https://huggingface.co/datasets/nampdn-ai/tiny-textbooks) | Ders kitabı tarzı içerik | 🇬🇧 İngilizce | | [nampdn-ai/tiny-codes](https://huggingface.co/datasets/nampdn-ai/tiny-codes) | Kod örnekleri ve açıklamalar | 💻 Çokdil | | [ise-uiuc/Magicoder-Evol-Instruct-110K](https://huggingface.co/datasets/ise-uiuc/Magicoder-Evol-Instruct-110K) | Gelişmiş kodlama talimatları | 💻 Çokdil | | [theblackcat102/evol-codealpaca-v1](https://huggingface.co/datasets/theblackcat102/evol-codealpaca-v1) | Kodlama talimatları | 💻 Çokdil | | [turkish-nlp-suite/InstrucTurca](https://huggingface.co/datasets/turkish-nlp-suite/InstrucTurca) | Türkçe instruction/yanıt çiftleri | 🇹🇷 Türkçe | > Toplamda yaklaşık **~1.7 Milyon örnek** ile eğitilmiştir. --- ## ⚙️ Eğitim Detayları | Parametre | Değer | |---|---| | **Kullanılan Donanım** | NVIDIA A100 | | **Önceki Nesil Donanım** | 2× Tesla T4 (V5.5-Beta) | | **Batch Boyutu (cihaz başına)** | 16 | | **Gradyan Birikimi** | 4 (efektif batch: 64) | | **Öğrenme Hızı** | 5e-5 | | **LR Zamanlayıcı** | Cosine | | **Optimizatör** | AdamW (Fused) | | **Çerçeve** | HuggingFace Transformers + Trainer | --- ## 🗣️ Sohbet Formatı ve Özel Token'lar Bu model aşağıdaki sohbet şablonuyla eğitilmiştir: ``` <|user|> Kullanıcının mesajı<|end|> <|assistant|> Modelin yanıtı<|end|> ``` ### Önemli Notlar - **BOS token yoktur.** Model direkt `<|user|>` ile başlar, başa `` veya herhangi bir başlangıç token'ı **ekleme.** - **Cümleyi bitiren token `<|end|>`'dir** (ID: 3), `<|endoftext|>` değil. Generate ederken `eos_token_id=3` vermeyi unutma, yoksa model durmaz. - `<|endoftext|>` (ID: 0) yalnızca vocab'ın 0. slotunu doldurmak için vardır, eğitimde hiç kullanılmamıştır. ### Token ID Tablosu | Token | ID | Görevi | |---|---|---| | `<|endoftext|>` | 0 | Sadece vocab doldurucu, kullanılmıyor | | `<|user|>` | 1 | Kullanıcı konuşma turunu açar | | `<|assistant|>` | 2 | Modelin yanıt turunu açar | | `<|end|>` | 3 | Her konuşma turunu kapatır (gerçek EOS) | | `<|pad|>` | 4 | Batch padding için | --- ## 🚀 Kullanım ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch model_id = "SykoSLM/SykoLLM-V5.6" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="auto" ) def chat(user_message): # BOS YOK — direkt <|user|> ile başlıyoruz prompt = f"<|user|>\n{user_message}<|end|>\n<|assistant|>\n" inputs = tokenizer(prompt, return_tensors="pt").to(model.device) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=256, do_sample=True, temperature=0.7, top_p=0.9, repetition_penalty=1.1, eos_token_id=3, # <|end|> gelince dur pad_token_id=4 # <|pad|> ) # Sadece modelin ürettiği kısmı al, prompt'u çıkar generated = outputs[0][inputs["input_ids"].shape[1]:] return tokenizer.decode(generated, skip_special_tokens=True) print(chat("Merhaba! Kendini tanıtır mısın?")) ``` --- ## 🗺️ SykoLLM Ailesi | Versiyon | Durum | Veri Miktarı | Donanım | |---|---|---|---| | SykoLLM V5.5-Beta | ✅ Yayında | ~300K örnek | 2× Tesla T4 | | **SykoLLM V5.6** | ✅ **Yayında** | **~1.7M örnek** | **A100** | --- ## ⚠️ Sınırlamalar - Bağlam penceresi **1024 token** ile sınırlıdır. - Model yalnızca **ön-eğitim (pre-training)** görmüştür; RLHF veya DPO gibi hizalama adımları uygulanmamıştır. Zaman zaman tutarsız yanıtlar üretebilir. - Kritik, tıbbi, hukuki veya güvenlik gerektiren uygulamalarda kullanımı önerilmez. --- ## 📄 Lisans Apache 2.0 — Ticari kullanım serbesttir, modelin kaynağının belirtilmesi beklenir. --- *SykoSLM tarafından geliştirilmiştir.*