Files
SykoLLM-V6.0/README.md
ModelHub XC 7e33d19929 初始化项目,由ModelHub XC社区提供模型
Model: SykoSLM/SykoLLM-V6.0
Source: Original Platform
2026-08-09 02:13:17 +08:00

4.6 KiB
Raw Permalink Blame History

language, license, library_name, tags, pipeline_tag, inference, datasets
language license library_name tags pipeline_tag inference datasets
tr
en
apache-2.0 transformers
causal-lm
turkish
phi3
depth-up-scaling
net2net
text-generation
syko
text-generation false
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 V6.0 - The Awakened Model

SykoLLM V6.0, SykoLLM ailesinin mimari sınırlarının zorlandığı, "Knowledge Bottleneck" (Kapasite Darboğazı) sorununu çözmek için özel ameliyatlardan geçmiş (Net2Net & Depth Up-Scaling) ve başarıyla uyanmış en yenilikçi modelidir.

Sınırlı donanım (2x Tesla T4) ile maksimum verimi almak amacıyla, modelin beyni sıfırdan eğitilmek yerine "Fonksiyon Koruyucu Genişletme" teknikleriyle büyütülmüş ve ardından özel bir ısınma (warmup) eğitimiyle yeni kapasitesine adapte edilmiştir.


🛠️ Mimari Genişletme (Architectural Up-Scaling)

İlk aşamada 1.5 Milyar token ile eğitilen 298M parametrelik temel model, yoğun ve karmaşık veri setini (Matematik, Kod, Türkçe, İngilizce) işlerken kapasite sınırına ulaştı (Loss 1.8 bandında takıldı). Bu darboğazı aşmak için modele şu operasyonlar uygulandı:

  1. Depth Up-Scaling (DUS): Katman sayısı (Hidden Layers) 18'den 24'e çıkarıldı. Yeni katmanlar, modelin mevcut mantıksal yeteneklerini korumak amacıyla önceki katmanlardan kopyalandı.
  2. Width Expansion (Net2Net): Modelin bilgi depolama alanı olan intermediate_size 2304'ten 3072'ye (tam 3 katı) çıkarıldı. Catastrophic forgetting (yıkıcı unutma) yaşanmaması için eklenen bu yeni parametreler tam olarak 0.0 ile başlatıldı (Zero-initialized).

Sonuç olarak model boyutu ~398 Milyon parametreye (yaklaşık 784 MB) ulaştı ve kelime hazinesinin (vocab) model içindeki ağırlığı %18'lerden %13'e düşürülerek mantık yürütme kapasitesine daha fazla alan açıldı.

🔋 Uyanış Evresi (Continuous Pre-Training)

Modele eklenen yeni "0" ağırlıkların ve kopyalanan katmanların uyanması için model doğrudan eğitime sokulmadı.

  • EBS (Effective Batch Size): 128
  • Warmup: 200 step
  • Veri: ~200K - 300K yüksek kaliteli örnek (Karışık Shuffle)

Bu hassas "Continuous Pre-training" aşaması sayesinde model hiçbir loss patlaması (spike) yaşamadan yeni bedenine adapte oldu ve eğitim loss değeri 1.8'den 1.6-1.7 bandına doğru başarılı bir düşüş trendine girdi. Yeni parametreler artık uyanık ve aktif olarak öğreniyor!


📊 Model Spesifikasyonları

Özellik Değer
Mimari Phi-3 (Causal LM)
Toplam Parametre ~398 Milyon
Gizli Katman Boyutu (hidden_size) 1024
Ara Katman Boyutu (intermediate_size) 3072 (Genişletildi)
Dikkat Başlığı Sayısı (num_attention_heads) 8
Katman Sayısı (num_hidden_layers) 24 (Genişletildi)
Kelime Hazinesi (vocab_size) 50.000
Veri Tipi float16

🗣️ Sohbet Formatı ve Özel Token'lar

Bu model aşağıdaki sohbet şablonuyla eğitilmiştir. BOS (Begin of Sentence) token'ı yoktur. Model doğrudan <|user|> ile başlar.

<|user|>
Kullanıcının mesajı<|end|>
<|assistant|>
Modelin yanıtı<|end|>

Kullanım (Inference)

Modeli kullanırken eos_token_id=3 olarak ayarlamayı unutmayın, aksi takdirde model metin üretmeyi durdurmaz.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "SykoSLM/SykoLLM-V6.0"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16,
    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=512,
            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|>
        )
    
    generated = outputs[0][inputs["input_ids"].shape[1]:]
    return tokenizer.decode(generated, skip_special_tokens=True)

print(chat("Yapay zekada 'Depth Up-Scaling' nedir?"))