bugün
- şeriatı savunan begüm polat'ın şaplak şovu32
- gülşen in memeleri14
- bitlis te oğluna filistin ismini koyan adam22
- 4 kasım 2026 fenerbahçe liverpool maçı85
- sudekiray silik yesin kampanyası6
- erlik6
- ese dezze11
- erdoğan'ın fon krizi açıklaması6
- fon soruşturmasında fatma betül sayan kaya3
- fatma betül sayan kaya'nın 25 bin liralık gözlüğü4
- müslüman5
- hamas denince akla gelenler11
- ben geldim naneler5
- kim cha eon9
- miss turkey 2026 başvuruları3
- kartoncu chpden ilçe başkanıymış2
- ağlayarak muhallebi yemek2
- hamileyken başka erkekle birlikte olan evli kadın8
- kasım ayını romantizm vakti sanmak2
- cimri erkeklerden kadınların nefret ettiği gerçeği10
- 20 yaşındaki gence 250 yıl hapis cezası verilmesi8
- miss universe 20266
- hızlı ve çok okumak3
- hamlet'in mezarlık sahnesi3
- tanga üstüne dar kot pantolon giyen kadın5
- fatma betül sayan kaya'nın ifadeye çağrılması7
- fenerbahçe liverpool'u yensin sakso çekeceğim31
- afganistan2
- keçi sakallı ispanyol asilzadesini oynamak3
- kablolu kulaklık2
- miss international 20262
- tinto brass7
- doçent maaşı vs işçi maaşı2
- travestiden dayak yemek3
- mel mel bakan gibson tarzı entry girmek2
- note aura silk ruj 07 classy nude2
- 5 kasım 2026 uludağ sözlük ara yüzünün değişmesi6
- sobaları hazırlayın7
- bim vs a1013
- terapi niteliğindeki şeyler13
- onca puan alıp memur olunca 12 saat çalışmak12
- halen yapçek etçek gösterçem diye konuşan insan3
- eoka'nın amacı4
- hüseyin aktepe2
- sözlükte kim kimle sevgili27
- ilk defa vurduracak kız heyecanı3
- rusya olmasaydı türkistan kurulurdu5
- cungarya çölü2
- uludağ sözlük hata tespit ekibi3
- kocaeli3
çok basit bi fine tuning işlemi:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments
from peft import LoraConfig, get_peft_model
from trl import SFTTrainer
from datasets import Dataset
# 1. Eğitim verisi: Komplo teorileri üzerine, uzun diyaloglu, mizahi sitcom sahneleri (ingilizce)
veri = {
"girdi": [
"<|system|> You are a funny AI.\n<|user|> Write a comedic sitcom scene in English about conspiracy theories with long dialogues.\n<|assistant|>",
"<|system|> You are a funny AI.\n<|user|> Write a comedic sitcom scene in English about conspiracy theories with long dialogues.\n<|assistant|>",
"<|system|> You are a funny AI.\n<|user|> Write a comedic sitcom scene in English about conspiracy theories with long dialogues.\n<|assistant|>"
],
"cevap": [
"""INT. LIVING ROOM - DAY
SAM and ALEX sit on a couch, surrounded by conspiracy theory books and snack wrappers.
SAM
(grinning)
So, I’m telling you, the moon landing was staged. The shadows don’t add up!
ALEX
(rolling eyes)
Yeah, and Elvis is running a secret taco truck somewhere in Mexico.
SAM
Exactly! And that’s the real reason the government wants to keep tortillas classified!
They both laugh hysterically as a dog barks in the background.""",
"""EXT. COFFEE SHOP - AFTERNOON
JESSICA sips her latte, animated.
JESSICA
You know the pigeons? Not real birds. They're drones. Government spies disguised as fluffy informants.
MARK
(nods seriously)
I always suspected something was off. Ever notice how they bob their heads like they're buffering?
JESSICA
Exactly! And that’s why I only trust parrots—they don’t have Wi-Fi.
MARK
(smirks)
Unless the parrots are in on it too. Mind blown.""",
"""INT. OFFICE KITCHEN - MORNING
LISA and DAVID argue over a donut box.
LISA
I swear, the reason they put holes in donuts is to track our sugar intake.
DAVID
(skeptical)
Or maybe it’s a secret portal to the donut dimension? Think about it.
LISA
(whispers)
We might be pawns in a glazed game, David.
DAVID
(sips coffee)
I’m officially never eating donuts again."""
]
}
# Dataset nesnesine çeviriyoruz
veri_seti = Dataset.from_dict(veri)
# 2. Model ve Tokenizer yükleniyor
model_adi = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
tokenizer = AutoTokenizer.from_pretrained(model_adi)
tokenizer.pad_token = tokenizer.eos_token # PAD token'ı olarak EOS (bitiş) token'ı kullanılıyor
# Modeli yükle (CUDA ile GPU'ya, FP16 ile daha hızlı ve düşük VRAM tüketimiyle)
model = AutoModelForCausalLM.from_pretrained(
model_adi,
device_map={"": "cuda"},
torch_dtype=torch.float16
)
# 3. Tokenizasyon fonksiyonu: Girdi ve cevapları birleştirip token'lara çeviriyoruz
def tokenize_fonksiyonu(ornekler):
girisler = ornekler["girdi"]
cevaplar = ornekler["cevap"]
tam_metinler = [g + c for g, c in zip(girisler, cevaplar)] # Girdi ve cevapları yan yana birleştiriyoruz
tokenli = tokenizer(tam_metinler, truncation=True, padding="max_length", max_length=512)
tokenli["labels"] = tokenli["input_ids"].copy() # Eğitimde kullanılacak hedefler (labels) input_ids'in kopyası olacak
return tokenli
# Dataset token'lanıyor
tokenli_veri_seti = veri_seti.map(tokenize_fonksiyonu, batched=True)
# 4. LoRA (Low Rank Adaptation) konfigürasyonu
lora_ayarlari = LoraConfig(
r=8, # Rank değeri (LoRA katmanlarının boyutu)
lora_alpha=32, # LoRA ağırlıklarının etkisini belirleyen katsayı
target_modules=["q_proj", "v_proj", "k_proj", "o_proj"], # LoRA uygulanacak katmanlar
lora_dropout=0.05, # Eğitim sırasında %5 dropout
bias="none", # Bias'a dokunulmayacak
task_type="CAUSAL_LM" # Görev tipi: Causal Language Modeling (Oto-regresif dil modeli)
)
# LoRA uyguluyoruz
model = get_peft_model(model, lora_ayarlari)
# 5. Eğitim parametreleri
egitim_ayarlari = TrainingArguments(
output_dir="./tinyllama-lora-komik-tv-senaryosu", # Eğitilen modelin kaydedileceği klasör
per_device_train_batch_size=1, # GPU başına batch boyutu
num_train_epochs=5, # Eğitim döngüsü (epok) sayısı
learning_rate=2e-5, # Öğrenme oranı
logging_steps=1, # Kaç adımda bir log kaydı yapacağı
save_steps=100, # Kaç adımda bir modeli kaydedeceği
fp16=True # 16-bit floating point ile eğitim (daha az VRAM kullanımı)
)
# 6. Trainer nesnesi ile modeli eğitiyoruz
egitici = SFTTrainer(
model=model,
args=egitim_ayarlari,
train_dataset=tokenli_veri_seti
)
egitici.train()
# 7. Eğitilen modeli kaydet
model.save_pretrained("./tinyllama-lora-komik-tv-senaryosu")
# 8. Üretim (Inference): Komik sitcom sahnesi üretmek için parametrelerle text generation
model.eval() # Modeli değerlendirme moduna alıyoruz
girdi_metni = "<|system|> You are a funny AI.\n<|user|> Write a comedic sitcom scene in English about conspiracy theories with long dialogues.\n<|assistant|>"
# Girdi metnini token'lara çevirip CUDA'ya gönderiyoruz
girdiler = tokenizer(girdi_metni, return_tensors="pt").to("cuda")
# Metin üretimi (text generation)
cikti = model.generate(
**girdiler,
max_new_tokens=800, # Üretilecek maksimum yeni token sayısı
do_sample=True, # Örnekleme yaparak (sampling) üretim
top_p=0.85, # Nucleus Sampling (top-p) ile çeşitliliği kısıtlıyoruz
temperature=0.65, # Sıcaklık değeri (düşük sıcaklık -> daha tutarlı, az kaotik cevaplar)
pad_token_id=tokenizer.eos_token_id, # Pad token için EOS token kullanılıyor
eos_token_id=tokenizer.eos_token_id, # Çıkış token olarak EOS kullanılıyor
repetition_penalty=1.2 # Aynı ifadeleri tekrar etmemesi için ceza uygulanıyor
)
# Üretilen sonucu ekrana yazdırıyoruz
print("\n=== Üretilen Komik Sitcom Sahnesi ===\n")
print(tokenizer.decode(cikti[0], skip_special_tokens=True))
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments
from peft import LoraConfig, get_peft_model
from trl import SFTTrainer
from datasets import Dataset
# 1. Eğitim verisi: Komplo teorileri üzerine, uzun diyaloglu, mizahi sitcom sahneleri (ingilizce)
veri = {
"girdi": [
"<|system|> You are a funny AI.\n<|user|> Write a comedic sitcom scene in English about conspiracy theories with long dialogues.\n<|assistant|>",
"<|system|> You are a funny AI.\n<|user|> Write a comedic sitcom scene in English about conspiracy theories with long dialogues.\n<|assistant|>",
"<|system|> You are a funny AI.\n<|user|> Write a comedic sitcom scene in English about conspiracy theories with long dialogues.\n<|assistant|>"
],
"cevap": [
"""INT. LIVING ROOM - DAY
SAM and ALEX sit on a couch, surrounded by conspiracy theory books and snack wrappers.
SAM
(grinning)
So, I’m telling you, the moon landing was staged. The shadows don’t add up!
ALEX
(rolling eyes)
Yeah, and Elvis is running a secret taco truck somewhere in Mexico.
SAM
Exactly! And that’s the real reason the government wants to keep tortillas classified!
They both laugh hysterically as a dog barks in the background.""",
"""EXT. COFFEE SHOP - AFTERNOON
JESSICA sips her latte, animated.
JESSICA
You know the pigeons? Not real birds. They're drones. Government spies disguised as fluffy informants.
MARK
(nods seriously)
I always suspected something was off. Ever notice how they bob their heads like they're buffering?
JESSICA
Exactly! And that’s why I only trust parrots—they don’t have Wi-Fi.
MARK
(smirks)
Unless the parrots are in on it too. Mind blown.""",
"""INT. OFFICE KITCHEN - MORNING
LISA and DAVID argue over a donut box.
LISA
I swear, the reason they put holes in donuts is to track our sugar intake.
DAVID
(skeptical)
Or maybe it’s a secret portal to the donut dimension? Think about it.
LISA
(whispers)
We might be pawns in a glazed game, David.
DAVID
(sips coffee)
I’m officially never eating donuts again."""
]
}
# Dataset nesnesine çeviriyoruz
veri_seti = Dataset.from_dict(veri)
# 2. Model ve Tokenizer yükleniyor
model_adi = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
tokenizer = AutoTokenizer.from_pretrained(model_adi)
tokenizer.pad_token = tokenizer.eos_token # PAD token'ı olarak EOS (bitiş) token'ı kullanılıyor
# Modeli yükle (CUDA ile GPU'ya, FP16 ile daha hızlı ve düşük VRAM tüketimiyle)
model = AutoModelForCausalLM.from_pretrained(
model_adi,
device_map={"": "cuda"},
torch_dtype=torch.float16
)
# 3. Tokenizasyon fonksiyonu: Girdi ve cevapları birleştirip token'lara çeviriyoruz
def tokenize_fonksiyonu(ornekler):
girisler = ornekler["girdi"]
cevaplar = ornekler["cevap"]
tam_metinler = [g + c for g, c in zip(girisler, cevaplar)] # Girdi ve cevapları yan yana birleştiriyoruz
tokenli = tokenizer(tam_metinler, truncation=True, padding="max_length", max_length=512)
tokenli["labels"] = tokenli["input_ids"].copy() # Eğitimde kullanılacak hedefler (labels) input_ids'in kopyası olacak
return tokenli
# Dataset token'lanıyor
tokenli_veri_seti = veri_seti.map(tokenize_fonksiyonu, batched=True)
# 4. LoRA (Low Rank Adaptation) konfigürasyonu
lora_ayarlari = LoraConfig(
r=8, # Rank değeri (LoRA katmanlarının boyutu)
lora_alpha=32, # LoRA ağırlıklarının etkisini belirleyen katsayı
target_modules=["q_proj", "v_proj", "k_proj", "o_proj"], # LoRA uygulanacak katmanlar
lora_dropout=0.05, # Eğitim sırasında %5 dropout
bias="none", # Bias'a dokunulmayacak
task_type="CAUSAL_LM" # Görev tipi: Causal Language Modeling (Oto-regresif dil modeli)
)
# LoRA uyguluyoruz
model = get_peft_model(model, lora_ayarlari)
# 5. Eğitim parametreleri
egitim_ayarlari = TrainingArguments(
output_dir="./tinyllama-lora-komik-tv-senaryosu", # Eğitilen modelin kaydedileceği klasör
per_device_train_batch_size=1, # GPU başına batch boyutu
num_train_epochs=5, # Eğitim döngüsü (epok) sayısı
learning_rate=2e-5, # Öğrenme oranı
logging_steps=1, # Kaç adımda bir log kaydı yapacağı
save_steps=100, # Kaç adımda bir modeli kaydedeceği
fp16=True # 16-bit floating point ile eğitim (daha az VRAM kullanımı)
)
# 6. Trainer nesnesi ile modeli eğitiyoruz
egitici = SFTTrainer(
model=model,
args=egitim_ayarlari,
train_dataset=tokenli_veri_seti
)
egitici.train()
# 7. Eğitilen modeli kaydet
model.save_pretrained("./tinyllama-lora-komik-tv-senaryosu")
# 8. Üretim (Inference): Komik sitcom sahnesi üretmek için parametrelerle text generation
model.eval() # Modeli değerlendirme moduna alıyoruz
girdi_metni = "<|system|> You are a funny AI.\n<|user|> Write a comedic sitcom scene in English about conspiracy theories with long dialogues.\n<|assistant|>"
# Girdi metnini token'lara çevirip CUDA'ya gönderiyoruz
girdiler = tokenizer(girdi_metni, return_tensors="pt").to("cuda")
# Metin üretimi (text generation)
cikti = model.generate(
**girdiler,
max_new_tokens=800, # Üretilecek maksimum yeni token sayısı
do_sample=True, # Örnekleme yaparak (sampling) üretim
top_p=0.85, # Nucleus Sampling (top-p) ile çeşitliliği kısıtlıyoruz
temperature=0.65, # Sıcaklık değeri (düşük sıcaklık -> daha tutarlı, az kaotik cevaplar)
pad_token_id=tokenizer.eos_token_id, # Pad token için EOS token kullanılıyor
eos_token_id=tokenizer.eos_token_id, # Çıkış token olarak EOS kullanılıyor
repetition_penalty=1.2 # Aynı ifadeleri tekrar etmemesi için ceza uygulanıyor
)
# Üretilen sonucu ekrana yazdırıyoruz
print("\n=== Üretilen Komik Sitcom Sahnesi ===\n")
print(tokenizer.decode(cikti[0], skip_special_tokens=True))
Gündemdeki Haberler
Güncel Önemli Başlıklar