
Bir ML modeli geliştiriyorsunuz. İlk denemede learning rate 1e-3, batch size 32, dropout 0.2 seçtiniz, doğruluk yüzde 74 çıktı. İkinci denemede batch size’ı 64’e çektiniz, yüzde 76 oldu. Üçüncüde ağırlık çürümesi eklediniz, sonuç fena değildi ama hangisi neydi? Bir hafta sonra aynı soruyu sormak zorunda kalırsınız.
İşte ML deney takibi araçlarının çözdüğü problem tam olarak bu: kaç deney yaptığınıza, hangi konfigürasyonun hangi sonucu verdiğine ve en iyi modelin hangi commit üzerinde üretildiğine dair net bir kayıt.
MLflow, Weights & Biases ve ClearML bu alanda en yaygın kullanılan üç araç. Üçü de benzer temel problemi çözüyor ama mimari tercihleri, fiyatlandırması ve ekip boyutuna göre uyum düzeyleri belirgin biçimde farklı. 2026 itibarıyla güncel özellikler ve gerçek kullanım senaryolarıyla üç aracı yan yana inceliyoruz.
ML Deney Takibi Neden Kritik?
Makine öğrenmesi projeleri, klasik yazılım geliştirmeden birkaç noktada ayrılır: kod aynı kalsa bile sonuçlar farklılaşabilir. Hiperparametre seçimi, veri sıralaması ve rastgele tohum değerleri çıktıyı doğrudan etkiler. Bu yüzden “hangi kodu yazdım” sorusuna ek olarak “bu kodu hangi veri ve hiperparametrelerle çalıştırdım” sorusu da aynı derecede önemli hale gelir.
Deney takibi araçları olmadan karşılaşılan tipik sorunlar şunlar:
- Haftalar önce en iyi sonucu veren konfigürasyonu bulmak için notebook geçmişine bakmak
- Model ağırlıklarının hangi veri setinden üretildiğini bilemez hale gelmek
- Aynı koşuyu yeniden çalıştırdığınızda farklı sonuç alıp nedenini anlayamamak
- Takım üyelerinin birbirinin deney sonuçlarına erişememesi
Bu araçlar şu soruları yanıtlamanızı sağlar: Bu modeli üreten tam konfigürasyon neydi? Geçen ayki en iyi run’ım bu ayınkiyle nasıl karşılaştırılıyor? Hangi hiperparametre kombinasyonu validation loss’u en çok düşürdü? Canlıdaki model hangi artifact’ten üredi?
PEFT ve LoRA fine-tuning projelerinde bu sorular özellikle kritik hale gelir: onlarca adaptör konfigürasyonu arasından en iyisini bulmak, sistematik kayıt olmadan neredeyse imkânsız.
MLflow: Açık Kaynak MLOps Standardı
MLflow, 2018’de Databricks tarafından açık kaynak olarak yayınlandı ve kısa sürede sektördeki fiili standart haline geldi. Dört temel bileşeni var: Tracking (deney kayıt), Projects (yeniden üretilebilir çalıştırmalar), Models (model paketleme) ve Registry (model versiyonlama ve staging).
Kurulum açısından öne çıkıyor: bir SQLite dosyasından başlayıp S3, Azure Blob veya GCS’e ölçeklenebiliyor. Özel bir servis gerektirmiyor; mlflow server komutuyla yerel sunucu açılıyor ve UI hemen kullanılabilir duruma geliyor.
import mlflow
mlflow.set_experiment("classification-v2")
with mlflow.start_run(run_name="random-forest-baseline"):
mlflow.log_params({
"n_estimators": 200,
"max_depth": 10,
"learning_rate": 0.001
})
# ... model eğitimi
mlflow.log_metrics({
"val_accuracy": 0.784,
"val_f1": 0.771,
"train_loss": 0.198
})
mlflow.sklearn.log_model(model, "model", registered_model_name="clf-v2")
MLflow’un Model Registry özelliği kurumsal kullanım için güçlü: bir model “Staging” aşamasından “Production”a geçiş sürecini kayıt altında tutar, her versiyon için not ve bağlantı eklenebilir. CI/CD pipeline’larına REST API üzerinden entegrasyon doğrudan kurulabiliyor.
Son sürümle gelen MLflow Tracing, LLM çağrılarını OpenTelemetry standardında izlemeyi destekliyor. LangChain, LlamaIndex ve OpenAI SDK entegrasyonları yerleşik. Bu özellik Weights & Biases’in Weave ürünüyle doğrudan rekabet ediyor.
Güçlü yanları:
- Tam açık kaynak, self-hosted seçenek tamamen ücretsiz
- Neredeyse her ML framework ile çalışır: sklearn, PyTorch, TensorFlow, XGBoost, Spark, Hugging Face
- Databricks ekosistemiyle derin entegrasyon
- Model registry ve artifact store olarak kullanılabiliyor
- LLM tracing yerleşik (≥2.x)
Zayıf yanları:
- UI Weights & Biases kadar zengin değil
- Yerleşik hiperparametre sweep motoru yok; Optuna veya Ray Tune gibi harici araç gerektirir
- Büyük takımlarda kullanıcı ve proje yönetimi kısıtlı
Fiyat: Açık kaynak, self-hosted tamamen ücretsiz. Databricks üzerinden yönetilen versiyon için Databricks planları geçerli.
Weights & Biases: Araştırmacıların Tercihi
Weights & Biases (W&B), 2018’de araştırma odaklı olarak başladı. Akademi ve araştırma ekiplerinde geniş bir kitleye ulaştı; makine öğrenmesi konferanslarında en çok atıfta bulunulan araçlardan biri konumunda. Kullanıcı deneyimi ön planda: eğitim sırasında canlı güncellenen grafikler, otomatik sistem metriği takibi (GPU ve CPU kullanımı, RAM, disk I/O) ve Sweeps adlı hiperparametre optimizasyon motoru.
import wandb
wandb.init(
project="llm-fine-tuning",
name="lora-r8-alpha16",
config={
"lora_r": 8,
"lora_alpha": 16,
"learning_rate": 2e-4,
"batch_size": 4,
"epochs": 3
}
)
for step, batch in enumerate(train_loader):
loss = train_step(batch)
wandb.log({"train/loss": loss, "step": step})
wandb.finish()
Sweeps özelliği W&B’yi diğerlerinden ayıran temel unsur. Birkaç satır YAML ile bayesian optimizasyon, grid search veya random search tanımlayıp yüzlerce koşuyu paralel çalıştırabilirsiniz. Her koşunun sonuçları canlı olarak güncellenen dashboardda görüntülenir.
# sweep.yaml
program: train.py
method: bayes
metric:
name: val/loss
goal: minimize
parameters:
learning_rate:
distribution: log_uniform_values
min: 1e-5
max: 1e-2
lora_r:
values: [4, 8, 16, 32]
batch_size:
values: [2, 4, 8]
Weave ürünü LLM değerlendirme ve izleme için W&B’nin özel çözümü. Prompt versiyonlarını, model yanıtlarını ve insan değerlendirmelerini takip ediyor. Üretim ortamında LLM yönetimini ele alan konular için doğal bir tamamlayıcı.
Güçlü yanları:
- En zengin UI ve görselleştirme kapasitesi (paralel koordinat, özellik önemi grafikleri)
- Sweeps ile yerleşik hiperparametre optimizasyonu
- Artifacts ile veri seti ve model versiyon kontrolü
- Reports: deney bulgularını paylaşılabilir dokümana dönüştürme
- LLM evals için Weave
Zayıf yanları:
- Ücretsiz tier 1 kullanıcı ve 100 GB artifact depolamasıyla sınırlı
- Self-hosted versiyon enterprise plan gerektiriyor; bireysel self-host kolay değil
- Kurumsal kullanımda faturalar tahmin etmesi güç biçimde artabiliyor
Fiyat: Bireysel kullanım ücretsiz (1 kullanıcı, 100 GB). Teams planı kullanıcı başına aylık yaklaşık 15 USD. Enterprise görüşmeyle belirleniyor.
Kaynak: W&B Fiyatlandırması
ClearML: Tam Donanımlı MLOps Platformu
ClearML (eski adıyla Trains), 2019’da açık kaynak olarak başladı. Experiment tracking’in ötesinde bir platform olmayı hedefliyor: veri versiyonlama, pipeline orkestrasyon, uzak çalıştırma (agent tabanlı) ve hiperparametre optimizasyonu tek çatı altında.
from clearml import Task
task = Task.init(
project_name="Production Models",
task_name="XGBoost Baseline",
task_type=Task.TaskTypes.training
)
# Argümanları otomatik yakalar; ek olarak:
task.connect({
"learning_rate": 0.05,
"max_depth": 6,
"n_estimators": 300
})
logger = task.get_logger()
for step in range(100):
logger.report_scalar("train", "loss", value=train_loss, iteration=step)
logger.report_scalar("validation", "accuracy", value=val_acc, iteration=step)
task.close()
ClearML Agent bu aracı rakiplerinden ayıran temel bileşen. Bir Python environment tanımı ve task ID vererek uzak bir sunucuda (bulut, şirket içi GPU kümesi) otomatik çalıştırma başlatabilirsiniz. Çalışan görevleri öncelik sırasına koyabilir, kuyruk yönetimi yapabilirsiniz.
# Agent başlatma (GPU sunucusunda)
clearml-agent daemon --queue default --gpu-queue gpu-queue
# Görevi kuyruğa gönderme (geliştirici makinesinden)
clearml-task create --project "Production Models" \
--name "Remote GPU Run" \
--script train.py \
--queue gpu-queue
ClearML Data veri versiyonlama için; bir veri setini commit gibi versiyonlayabilir, her model eğitiminin tam olarak hangi veri sürümünü kullandığını kaydedebilirsiniz. Bu özelliğe MLflow ve W&B’de doğrudan eşdeğer yok.
Güçlü yanları:
- Tam açık kaynak, self-hosted seçenek ücretsiz ve kapsamlı
- ClearML Agent ile uzak çalıştırma ve kuyruk yönetimi
- ClearML Data ile veri versiyonlama (harici araç gerektirmez)
- Pipeline oluşturma ve orkestrasyon bileşeni dahil
- Kurumsal proje ve kullanıcı yönetimi gelişmiş
Zayıf yanları:
- Öğrenme eğrisi diğer ikisinden belirgin biçimde dik
- Topluluk büyüklüğü ve ekosistem MLflow ve W&B’nin gerisinde
- UI akıcılığı W&B standardının altında
Fiyat: Self-hosted tamamen ücretsiz. ClearML Cloud Starter’da 10 GB ücretsiz depolama. Pro plan aylık 45 USD’den başlıyor.
Kaynak: ClearML Fiyatlandırması
Yan Yana Karşılaştırma
| Özellik | MLflow | Weights & Biases | ClearML |
|---|---|---|---|
| Lisans | Apache-2.0 | Kapalı kaynak | Apache-2.0 |
| Self-hosted (ücretsiz) | ✅ | ❌ (enterprise) | ✅ |
| Yönetilen cloud | Databricks üzerinden | ✅ | ✅ ClearML Cloud |
| Hyperparameter sweep | ❌ harici araç | ✅ Sweeps (yerleşik) | ✅ HPO (yerleşik) |
| Uzak çalıştırma (agent) | ❌ | ❌ | ✅ ClearML Agent |
| Veri versiyonlama | ❌ | ✅ Artifacts | ✅ ClearML Data |
| Pipeline orkestrasyon | ❌ | ❌ | ✅ |
| LLM özel araç | ✅ MLflow Tracing | ✅ Weave | ❌ |
| UI kalitesi | Orta | Yüksek | Orta-yüksek |
| Ücretsiz tier | Sınırsız (self-hosted) | 1 kullanıcı, 100 GB | 10 GB cloud |
| Topluluk büyüklüğü | Çok büyük | Büyük | Orta |
| Framework uyumu | Çok geniş | Geniş | Geniş |
Kaynak: MLflow Docs, W&B Pricing, ClearML Pricing
Projenize Göre Seçim Rehberi
Bu üç araç arasındaki seçim büyük ölçüde üç eksen üzerinde şekilleniyor: altyapı tercihi (self-hosted vs yönetilen bulut), görselleştirme önceliği ve otomasyon kapsamı.
MLflow seçin eğer:
- Zaten Databricks kullanıyorsanız veya Spark tabanlı bir pipeline’ınız varsa
- Self-hosted, sıfır lisans maliyeti bir çözüm istiyorsanız
- Harici hiperparametre optimizasyon aracınız (Optuna, Ray Tune) zaten varsa
- Model registry ve staging workflow ön planda ise
Weights & Biases seçin eğer:
- Araştırma veya deneysel ML yapıyorsanız ve görselleştirme kritikse
- Hiperparametre sweep için minimum ekstra kod yazmak istiyorsanız
- LLM evals için Weave entegrasyonu değerlendiriyorsanız
- Akademik yayın hazırlıyor veya ekip içi deney paylaşımı önemliyse
ClearML seçin eğer:
- Şirket içi GPU kümesi var ve uzak çalıştırma otomasyonu gerekiyorsa
- Veri, pipeline ve deney takibini tek platformda birleştirmek istiyorsanız
- Büyük mühendis takımı için kurumsal proje yönetimi şart ise
- Açık kaynak + self-hosted maliyetsiz tutmak temel kısıtınızsa
Hızlı Başlangıç: Fine-tuning Senaryosu
Fine-tuning ile RAG arasında strateji seçerken daha detaylı bir rehber bulabilirsiniz. Her iki yaklaşımda da deney takibi zorunlu; LoRA adaptörlerini sistematik biçimde kıyaslamak için en az birini kullanmanızı tavsiye ederiz.
Hugging Face Trainer + MLflow:
import mlflow
from transformers import TrainingArguments, Trainer
mlflow.set_experiment("lora-fine-tuning")
training_args = TrainingArguments(
output_dir="./output",
num_train_epochs=3,
per_device_train_batch_size=4,
learning_rate=2e-4,
report_to="none" # MLflow'u manuel yönetiyoruz
)
with mlflow.start_run(run_name="lora-r16-alpha32"):
mlflow.log_params({
"lora_r": 16, "lora_alpha": 32,
"learning_rate": training_args.learning_rate
})
trainer = Trainer(model=model, args=training_args, ...)
trainer.train()
mlflow.log_metric("eval_loss", trainer.evaluate()["eval_loss"])
mlflow.log_artifacts("./output")
Hugging Face Trainer + W&B (daha az boilerplate):
from transformers import TrainingArguments
# report_to="wandb" yeterli; geri kalanı otomatik
training_args = TrainingArguments(
output_dir="./output",
num_train_epochs=3,
per_device_train_batch_size=4,
learning_rate=2e-4,
report_to="wandb",
run_name="lora-r16-alpha32"
)
# wandb.init() ve metric logging Trainer tarafından otomatik yapılır
W&B entegrasyonu daha az boilerplate gerektiriyor. MLflow’da metriği elle loglamanız gerekiyor; buna karşın artifact kontrolü daha ince ayarlı.
Üçü de 30 dakikada kurulabiliyor; başlangıç kodu beş satırı geçmiyor ve yerel prototiplerde ücretsiz çalışıyor. Hangisinin UI’ı ve iş akışı size daha az sürtünme yaratıyorsa oradan devam etmek mantıklı.



