Views
No views yet
| Model | Test Edilen Soru | Başarı Skoru |
|---|---|---|
unsloth/Llama-3.2-1B-Instruct-bnb-4bit (Base Model) | 3,100 | %27.87 |
srhskrkc/odysseia-llama-lora (Fine-Tuned Model) | 3,100 | %27.94 |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5# 1. Base modeli ve tokenizer'ı yükleyin
6base_model_id = "unsloth/Llama-3.2-1B-Instruct-bnb-4bit"
7tokenizer = AutoTokenizer.from_pretrained(base_model_id)
8base_model = AutoModelForCausalLM.from_pretrained(
9 base_model_id,
10 torch_dtype=torch.float16,
11 device_map="auto"
12)
13
14# 2. LoRA adaptörünü base model üzerine entegre edin
15model = PeftModel.from_pretrained(base_model, "srhskrkc/odysseia-llama-lora")
16
17# 3. Test promptu oluşturun
18prompt = "Girdiğiniz metin veya soru buraya yazılır..."
19inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
20
21outputs = model.generate(**inputs, max_new_tokens=128)
22print(tokenizer.decode(outputs[0], skip_special_tokens=True))1from unsloth import FastLanguageModel
2import pandas as pd
3import torch
4
5mmlu_veri = pd.read_parquet("hf://datasets/alibayram/yapay_zeka_turkce_mmlu_model_cevaplari/data/train-00000-of-00001.parquet")
6test_verisi = mmlu_veri.head(3100) # İlk 3.100 soru
7
8model_id = "srhskrkc/odysseia-llama-lora"
9model, tokenizer = FastLanguageModel.from_pretrained(model_name = model_id, max_seq_length = 2048, load_in_4bit = True)
10FastLanguageModel.for_inference(model)
11
12harfler = ['A', 'B', 'C', 'D', 'E']
13dogru_cevap_sayisi = 0
14
15for i in range(len(test_verisi)):
16 soru_metni = test_verisi.iloc[i]['soru'] + "\n"
17 secenekler = test_verisi.iloc[i]['secenekler']
18 dogru_harf = harfler[test_verisi.iloc[i]['cevap']]
19
20 for j in range(len(secenekler)):
21 soru_metni += harfler[j] + ": " + secenekler[j] + "\n"
22
23 prompt = "Sana soru ve seçenekleri veriyorum. Sadece hangi seçeneğin sorunun doğru cevabı olduğunu yaz.\nSoru: " + soru_metni + "Cevap:"
24
25 inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
26 outputs = model.generate(**inputs, max_new_tokens=5, pad_token_id=tokenizer.eos_token_id)
27 cevap_metni = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
28 verilen_cevap = cevap_metni.split("Cevap:")[-1].strip().upper()
29
30 if len(verilen_cevap) > 0 and verilen_cevap[0] == dogru_harf:
31 dogru_cevap_sayisi += 1
32
33print(f"Başarı Oranı: %{(dogru_cevap_sayisi / len(test_verisi)) * 100:.2f}")| Parametre | Değer |
|---|---|
| Max Sequence Length | 2048 |
| LoRA R (Rank) | 16 |
| LoRA Alpha | 32 |
| Learning Rate | 2e-4 |
| Optimizer | AdamW 8-bit |
| Quantization | 4-bit (BitsAndBytes NF4) |
srhskrkc/odysseia-llama-lora modeli, Homeros'un Odysseia destanındaki bağlamsal ilişkileri ölçmek amacıyla özel olarak hazırlanan 100 soruluk Odysseia Benchmark Veri Seti üzerinde teste tabi tutulmuştur.| Model Adı | Parametre / Tür | Doğru Sayısı | Başarı Oranı |
|---|---|---|---|
| Llama-3.2-3B-Instruct | 3B (Temel Model) | 64 | %64.00 |
| srhskrkc/odysseia-llama-lora | Özel Fine-Tune | 53 | %53.00 |
| Mistral-7B-Instruct-v0.3 | 7B (Temel Model) | 27 | %27.00 |
| Gemma-3-1B-IT | 1B (Temel Model) | 20 | %20.00 |
| Qwen2.5-1.5B-Instruct | 1.5B (Temel Model) | 10 | %10.00 |
srhskrkc/odysseia-llama-lora modeli ise %53 başarı oranına ulaşmıştır.