初始化项目,由ModelHub XC社区提供模型
Model: SykoSLM/SykoLLM-V6.0 Source: Original Platform
This commit is contained in:
35
.gitattributes
vendored
Normal file
35
.gitattributes
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
122
README.md
Normal file
122
README.md
Normal file
@@ -0,0 +1,122 @@
|
||||
---
|
||||
language:
|
||||
- tr
|
||||
- en
|
||||
license: apache-2.0
|
||||
library_name: transformers
|
||||
tags:
|
||||
- causal-lm
|
||||
- turkish
|
||||
- phi3
|
||||
- depth-up-scaling
|
||||
- net2net
|
||||
- text-generation
|
||||
- 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 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.
|
||||
|
||||
```text
|
||||
<|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.
|
||||
|
||||
```Python
|
||||
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?"))
|
||||
```
|
||||
34
config.json
Normal file
34
config.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"architectures": [
|
||||
"Phi3ForCausalLM"
|
||||
],
|
||||
"attention_dropout": 0.0,
|
||||
"bos_token_id": 0,
|
||||
"dtype": "float32",
|
||||
"embd_pdrop": 0.0,
|
||||
"eos_token_id": 0,
|
||||
"hidden_act": "silu",
|
||||
"hidden_size": 1024,
|
||||
"initializer_range": 0.02,
|
||||
"intermediate_size": 3072,
|
||||
"max_position_embeddings": 1024,
|
||||
"model_type": "phi3",
|
||||
"num_attention_heads": 8,
|
||||
"num_hidden_layers": 24,
|
||||
"num_key_value_heads": 2,
|
||||
"original_max_position_embeddings": 4096,
|
||||
"pad_token_id": 4,
|
||||
"partial_rotary_factor": 1.0,
|
||||
"resid_pdrop": 0.0,
|
||||
"rms_norm_eps": 1e-05,
|
||||
"rope_parameters": {
|
||||
"partial_rotary_factor": 1.0,
|
||||
"rope_theta": 10000.0,
|
||||
"rope_type": "default"
|
||||
},
|
||||
"sliding_window": null,
|
||||
"tie_word_embeddings": false,
|
||||
"transformers_version": "5.5.4",
|
||||
"use_cache": false,
|
||||
"vocab_size": 50000
|
||||
}
|
||||
10
generation_config.json
Normal file
10
generation_config.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"_from_model_config": true,
|
||||
"bos_token_id": 0,
|
||||
"eos_token_id": 0,
|
||||
"output_attentions": false,
|
||||
"output_hidden_states": false,
|
||||
"pad_token_id": 4,
|
||||
"transformers_version": "5.5.4",
|
||||
"use_cache": false
|
||||
}
|
||||
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:00f27c04bcefdd49bcf84ff55a683e05b4df27ad90ff086fe9a1ec1bd2236197
|
||||
size 1567445472
|
||||
249227
tokenizer.json
Normal file
249227
tokenizer.json
Normal file
File diff suppressed because it is too large
Load Diff
10
tokenizer_config.json
Normal file
10
tokenizer_config.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"backend": "tokenizers",
|
||||
"bos_token": "<|endoftext|>",
|
||||
"eos_token": "<|endoftext|>",
|
||||
"is_local": false,
|
||||
"model_max_length": 1000000000000000019884624838656,
|
||||
"pad_token": "<|endoftext|>",
|
||||
"tokenizer_class": "TokenizersBackend",
|
||||
"unk_token": "<|endoftext|>"
|
||||
}
|
||||
1994
trainer_state.json
Normal file
1994
trainer_state.json
Normal file
File diff suppressed because it is too large
Load Diff
3
training_args.bin
Normal file
3
training_args.bin
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4879cc976b63a2e9c24317d1385157710c8b05c8e12bae804fa042042978ed52
|
||||
size 5201
|
||||
Reference in New Issue
Block a user