Downloads · 30 days
53
9% of all-time downloads
mrcuren/FinLM-8B-TR
FinLM-8B-TR is a text generation model from mrcuren. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
Qwen3-8B tabanlı, Türkçe finansal tablo (KAP / BIST bilanço) analizi için LoRA ile fine-tune edilmiş 8B parametreli bir dil modeli.
Downloads · 30 days
53
9% of all-time downloads
All-time downloads
558
Public
Parameters
8.2B
48.9 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors16.4 GB · 76%
From the Hugging Face model README
Qwen3-8B tabanlı, Türkçe finansal tablo (KAP / BIST bilanço) analizi için LoRA ile fine-tune edilmiş 8B parametreli bir dil modeli.
Model; cari oran, asit-test, ROE, ROIC, FCF, kaldıraç gibi finansal oranları verilen bilanço kalemlerinden hesaplar, sonucu eşik değerlerle karşılaştırır ve Türkçe yorum üretir.
Eğitim verisi 89 BIST şirketinin gerçek KAP finansal tablolarından (52.332 kayıt, 6 dönem) türetilmiştir.
| Base model | unsloth/Qwen3-8B-bnb-4bit (Qwen3-8B) |
| Yöntem | LoRA (PEFT) + SFT, Unsloth |
| Dil | Türkçe |
| Alan | Finansal tablo analizi |
| Veri seti | mrcuren/slm-bilanco-financial-qa-tr |
Bu model yatırım tavsiyesi vermez ve yatırım kararlarında kullanılamaz.
Base model 4-bit (bnb NF4) yüklenmiş, üzerine LoRA adapter eğitilmiş, ardından adapter merge edilmiştir. train_on_responses_only ile loss yalnızca asistan cevaplarında hesaplanmıştır.
| Parametre | Değer |
|---|---|
r (rank) | 16 |
lora_alpha | 16 |
lora_dropout | 0.05 |
bias | none |
target_modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
use_gradient_checkpointing | unsloth |
| Eğitilen parametre | 43.646.976 / 8.234.382.336 (%0,53) |
| Parametre | Değer |
|---|---|
max_seq_length | 2048 |
packing | True (4.968 örnek → 2.994 paketlenmiş sekans) |
per_device_train_batch_size | 2 |
gradient_accumulation_steps | 4 |
| Efektif batch size | 8 |
learning_rate | 1e-4 |
lr_scheduler_type | cosine |
warmup_steps | 25 |
optim | adamw_8bit |
weight_decay | 0.05 |
| Toplam adım | 500 (≈ 1,34 epoch) |
eval_strategy | steps (her 50 adım) |
early_stopping_patience | 3 |
load_best_model_at_end | True (eval_loss) |
seed | 3407 |
| GPU | 1 × NVIDIA T4 (Google Colab) |
| Eğitim süresi | 3 saat 45 dakika |
| Framework | Unsloth + TRL SFTTrainer + PEFT |
| Adım | Training Loss | Validation Loss |
|---|---|---|
| 50 | 0,5797 | 0,5373 |
| 100 | 0,4765 | 0,4557 |
| 150 | 0,4255 | 0,4263 |
| 200 | 0,4081 | 0,4083 |
| 250 | 0,3907 | 0,3942 |
| 300 | 0,3669 | 0,3852 |
| 350 | 0,3634 | 0,3757 |
| 400 | 0,3660 | 0,3724 |
| 450 | 0,3235 | 0,3699 |
| 500 | 0,3450 | 0,3694 |
Doğrulama kaybı 350. adımdan sonra platoya girmiştir (son 150 adımda yalnızca −0,006 iyileşme); eğitim yakınsamıştır.
Veri seti: mrcuren/slm-bilanco-financial-qa-tr
| Kayıt | |
|---|---|
| Train | 4.968 (%90) |
| Validation | 552 (%10) |
| Toplam | 5.520 |
Veri setinin sayısal temeli gerçek finansal tablolardan gelir; sentetik veya uydurulmuş bilanço değeri kullanılmamıştır.
| Kaynak | KAP (Kamuyu Aydınlatma Platformu) finansal tabloları |
| Şirket sayısı | 89 BIST şirketi |
| Toplam kayıt | 52.332 finansal tablo satırı |
| Tablolar | Bilanço, Gelir Tablosu, Nakit Akım Tablosu, Dipnotlar |
| Kalem çeşidi | 131 |
| Dönemler | 2024/12, 2025/3, 2025/6, 2025/9, 2025/12, 2026/3 (6 dönem) |
KAP finansal tabloları → 30 finansal oran hesaplama → seed instruction (24 tip)
52.332 kayıt / 89 şirket (deterministik Python) ↓
[GERÇEK VERİ] [GERÇEK HESAPLAMA] LLM augmentasyonu (Gemini + Groq)
[yalnizca dogal dil ifadesi]
↓
Alpaca formatı (instruction/input/output)
Sorumluluk dağılımı:
input alanındaki tüm bilanço kalemleri (KAP), finansal oranlar (Python ile hesaplanmış), referans cevaplardaki sayısal değerler ve dönem trendleri.instruction alanının ifade çeşitliliği ve output alanının doğal dil yorumu.Bu ayrım, modelin sayısal tam eşleşme skorunun neden anlamlı olduğunu açıklar: referans değerler uydurulmamış, gerçek tablolardan hesaplanmıştır.
| Kaynak | Kayıt |
|---|---|
| Groq augmented | 4.500 |
| Seed generated | 550 |
| Gemini augmented | 470 |
likidite · karlılık · kaldıraç · borçluluk · nakit_akışı · verimlilik · trend · varlık_yapısı · sektör_karşılaştırma · yönetici_özeti
Kapsanan oranlar: Cari Oran, Asit-Test, Nakit Oranı, Stok Bağımlılık, Borç/Özkaynak, Net Borç/Özkaynak, Faiz Karşılama (ICR), Brüt/Faaliyet/Net Kâr Marjı, ROA, ROE, ROIC, Varlık/Stok/Alacak Devir Hızı, FCF, FCF/Net Kâr, Nakit Üretimi Oranı, Yatırım/Amortisman.
{
"instruction": "Şirketin cari oranını analiz et ve likidite riskini değerlendir.",
"input": "Dönen Varlıklar: 41,550,520,065 TL\nKısa Vadeli Yükümlülükler: 17,527,567,147 TL",
"output": "Adım 1: Cari Oran = 41,550,520,065 / 17,527,567,147 = 2.37 ...",
"category": "likidite",
"source": "groq"
}
Finansal analistler, veri bilimciler ve araştırmacılar — çıktıyı doğrulayacak alan bilgisine sahip kullanıcılar. Son kullanıcıya doğrudan sunulmak üzere tasarlanmamıştır.
İki bağımsız benchmark yapılmıştır: (A) alan içi performans, (B) genel yeteneklerde regresyon (catastrophic forgetting).
Kurulum: 151 örneklik held-out test seti (veri üretiminde kullanılmayan dönem), 7 kategori. Karşılaştırma: Qwen3-8B (base, fine-tune edilmemiş) vs FinLM-8B-TR.
| Metrik | Qwen3-8B (base) | FinLM-8B-TR | Değişim |
|---|---|---|---|
| ROUGE-L | 0,1973 | 0,3085 | +56,3% |
| BLEU-4 | 0,0186 | 0,0897 | +383% |
| BERTScore F1 | 0,5669 | 0,6888 | +21,5% |
| Sayısal Tam Eşleşme | 0,2564 | 0,5633 | +120% |
Sayısal Tam Eşleşme metriği, referans cevaptaki sayısal değerlerin model çıktısında birebir yer alma oranıdır — modelin yalnızca üslubu değil, hesaplamayı da öğrendiğini gösterir.
| Kategori | n | ROUGE-L (base → FT) | BLEU-4 (base → FT) | Sayısal EM (base → FT) |
|---|---|---|---|---|
| likidite | 22 | 0,225 → 0,409 | 0,029 → 0,197 | 0,301 → 0,691 |
| borçluluk | 22 | 0,196 → 0,352 | 0,025 → 0,132 | 0,214 → 0,657 |
| verimlilik | 21 | 0,203 → 0,303 | 0,031 → 0,107 | 0,252 → 0,581 |
| nakit_akışı | 22 | 0,227 → 0,298 | 0,034 → 0,112 | 0,362 → 0,622 |
| kârlılık | 21 | 0,186 → 0,270 | 0,011 → 0,067 | 0,270 → 0,473 |
| trend | 22 | 0,167 → 0,270 | 0,004 → 0,036 | 0,218 → 0,472 |
| genel_özet | 21 | 0,175 → 0,254 | 0,005 → 0,037 | 0,176 → 0,438 |
7/7 kategoride iyileşme vardır. En güçlü kazanım tek-oranlı, deterministik görevlerde (likidite, borçluluk); en zayıf kazanım çok adımlı sentez gerektiren görevlerde (trend, yönetici özeti).
Kurulum: malhajar/mmlu_tr-v0.2, 17 alt alan, 3.956 soru, 5-shot, greedy decoding (temperature=0), max_new_tokens=16.
| Qwen3-8B (base) | FinLM-8B-TR | Değişim | |
|---|---|---|---|
| Doğruluk (tüm sorular) | 57,20% | 5,86% | −51,34 puan |
| Cevapsız oranı | 0,00% | 77,05% | +77,05 puan |
| Cevaplanan soru | 3.956 / 3.956 | 908 / 3.956 | — |
| Doğruluk (yalnızca cevaplananlar) | 57,20% | 25,55% | rastgele seviye (%25) |
Sonuç iki katmanlı okunmalıdır:
| Alt alan | Base | FinLM-8B-TR | Cevapsız (FT) |
|---|---|---|---|
| high_school_microeconomics | 69,20% | 11,81% | 37,6% |
| marketing | 70,51% | 17,05% | 28,6% |
| management | 58,59% | 14,14% | 69,7% |
| professional_accounting | 35,13% | 10,04% | 68,1% |
| philosophy | 61,87% | 8,36% | 68,2% |
| miscellaneous | 62,40% | 2,35% | 94,0% |
| elementary_mathematics | 63,00% | 0,00% | 99,7% |
| econometrics | 43,86% | 0,00% | 97,4% |
| high_school_statistics | 54,63% | 0,46% | 98,6% |
Kayıp alan-seçicidir: finans/işletme ile örtüşen alanlar (mikroekonomi, pazarlama) en az; matematik ve istatistik en çok etkilenmiştir.
FinLM-8B-TR, dar bir alanda uzmanlaşmış bir modeldir. Alan içinde base modeli belirgin biçimde geçer; alan dışında base modelin çok gerisindedir. Genel amaçlı kullanım için base Qwen3-8B tercih edilmelidir.
Forgetting'in başlıca nedenleri: (1) veri setinde replay/anchor örneği bulunmaması, (2) 24 instruction tipiyle sınırlı talimat çeşitliliği, (3) tüm örneklerde sabit sistem promptu, (4) LoRA'nın MLP modüllerini (gate/up/down_proj) 1e-4 öğrenme oranıyla kapsaması.
Planlanan iyileştirmeler: %20-30 genel Türkçe instruction replay verisi eklenmesi, LoRA hedeflerinin yalnızca attention modüllerine daraltılması, öğrenme oranının düşürülmesi ve sistem promptu rotasyonu.
| Format | Dosya | Boyut | Kullanım |
|---|---|---|---|
| FP16 (bfloat16) | model-0000X-of-00004.safetensors | 16,4 GB | Transformers, Unsloth, vLLM |
| GGUF Q4_K_M | *.Q4_K_M.gguf | 5,0 GB | llama.cpp, Ollama, LM Studio, Jan |
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "mrcuren/FinLM-8B-TR"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.bfloat16,
device_map="auto",
)
SYSTEM_PROMPT = (
"Sen bir Turkce finansal analiz asistanisin. Sirket bilanco verilerini "
"analiz edip detayli Turkce yorumlar sunarsin. /no_think"
)
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": (
"AEFES sirketinin borc/ozkaynak dengesini degerlendir.\n"
"Kisa Vadeli Yukumlulukler: 115,470,359,000 TL\n"
"Uzun Vadeli Yukumlulukler: 84,314,227,000 TL\n"
"Ozsermaye: 212,651,768,000 TL"
)},
]
inputs = tokenizer.apply_chat_template(
messages, add_generation_prompt=True,
tokenize=True, return_dict=True, return_tensors="pt",
).to(model.device)
out = model.generate(**inputs, max_new_tokens=512, temperature=0.3, top_p=0.9)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="mrcuren/FinLM-8B-TR",
max_seq_length=2048,
load_in_4bit=True,
)
FastLanguageModel.for_inference(model)
# llama.cpp
llama-cli -hf mrcuren/FinLM-8B-TR --jinja
# Ollama
ollama run hf.co/mrcuren/FinLM-8B-TR:Q4_K_M
| Parametre | Değer | Not |
|---|---|---|
temperature | 0,3 | Finansal analizde determinizme yakın çıktı için |
top_p | 0,9 | |
max_new_tokens | 512–1024 | Analiz çıktıları uzundur |
| Sistem promptu | Yukarıdaki SYSTEM_PROMPT | Eğitimdekiyle aynı olmalıdır |
| Chat template | Qwen2.5 tarzı (repoda gömülü) | Eğitimde qwen25 template kullanılmıştır |
/no_think direktifi sistem promptunda korunmalıdır; model bu direktifle eğitilmiştir.
Apache 2.0 — base model Qwen3-8B lisansı devralınmıştır. Kullanım, Qwen3 lisans koşullarına tabidir.
@misc{finlm8btr2026,
title = {FinLM-8B-TR: Türkçe Finansal Tablo Analizi için Fine-tuned Qwen3-8B},
author = {mrcuren},
year = {2026},
url = {https://huggingface.co/mrcuren/FinLM-8B-TR}
}
Unsloth ile eğitilmiş ve GGUF'a dönüştürülmüştür.