Skip to content

Qwen 2.5 / Qwen3 1.5B/3B/7B — Multilingual Champion (Turkish Token Efficiency)

Qwen 2.5 / Qwen3 — Alibaba's open-weight family. 151K vocab (TR-friendly), Apache 2.0, easier than Llama for FT. Qwen2.5-7B QLoRA on RTX 4090: 1 epoch ~40 min. TR-MMLU baseline 38.1 → fine-tune 44.2 (+16%). Qwen3 14B + YaRN.

Şükrü Yusuf KAYA
40 min read
Advanced
Qwen 2.5 / Qwen3 1.5B/3B/7B — Multilingual Şampiyonu (Türkçe Token Verimi)

1. Qwen 2.5 / Qwen3 Mimari Özet#

FeatureQwen 2.5 7BQwen3 7BQwen3 14BQwen3 32B
Layers28284064
Hidden3584358451205120
KV heads (GQA)4488
Vocab151,936151,936151,936151,936
Active params7.62B7.62B14.77B32.76B
Native context128K128K128K128K
LisansApache 2.0Apache 2.0Apache 2.0Apache 2.0
Pre-train (~T tok)18T36T (Qwen3)36T36T
Qwen 2.5 → Qwen3 atlama:
  • Pre-train data 2x (18T → 36T)
  • "Thinking" capability (R1-style optional reasoning)
  • Çoklu dil daha güçlü (özellikle TR, AR, FA, RU)
  • Tool-calling daha sağlam
Apache 2.0 farkı: Commercial use kısıtsız, derivative work kısıtsız, lisans bildirimi yeter. Llama Community License'a göre ÇOK daha esnek.

2. Qwen'in TR Avantajı#

TokenizerTokens/word (TR)Effective contextTR-MMLU base
Llama 3.1 8B3.2132.4
Qwen 2.5 7B2.341.37×38.1
Qwen3 7B2.311.39×41.7
Mistral Small 34.180.77×28.5
Qwen 7B baseline'ı Llama 8B'den TR'de daha iyi (38.1 vs 32.4). Niye? Pre-train data'sında çince + multilingual + TR (sünk).
Karar: TR-only kullanım niyetinde isen → Qwen2.5 7B / Qwen3 7B baseline tercih.
python
# === Qwen 2.5 7B Türkçe QLoRA Lab ===
from unsloth import FastLanguageModel
from unsloth.chat_templates import get_chat_template, train_on_responses_only
from trl import SFTTrainer, SFTConfig
from datasets import load_dataset
 
model, tok = FastLanguageModel.from_pretrained(
"unsloth/Qwen2.5-7B-Instruct-bnb-4bit",
max_seq_length=4096,
dtype="bfloat16", load_in_4bit=True,
)
model = FastLanguageModel.get_peft_model(
model, r=32, lora_alpha=64, lora_dropout=0.05,
target_modules=["q_proj","k_proj","v_proj","o_proj","gate_proj","up_proj","down_proj"],
use_gradient_checkpointing="unsloth",
)
 
# Qwen 2.5 chat template (im_start / im_end)
tok = get_chat_template(tok, chat_template="qwen-2.5")
 
def to_chat(ex):
messages = [
{"role": "user", "content": ex["instruction"]},
{"role": "assistant", "content": ex["output"]},
]
return {"text": tok.apply_chat_template(messages, tokenize=False)}
 
dataset = load_dataset("malhajar/alpaca-gpt4-tr", split="train").map(to_chat, num_proc=8)
 
cfg = SFTConfig(
output_dir="qwen2.5-7b-tr",
num_train_epochs=1,
per_device_train_batch_size=2,
gradient_accumulation_steps=4,
learning_rate=2e-4,
warmup_ratio=0.03, lr_scheduler_type="cosine",
bf16=True, optim="paged_adamw_8bit",
max_seq_length=4096, packing=True,
dataset_text_field="text",
logging_steps=5, save_steps=100, report_to="wandb",
)
 
trainer = SFTTrainer(model=model, tokenizer=tok, train_dataset=dataset, args=cfg)
trainer = train_on_responses_only(
trainer,
instruction_part="<|im_start|>user\n",
response_part="<|im_start|>assistant\n",
)
trainer.train()
# Bench: 40 dakika, peak 11.4 GB, TR-MMLU 38.1 → 44.2
Qwen 2.5 7B Türkçe QLoRA Lab

3. Qwen3 14B + YaRN Long-Context Extension#

Qwen3 native 32K → 128K YaRN ile. RTX 4090'da 14B QLoRA + 32K context:
  • W (NF4) = 7.4 GB
  • A (seq=32K, batch=1, grad-ckpt + FA2) = 9.8 GB
  • O + B = 4 GB
  • Total ~21 GB — gergin ama mümkün
  • Throughput ~0.5 step/s — yavaş
Eğer 32K+ context istiyorsan Qwen3 8B daha rahat (W=4 GB → 32K rahat sığar, 64K marjinal).
🐛 FMD — 'Qwen 2.5 ile train ettim ama \`<think>\` token'ları output'a sızıyor'
Qwen3'te (Qwen 2.5'te değil) reasoning trace var; `...` blok'lar. Qwen 2.5 chat template'inde bu yok. Eğer Qwen3 base'inin reasoning mode'u kapalıysa training dataset'inde `` görürse model bunu etiket sanır, output'a sızar. Çözüm: Qwen2.5 için dataset'te thinking tag'leri yok; Qwen3 için reasoning mode'unu açık train et veya tag'leri filter et. Drill: train dataset'te `` regex grep'i.
✅ Teslim
  1. Qwen 2.5 7B Lab'ı koş. 2) Aynı 50K TR Alpaca üzerinde Llama 8B vs Qwen 7B karşılaştır. 3) Sonraki ders: 3.4 — Qwen3 14B/32B Base + YaRN Long-Context.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

Related Content