You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Görüntü-dil modeli (VLM) fine-tuning'i etkinleştir
image_column
string
"image"
Veri setinde görüntü yolu / URL'i taşıyan kolon adı
text_column
string
"text"
Metin / caption taşıyan kolon adı
lora
Alan
Tip
Varsayılan
Açıklama
r
int
8
LoRA rank. Yüksek = daha fazla parametre
alpha
int
16
LoRA ölçekleme faktörü
dropout
float
0.1
Dropout olasılığı
bias
string
"none"
"none", "all" veya "lora_only"
method
string
"lora"
PEFT yöntemi: "lora", "dora", "pissa", "rslora"
use_dora
bool
false
DoRA (Ağırlık-Ayrıştırılmış LoRA)
use_rslora
bool
false
Rank-stabilize LoRA (r>64 için önerilir)
target_modules
list
["q_proj", "v_proj"]
LoRA uygulanacak modüller
task_type
string
"CAUSAL_LM"
PEFT için görev tipi
training
Alan
Tip
Varsayılan
Açıklama
output_dir
string
"./checkpoints"
Checkpoint kayıt dizini
final_model_dir
string
"final_model"
Nihai artefaktlar için alt dizin
merge_adapters
bool
false
Kaydedilmeden önce adapter'ları temel modele birleştir
trainer_type
string
"sft"
"sft", "dpo", "simpo", "kto", "orpo", "grpo"
max_steps
int
-1
Sıkı adım üst sınırı. -1 = num_train_epochs kullanılır; pozitif bir değer epoch'ları geçersiz kılar.
num_train_epochs
int
3
Eğitim epoch sayısı (yalnızca max_steps == -1 iken dikkate alınır).
per_device_train_batch_size
int
4
GPU başına batch boyutu
gradient_accumulation_steps
int
2
Geri yayılımdan önce biriktirilecek adım sayısı
learning_rate
float
2e-5
Öğrenme oranı (hizalama için daha düşük: 5e-6)
warmup_ratio
float
0.1
Isınma oranı
weight_decay
float
0.01
AdamW ağırlık bozunumu
eval_steps
int
200
Her N adımda bir değerlendir
save_steps
int
200
Her N adımda bir checkpoint kaydet
save_total_limit
int
3
Tutulacak maksimum checkpoint sayısı
early_stopping_patience
int
3
Doğrulama kaybı iyileşmeden N değerlendirme sonra dur (yalnızca bir doğrulama bölünmesi varsa etkin).
packing
bool
false
Dizi paketleme (yalnızca SFT)
report_to
string
"tensorboard"
"tensorboard", "wandb", "mlflow", "none"
run_name
string
null
W&B/MLflow çalışma adı (null ise otomatik üretilir)
OOM Recovery (Bellek Hatası Kurtarma)
CUDA bellek yetersizliği (out-of-memory) hatalarında per_device_train_batch_size değerini
otomatik olarak yarıya indirir, gradient_accumulation_steps değerini ikiye katlar ve
training'i yeniden dener. Efektif batch boyutu korunur.
Alan
Tip
Varsayılan
Açıklama
oom_recovery
bool
false
CUDA OOM hatalarında batch boyutunu küçülterek yeniden dene
NEFTune gürültü enjeksiyonu alpha değeri (ör. 5.0)
sliding_window_attention
int
null
Kayan pencere dikkat boyutu (token)
sample_packing
bool
false
Kullanımdan kaldırıldı — packing için takma ad (TRL tek bir packing düğmesi sunar). true ayarlamak DeprecationWarning ile packing: true'ya yönlendirir; v0.9.0'da kaldırılır. Bunun yerine packing kullanın.
GPU Maliyet Tahmini
Alan
Tip
Varsayılan
Açıklama
gpu_cost_per_hour
float
null
Özel GPU maliyet oranı (USD/saat). null ise GPU modelinden otomatik algılanır
Hizalama Parametreleri
Alan
Tip
Varsayılan
Kullanan
dpo_beta
float
0.1
DPO sıcaklık
simpo_gamma
float
0.5
SimPO marj terimi
simpo_beta
float
2.0
SimPO ölçekleme
kto_beta
float
0.1
KTO kayıp parametresi
orpo_beta
float
0.1
ORPO odds ratio ağırlığı
grpo_num_generations
int
4
GRPO: prompt başına yanıt
grpo_max_completion_length
int
512
GRPO: completion başına maksimum token (eski takma ad grpo_max_new_tokens kabul edilir)
grpo_reward_model
string
null
GRPO: ödül modeli yolu (HF veya yerel)
data
Alan
Tip
Varsayılan
Açıklama
dataset_name_or_path
string
zorunlu
HF veri seti ID veya yerel JSONL
extra_datasets
list
null
Karıştırılacak ek veri setleri
mix_ratio
list
null
Veri seti başına ağırlık
data.governance (İsteğe bağlı — EU AI Act Madde 10)
Alan
Tip
Varsayılan
Açıklama
collection_method
string
""
Veri toplama yöntemi
annotation_process
string
""
Etiketleme süreci
known_biases
string
""
Bilinen önyargılar
personal_data_included
bool
false
Kişisel veri içeriyor
dpia_completed
bool
false
Veri Koruma Etki Değerlendirmesi
evaluation (İsteğe bağlı)
Alan
Tip
Varsayılan
Açıklama
auto_revert
bool
false
Değerlendirme başarısız olursa modeli sil
max_acceptable_loss
float
null
eval_loss üst sınırı
require_human_approval
bool
false
İnsan incelemesi için duraklat (çıkış kodu 4)
evaluation.benchmark (İsteğe bağlı)
Alan
Tip
Varsayılan
Açıklama
enabled
bool
false
lm-eval-harness benchmark'ları
tasks
list
[]
Görev isimleri (ör. ["arc_easy", "hellaswag"])
output_dir
string
null
Benchmark sonuç JSON'unun yazılacağı yer. null = training output_dir.
min_score
float
null
Minimum ortalama doğruluk
enabled: true, tasks içinde en az bir görev gerektirir — görevi olmayan etkin bir benchmark kapısı config yüklemesinde reddedilir.
evaluation.safety (İsteğe bağlı)
Alan
Tip
Varsayılan
Açıklama
enabled
bool
false
Güvenlik sınıflandırıcı değerlendirmesi
classifier
string
"meta-llama/Llama-Guard-3-8B"
Güvenlik sınıflandırıcı modeli
test_prompts
string
"safety_prompts.jsonl"
Adversarial test prompt dosyası. Yerleşik: configs/safety_prompts/
max_safety_regression
float
0.05
Maksimum güvensiz oran (binary kapı)
scoring
string
"binary"
Puanlama modu: "binary" veya "confidence_weighted"
Güvenlik değerlendirmesi için batched generation boyutu. 1 batching'i devre dışı bırakır; geniş VRAM'de throughput için artırın, küçük VRAM'de OOM riskini azaltmak için düşürün.
include_eval_samples
bool
false
Ham prompt / response dizgelerini safety_results.json'a yazar. GDPR / EU AI Act Madde 10 gizliliği için varsayılan olarak kapalı — adversarial prompt'lar ve yanıtlar hassas içerik açığa çıkarabilir. Yalnızca hata ayıklama için açın.
evaluation.llm_judge (İsteğe bağlı)
Alan
Tip
Varsayılan
Açıklama
enabled
bool
false
LLM-Hakim puanlama
judge_model
string
"gpt-4o"
Hakim modeli (API veya yerel)
judge_api_key_env
string
null
API anahtarı için ortam değişkeni adı (null = yerel hakim)
judge_api_base
string
null
Hakim API base URL'sini geçersiz kıl (Azure OpenAI, kendi barındırılan vLLM, OpenAI-uyumlu gateway, ör. https://api.together.xyz/v1). Tanımlı değilse SDK'nın varsayılan endpoint'i kullanılır.
eval_dataset
string
"eval_prompts.jsonl"
Değerlendirme prompt dosyası
min_score
float
5.0
Minimum ortalama puan (1-10)
batch_size
int
8
LLM-hakim turunda puanlanan (prompt, completion) çift sayısı. 1 batching'i devre dışı bırakır.
include_eval_samples
bool
false
Ham eval prompt, response ve hakim reason dizgelerini judge_results.json'a yazar. GDPR / EU AI Act Madde 10 gizliliği için varsayılan olarak kapalı — hakim gerekçesi eval setinden PII alıntılayabilir. Yalnızca hata ayıklama için açın.
Hakim girdisi kırpma: her puanlama prompt'u oluşturulurken hakim,
eval prompt'unun en fazla ilk 500 karakterini ve model yanıtının en fazla
ilk 1000 karakterini görür. Bu, hakim prompt'unu sınırlı tutar (ve API
yolunu ucuz kılar); tipik bir max_new_tokens üretim bütçesinin altındadır,
bu yüzden çok uzun yanıtlar yalnızca baştaki bir parça üzerinden değerlendirilir.
Bir satır gerçekten kırpıldığında ForgeLM tek seferlik bir WARNING kaydeder.
Limitler sabittir (henüz config ile ayarlanamaz) — uzun biçimli ince ayarlar
için min_score ayarlarken bunu göz önünde bulundurun.
Kaldırıldı:evaluation.staging_ttl_days,
retention.staging_ttl_days
tarafından devralınmış ve v0.8.0'da kaldırılmıştır. retention.staging_ttl_days
kullanın; eski anahtarı hâlâ set eden YAML dosyaları EXIT_CONFIG_ERROR ile
config-load başarısızlığına yol açar.
retention (İsteğe bağlı — GDPR Madde 17 silme ufukları)
Uyumluluk, eğitim ve değerlendirme artefaktları için saklama ufuklarını
belirler. Ufuklar GDPR Madde 5(1)(e) "saklama sınırlaması" ve Madde 17
"silme hakkı" tarihlerini onurlandırır. enforce anahtarı yalnız-loglama,
uyarı ve sert-engelleme modları arasında geçiş yaparak regüle edilen bir CI
kapısının saklama ufkunu eski bir çalışma alanını yeniden kullanarak sessizce
uzatmasını engeller.
Alan
Tip
Varsayılan
Açıklama
audit_log_retention_days
int
1825 (~5 yıl)
audit_log.jsonl dosyasının Madde 5(1)(e) kapsamında "geciken" olarak işaretlenmeden önce saklanacağı gün sayısı. 0 süresiz saklamayı belirtir (Madde 17(3)(b) savunması).
staging_ttl_days
int
7
forgelm reject kararından sonra final_model.staging.<run_id>/ dizininin planlı temizlenmeden önce saklanacağı gün sayısı. 0 süresiz saklama anlamına gelir. v0.8.0'da kaldırılan evaluation.staging_ttl_days yerine geçer.
ephemeral_artefact_retention_days
int
90
Uyumluluk paketleri, veri denetim raporları ve diğer çalışma kapsamlı türetilmiş artefaktların saklanma süresi (gün). 0 süresiz saklama.
raw_documents_retention_days
int
90
İngest edilmiş ham belgelerin (PDF / DOCX / EPUB / TXT / Markdown) operatörün ingestion-output dizininde saklanma süresi (gün). 0 süresiz saklama.
enforce
string
"log_only"
Politika uygulama modu: "log_only" (yalnızca audit log), "warn_on_excess" (stderr'e yapılandırılmış uyarı), "block_on_excess" (EXIT_EVAL_FAILURE = 3 ile trainer ön-kontrolünü iptal eder).
Kaldırıldı:evaluation.staging_ttl_days (v0.5.5 itibarıyla kullanımdan
kaldırılmıştı) v0.8.0'da kaldırılmıştır. Artık geçerli tek form
retention.staging_ttl_days'dir. Eski anahtarı hâlâ set eden YAML dosyaları
EXIT_CONFIG_ERROR ile config-load başarısızlığına yol açar.
compliance (İsteğe bağlı — EU AI Act Madde 11 + Annex IV)
Alan
Tip
Varsayılan
Açıklama
provider_name
string
""
Kuruluş adı
provider_contact
string
""
İletişim e-postası
system_name
string
""
Yapay zeka sistemi adı
intended_purpose
string
""
Modelin amacı
known_limitations
string
""
Kullanılmaması gereken durumlar
system_version
string
""
Sürüm tanımlayıcısı
risk_classification
string
"minimal-risk"
5 EU AI Act RiskTier değerinden biri: "unknown" (sınıflandırma öncesi yer tutucu), "minimal-risk", "limited-risk", "high-risk" (Madde 6 — tam Annex IV dokümantasyonu), "unacceptable" (Madde 5 yasaklı uygulama — başlangıçta uyarı bandı yayınlar).
risk_assessment (İsteğe bağlı — EU AI Act Madde 9)
Alan
Tip
Varsayılan
Açıklama
intended_use
string
""
Kullanım amacı
foreseeable_misuse
list
[]
Öngörülen kötüye kullanım senaryoları
risk_category
string
"minimal-risk"
compliance.risk_classification ile aynı 5 RiskTier değeri: "unknown", "minimal-risk", "limited-risk", "high-risk", "unacceptable". Auto-revert eşiklerini ve Annex IV kapısını etkiler.
mitigation_measures
list
[]
Risk azaltma önlemleri
vulnerable_groups_considered
bool
false
Savunmasız gruplar üzerindeki etki değerlendirildi
monitoring (İsteğe bağlı — EU AI Act Madde 12+17)
Alan
Tip
Varsayılan
Açıklama
enabled
bool
false
İzleme hook'larını etkinleştir
endpoint
string
""
İzleme webhook URL'si
endpoint_env
string
null
Endpoint için ortam değişkeni adı
metrics_export
string
"none"
"none", "prometheus", "datadog", "custom_webhook"
alert_on_drift
bool
true
Model sapmasında uyar
check_interval_hours
int
24
İzleme kontrol aralığı (saat)
distributed (İsteğe bağlı)
Alan
Tip
Varsayılan
Açıklama
strategy
string
null
"deepspeed" veya "fsdp" (null = tek GPU)
deepspeed_config
string
null
Ön ayar ("zero2", "zero3", "zero3_offload") veya JSON yolu
API endpoint, ör. https://api.openai.com/v1 veya self-hosted vLLM gateway.
api_key
Optional[str]
null
Inline API anahtarı. Secret'ları commit'lememek için api_key_env'i tercih edin — inline set edildiğinde, serialize edilmiş config'te değer ***REDACTED*** olur.
api_key_env
Optional[str]
null
API anahtarını taşıyan env var adı (ör. OPENAI_API_KEY).
api_delay
float
0.5
Öğretmen çağrıları arası saniye (rate limiting).
api_timeout
int
60
Çağrı başına API timeout (saniye).
seed_file
string
""
Tohum prompt dosyası yolu (JSONL veya plain text, satır başı bir prompt).
seed_prompts
List[str]
[]
Inline tohum prompt'lar (seed_file alternatifi).
system_prompt
string
""
Her öğretmen çağrısının başına eklenen system prompt.
max_new_tokens
int
1024
Öğretmen yanıtı başına maksimum token.
temperature
float
0.7
Öğretmene geçirilen örnekleme sıcaklığı.
output_file
string
"synthetic_data.jsonl"
Çıktı JSONL dosya yolu.
output_format
string
"messages"
Şunlardan biri: "messages" (chat-style array), "instruction" (Alpaca-style), "chatml", "prompt_response". chatml, ForgeLM'in eski {User, Assistant} anahtar düzenini üretir — OpenAI <|im_start|> ChatML işaretlemesini DEĞİL. Taşınabilir bir sohbet formatı için messages kullanın.
min_success_rate
float
0.0
forgelm --generate-data'nin 0 çıkış kodu vermesi için seed prompt'ların başarılı olması gereken minimum oran (0.0–1.0). Varsayılan 0.0, eski "sıfırdan farklı herhangi bir verim başarılıdır" davranışını korur; bir CI hattının neredeyse boş bir veri kümesiyle devam etmemesi için yükseltin.
sanity_failure_rate
float
0.2
forgelm --generate-data'nin, veri kümesinin küçük veya çarpık olabileceğine dair bir WARNING kaydettiği başarısızlık oranı eşiği (0.0–1.0) — çıkış kodunu belirleyen min_success_rate'ten bağımsızdır. Varsayılan 0.2, prompt'ların %20'sinden fazlası başarısız olduğunda uyarır.
webhook (İsteğe bağlı)
Alan
Tip
Varsayılan
Açıklama
url
string
null
Webhook hedef URL
url_env
string
null
URL'yi içeren ortam değişkeni adı
notify_on_start
bool
true
Eğitim başlangıcında bildir
notify_on_success
bool
true
Başarıda bildir
notify_on_failure
bool
true
Hata durumunda bildir
timeout
int
10
HTTP istek zaman aşımı (saniye). Notifier ≥ 1s'ye clamp'ler. v0.5.5'te varsayılan 10s'ye çıkarıldı (önceden 5s'di) — Slack/Teams gateway gecikme atışları production'da düzenli olarak 5s'yi aşıyor ve bir webhook zaman aşımı audit chain'i sessizce zayıflatıyor (webhook arızası best-effort).
allow_private_destinations
bool
false
RFC1918 / loopback / link-local hedeflere webhook gönderimine izin verir (cluster içi Slack proxy, on-prem Teams gateway gibi). Varsayılan yalnızca genel internet — SSRF koruması
requests'e verify= olarak iletilen özel CA bundle yolu (örn. kurumsal MITM CA). Boşsa certifi paketinin gömülü deposu kullanılır
merge (İsteğe bağlı)
Alan
Tip
Varsayılan
Açıklama
enabled
bool
false
Model birleştirmeyi etkinleştir
method
string
"ties"
"ties", "dare", "slerp", "linear"
models
list
[]
{path, weight} sözlük listesi
output_dir
string
"./merged_model"
Çıktı dizini
ties_trim_fraction
float
0.2
TIES: görev başına kırpılan en küçük büyüklükteki delta'ların oranı (0.0–1.0). Yalnızca methodties olduğunda kullanılır.
dare_drop_rate
float
0.3
DARE: yeniden ölçeklemeden önce her delta'nın rastgele düşürülme olasılığı (0.0–1.0). Yalnızca methoddare olduğunda kullanılır.
dare_seed
int
42
DARE: rastgele düşürme maskesi için RNG seed'i; bir birleştirme çalıştırmadan çalıştırmaya tekrarlanabilir olur.
TIES/DARE varsayılan hiperparametreleri kasıtlı olarak korumacıdır.
ForgeLM'in yerel ties birleştirmesi, ağırlıkların büyüklüğe göre alttaki
%20'sini kırpar (üstteki %80'i tutar); dare birleştirmesi sabit bir
seed ile drop_rate=0.3 kullanır. Bu varsayılanlar, yayımlanmış TIES (üstteki
~%20'yi tut) ve DARE (drop_rate 0.9+) varsayılanlarından kasıtlı olarak daha
korumacıdır — daha fazla sinyal tutarlar, böylece iki-adaptörlü bir birleştirme
kutudan çıktığı haliyle daha az yıkıcıdır, ancak sonuç makaleye sadık bir
birleştirmeden farklı olacaktır. Yayımlanmış seyreklik rejimlerine ihtiyaç
duyan operatörler ties_trim_fraction / dare_drop_rate değerlerini
yükseltebilir (veya mergekit gibi harici bir araçla birleştirebilir).
pipeline (İsteğe bağlı — Çok Aşamalı Eğitim Zincirleri, Faz 14)
2+ eğitim aşamasını (tipik olarak SFT → DPO → GRPO) tek bir config-tabanlı koşuda zincirler: otomatik zincirleme, aşama bazında kapılar, crash-safe resume ve zincir seviyesi Annex IV manifesti. Atlandığında ForgeLM v0.6.0 tek-aşamalı koşusu ile byte-byte aynı davranır; orkestratör modülü import edilmez. Operatör adım adım: Çok Aşamalı Pipeline kılavuzu.
Alan
Tip
Varsayılan
Açıklama
output_dir
string
"./pipeline_run"
Zincir seviyesi artefakların kök dizini: pipeline_state.json, compliance/pipeline_manifest.json ve pipeline-kapsamlı audit_log.jsonl. Aşama bazında trainer artefaktları her aşamanın kendi training.output_dir'ı altında kalır.
stages
List[PipelineStage]
zorunlu (en az 1 aşama)
Sıralı aşama listesi. Her aşamanın model.name_or_path'ı, aşama explicit model: bloğu vermediği sürece, önceki aşamanın training.output_dir/final_model'ına otomatik ayarlanır.
pipeline.stages[].* — PipelineStage alanları
PipelineStage, root config üzerine bindirilen aşama bazında bir override'dır. Bölüm-toptan miras: bir blok atlanırsa root'un bloğu birebir miras alınır; blok verilirse root'unkini TAMAMEN değiştirir (deep-merge yok).
Alan
Tip
Varsayılan
Açıklama
name
string
— (zorunlu)
^[a-z0-9_]{1,32}$ deseniyle eşleşen aşama tanımlayıcısı. Pipeline içinde benzersiz. --stage <ad>, --resume-from <ad>, audit-log payload'larında ve aşama bazında manifest girdilerinde kullanılır.
model
Optional[ModelConfig]
null
Root model: bloğunun aşama bazında override'ı. null iken önceki aşamanın final_model'ından otomatik zincirlenir (aşama 0 için root). Set edildiğinde o aşama için otomatik zincirleme devre dışı (operatör kaçış kapısı).
lora
Optional[LoraConfig]
null
Aşama bazında LoRA config. null ise root'tan toptan miras alınır.
training
Optional[TrainingConfig]
null
Aşama bazında training config. null ise root'tan toptan miras alınır. Verildiğinde trainer_type AÇIKÇA SET EDİLMEK ZORUNDA — her aşama hangi hizalama paradigmasını koştuğunu manifestte audit-clarity için kaydeder.
data
Optional[DataConfig]
null
Aşama bazında data config. null ise root'tan toptan miras alınır; aşama bazında override norm — her aşama tipik olarak farklı bir dataset tüketir (SFT/DPO/preference/vb.).
evaluation
Optional[EvaluationConfig]
null
Aşama bazında kapılar (loss eşikleri, auto_revert, safety, judge, human-approval). Her aşama kendi kapısını bağımsız konfigüre edebilir.
Sadece adı verilen aşamayı yalıtılmış olarak koşar (audit / re-run senaryoları). Önceki aşamanın disk üzerindeki çıktısından otomatik zincirler.
--resume-from <ad>
Adı verilen aşamadan itibaren devam eder; tamamlanmış (veya operatör tarafından onaylanmış gated) aşamalar disk üzerinde çıktıları varsa atlanır.
--force-resume
Resume sırasındaki pipeline_config_hash uyuşmazlığını kabul eder (log'lanır + pipeline.force_resume ile audit'lenir). Aşama topoloji uyuşmazlığı (sayı / isim / sıra) bu flag'le bile reddedilir.
--input-model <yol>
Operatör kaçış kapısı — --stage hedefi için otomatik zincirlenen modeli override eder. Audit log input_source: cli_override ile kaydedilir.
--dry-run
Her aşamanın merge edilmiş config'ini + cross-stage zincir bütünlüğünü + training.output_dir çakışma kontrolünü herhangi bir GPU tahsisi olmadan doğrular; tüm hataları çıkmadan önce toplar.
--fit-check, --merge, --generate-data, --compliance-export, --benchmark-only flag'leri tek-aşama operasyonlarıdır ve pipeline: bloğu mevcut olduğunda dispatch zamanında reddedilir — ya pipeline: bloğunu kaldırın ya da flag'i kaldırın.
Zincir seviyesi manifestin yapısal alanlarını, zincir bütünlüğünü (her input_source: chain aşaması kendi önceki aşamasının output_model'ına eşleşir), aşama bazında training_manifest.json varlığını ve stopped_at / running-status tutarlılığını doğrular. Temiz manifest için 0, config / zincir ihlali için 1, runtime I/O hatası için 2 ile çıkar.