Instructions to use tunahanf/gemma-4-12b-it-medlaw-tr-LORA with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use tunahanf/gemma-4-12b-it-medlaw-tr-LORA with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("unsloth/gemma-4-12b-it") model = PeftModel.from_pretrained(base_model, "tunahanf/gemma-4-12b-it-medlaw-tr-LORA") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Unsloth Desktop
medlaw-tr LoRA (V1) — Türkçe tıp/sağlık hukuku
unsloth/gemma-4-12b-it üzerine QLoRA adaptörü. Türkçe tıp hukuku metinlerinde yapılandırılmış ön analiz üretir: karar özeti, senaryodan kusur analizi, onam metni denetimi, mevzuat sorusu.
Bu bir hukuki görüş üreticisi değildir. Hedef kullanıcı hukukçu, bilirkişi veya sağlık kuruluşunun hukuk birimidir; çıktı ön analiz + kontrol listesi niteliğindedir ve insan denetimi olmadan kullanılamaz. Hastaya veya hekime doğrudan tavsiye vermez.
Eğitim
| veri | tunahanf/turkish-medicine-law sürüm v1.0 |
| yöntem | QLoRA (4-bit), train_on_completions |
| r / alpha / dropout | 32 / 64 / 0.05 |
| epoch | 3 (810 adım) |
| en iyi eval_loss | 0.3416 (adım 700) |
| görülen token | 21,357,069 |
Eğitim promptunda JSON şeması, alan listesi veya örnek yoktur; model çıktı biçimini yalnız örneklerden öğrenir. Bu, ölçümde önemli: şema promptla verildiğinde model şemadaki örnek değerleri tekrarlıyor (aşağıya bakın).
Ölçüm
Test split'inin 565 örneğinde, aynı koşuda, greedy decoding ile. Karşılaştırma base model lehine kurulu: base'e promptta açık JSON şeması + kapalı etiket kümeleri veriliyor, fine-tune'a verilmiyor.
| görev / metrik | base + şema | fine-tune | naif taban | karar |
|---|---|---|---|---|
madde_qa.dogru_sik |
0.803 | 0.842 | 0.557 (en uzun şık) | fark ölçülemedi |
karar_ozeti.mahkeme (daire no) |
0.919 | 0.976 | — | fark ölçülemedi · taban yok |
karar_ozeti.esas_karar_no (sayısal) |
0.984 | 1.000 | 0.000 (train sabiti) | fark ölçülemedi |
karar_ozeti.sonuc |
0.952 | 0.952 | 0.371 (train sabiti) | fark ölçülemedi |
karar_ozeti.kusur_tipi (imla sade) |
0.602 | 0.833 | 0.440 (train sabiti) | LoRA üstün |
senaryo_analizi.kusur_var_mi |
0.571 | 0.661 | 0.446 (train sabiti) | fark ölçülemedi |
senaryo_analizi.kusur_tipi (imla sade) |
0.515 | 0.565 | 0.443 (train sabiti) | fark ölçülemedi |
senaryo_analizi.dayanak |
0.009 | 0.464 | 0.360 (train sabiti) | LoRA üstün · naif tabanı geçemiyor |
senaryo_analizi.yargi_kolu |
1.000 | 0.946 | 0.607 (train sabiti) | fark ölçülemedi |
senaryo_analizi.ispat_yuku |
0.143 | 0.804 | 0.857 (train sabiti) | LoRA üstün · naif tabanı geçemiyor |
onam_denetimi.eksik_unsurlar |
0.821 | 0.699 | 0.301 (train sabiti) | base üstün |
sonuc_tahmini.sonuc (kurtarılmış) |
0.291 | 0.698 | 0.709 (mahkeme çoğunluğu) | LoRA üstün · naif tabanı geçemiyor |
Karar sütunu, source_id kümesi düzeyinde eşleşmiş bootstrap'la hesaplanan %95 güven aralığından türetildi; "fark ölçülemedi" = aralık sıfırı içeriyor, yani bu koşu o alanda bir fark gösteremiyor. Kalın yazılanlar base'i ve naif tabanı birlikte aşan tek alandır. Tabansız bir doğruluk sayısı yanıltıcıdır.
Naif tabanı geçemeyen alanlar: senaryo_analizi.ispat_yuku, sonuc_tahmini.sonuc (kurtarılmış). ispat_yuku'nda model cevapların çoğunda "belirsiz" diyerek çoğunluk sınıfını oynuyor; sonuc_tahmini'nde etiket mahkeme koduyla güçlü korelasyonlu ve model o sıfır-zekâlı stratejiyi geçemiyor. Bu alanlarda modeli kullanmayın.
Tablodaki sayılar ham çıktıdan şu düzeltmelerle üretildi (düzeltmeden base olduğundan kötü görünüyordu): Türkçe imla ASCII'ye; kesilen JSON'dan alan kurtarma; yalnız esas/karar sayıları; yazım biçimi yerine daire numarası.
Kullanım
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE = "unsloth/gemma-4-12b-it"
ADAPTER = "tunahanf/gemma-4-12b-it-medlaw-tr-LORA"
tok = AutoTokenizer.from_pretrained(ADAPTER)
model = PeftModel.from_pretrained(
AutoModelForCausalLM.from_pretrained(
BASE, torch_dtype=torch.bfloat16, device_map="auto"),
ADAPTER)
mesajlar = [{"role": "user", "content":
"Hasta Hakları Yönetmeliğine göre rızanın geçerli olması "
"için hangi unsurlar aranır?"}]
girdi = tok.apply_chat_template(mesajlar, add_generation_prompt=True,
return_tensors="pt").to(model.device)
print(tok.decode(model.generate(girdi, max_new_tokens=512)[0]))
Promptu eğitimdeki gibi şemasız verin. Prompt'a doldurulmuş bir JSON örneği koyarsanız model kapalı etiketli alanlarda o örneğin değerlerini tekrarlar (ölçüldü: bazı alanlarda %100'e varan oranda).
Sınırlamalar
- Eval seti hukukçu onayından geçmedi — makine etiketli bir karşılaştırma kümesidir. "Model tıp hukukunu şu oranda biliyor" iddiasına dayanak yapılamaz.
- Veri setinde ölçüm artefaktları var:
madde_qa'da doğru şıkkın çoğu en uzun şık,sonuc_tahmini'nde etiket mahkeme koduyla korelasyonlu. Veri kartını okuyun. - Model eğitimde hiç mevzuat belgesi görmedi. Bağlama madde koymak yalnız
madde_qa'da kazandırıyor; kapalı etiketli görevlerde yanlış seçilmiş bir madde skoru düşürebiliyor. kvkk_uyumdeneyseldir (test'te 3 örnek), raporlanmamalı.- Kararlar anonimleştirilmiş kaynaklardan gelir ve ek bir maskeleme katmanından geçti, ama sıfır sızıntı garantisi verilmez.
Kaynak
Veri seti, ölçüm script'leri ve koşu artefaktları: tunahanf/turkish-medicine-law. Bu kartın sayıları 2026-09-07_adapterV1_veriV2.0_3kol_GECERLI koşusundan üretildi (finetune/uret_model_karti.py); elle yazılmadı.
- Downloads last month
- 31