marvel-lora-adapter / README.md
Egertekin's picture
Update README.md
b928143 verified
|
Raw
History Blame Contribute Delete
4.91 kB
---
base_model: unsloth/llama-3-8b-bnb-4bit
library_name: peft
tags:
- lora
- unsloth
- llama-3
- marvel
- tr
- instruction-tuning
---
# Marvel Domain - Llama 3 LoRA Adaptörü
## Model Özeti
Bu model, **Llama-3 (8B)** taban modeline entegre edilmek üzere eğitilmiş özel bir **LoRA** adaptörüdür.
Büyük dil modellerinin spesifik bir alanda nasıl uzmanlaştırılabileceğini göstermek amacıyla akademik bir proje kapsamında geliştirilmiştir. Model, Marvel evreni, çizgi roman tarihçesi ve karakter kökenleri hakkında Türkçe dilinde fine-tuning işleminden geçmiştir.
## Eğitim Detayları
* **Taban Model:** `unsloth/llama-3-8b-bnb-4bit`
* **Eğitim Yöntemi:** LoRA
* **Kullanılan Kütüphaneler:** `unsloth`, `trl`, `peft`, `transformers`
* **LoRA Parametreleri:** `r=16`, `lora_alpha=16`, `lora_dropout=0`
* **Eğitim Adımı:** 60 Adım
* **Donanım:** Google Colab (T4 GPU)
## Eğitim Verisi
Model, web scraping ve veri çoğaltma (data augmentation) yöntemleriyle sıfırdan oluşturulan **[Egertekin/marvel-domain-dataset](https://huggingface.co/datasets/Egertekin/marvel-domain-dataset)** kullanılarak eğitilmiştir. Eğitim sırasında standart Alpaca `Instruction/Output` şablonu kullanılmıştır.
## Kullanım
Bu LoRA adaptörünü Unsloth veya standart Hugging Face `peft` kütüphanesi ile ana modele (Llama-3) entegre ederek doğrudan çalıştırabilirsiniz.
### Unsloth ile Kullanım Örneği:
```python
from unsloth import FastLanguageModel
# Taban model ve geliştirdiğimiz LoRA adaptörünün birlikte yüklenmesi
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "Egertekin/marvel-lora-adapter",
max_seq_length = 2048,
dtype = None,
load_in_4bit = True,
)
# Modeli çıkarım (inference) moduna alma
FastLanguageModel.for_inference(model)
alpaca_prompt = """Aşağıdaki bir görevi veya soruyu tanımlayan talimattır. Talebi uygun şekilde tamamlayan bir yanıt yazın.
### Talimat:
Wolverine'in iskeleti hangi metalden yapılmıştır?
### Yanıt:
"""
# Soruyu modele iletme ve yanıt üretme
inputs = tokenizer([alpaca_prompt], return_tensors = "pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens = 64, use_cache = True)
print(tokenizer.batch_decode(outputs))
------------------------------------------------------------
## MMLU Benchmark Karşılaştırması
Modelimizin bilgi işleme ve çoklu görev kavrama yeteneğini ölçmek amacıyla, Türkçe MMLU benchmark testi uygulanmıştır. Test sonuçları, uygulanan LoRA Fine-Tuning işleminin modelde "catastrophic forgetting" yol açmadığını ve modelin genel başarı oranını baz modele göre yukarı taşıdığını bilimsel olarak kanıtlamaktadır.
| Model / Versiyon | Test Edilen Model Adı | Türkçe MMLU Genel Skoru (Accuracy) |
| :--- | :--- | :---: |
| **Base Model (Eğitimsiz)** | `unsloth/llama-3-8b-bnb-4bit` | % 19.82 |
| **Fine-Tuned Model (LoRA)** | `Egertekin/marvel-lora-adapter` | **% 20.82** |
*Not: Test, `alibayram/yapay_zeka_turkce_mmlu_bolum_sonuclari` veri seti ve Hugging Face `SentenceTransformer` anlamsal benzerlik metrikleri kullanılarak Google Colab (T4 GPU) ortamında tüm sorular üzerinden çalıştırılmıştır.*
------------------------------------------------------------
## Özel Domain Benchmark Testi (Marvel Evreni Bilgi Doğruluğu)
Modelin fine-tune edildiği spesifik senaryodaki (Marvel Evreni, karakter arka planları ve olay örgüleri) tutarlılığını ölçmek amacıyla, eğitim setine **kesinlikle dahil edilmemiş** yepyeni bir Benchmark oluşturulmuştur.
Orijinal veri setinin yaklaşık **%11lik** hacmine denk gelen bu özel test seti, modelin daha önce hiç görmediği 20 adet, 5 şıklı (A, B, C, D, E) ve zorluk derecesi yüksek sorudan oluşmaktadır. Test, 4-bit kuantizasyon standartlarına uygun olarak doğrudan zero-shot formatta gerçekleştirilmiş; çıktıların analizi için Regex tabanlı bir ayrıştırıcı kullanılmıştır.
### 📊 Marvel-Bench V2 Sonuçları
| Değerlendirme Kriteri | Sonuç |
| :--- | :--- |
| **Toplam Soru Sayısı** | 20 (Eğitim Verisinin ~%11i) |
| **Doğru Cevap Sayısı** | 8 |
| **Başarı Oranı** | **%40.00** |
| **Inference Süresi** | 21.29 Saniye |
| **Üretim Hızı** | 1.88 Token/Saniye |
| **Test Senaryosu** | Türkçe Marvel Evreni Bilgi Doğruluğu |
**Sonuç Analizi:** Model, 5 şıklı zero-shot test formatinda rastgele başari oranının (%20) iki katı olan **%40.00** doğruluğa ulaşarak domain spesifik bilgileri öğrendiğini göstermiştir. Ancak test çıktıları incelendiğinde, modelin emin olamadığı sorularda "B" şıkkını seçme eğilimi gösterdiği (Positional/Token Bias) tespit edilmiştir. Bu durum, modelin Instruction-Tuning aşamasında çoktan seçmeli formatlardan ziyade serbest metin üretimine daha yatkın olduğunu kanıtlamaktadır.