MLflow Weights & Biases ClearML MLOps makine öğrenmesi deney takibi

MLflow vs W&B vs ClearML: ML Deney Takibi (2026)

Orta
person Yapay Zeka Uzmanı
list_altİçindekilerexpand_more
  1. 01ML Deney Takibi Neden Kritik?
  2. 02MLflow: Açık Kaynak MLOps Standardı
  3. 03Weights & Biases: Araştırmacıların Tercihi
  4. 04ClearML: Tam Donanımlı MLOps Platformu
  5. 05Yan Yana Karşılaştırma
  6. 06Projenize Göre Seçim Rehberi
  7. 07Hızlı Başlangıç: Fine-tuning Senaryosu
Editorial tech-magazine cover illustration about machine learning experiment tracking and MLOps tooling, abstract metric graphs and loss curves flowing through interconnected experiment nodes, hyperparameter grids and model registry dashboards, abstract artificial-intelligence motifs (glowing neural networks, flowing data, subtle circuitry), sophisticated modern concept art, clean balanced composition, soft cinematic studio lighting, rich depth of field, premium color grading in deep navy blues with cyan and magenta accents, highly detailed, polished editorial 8k. No text, no words, no letters, no captions, no logos, no watermark, no UI.

MLflow, Weights & Biases ve ClearML: ML deney takibi araçlarını karşılaştıran editöryal illüstrasyon

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

ÖzellikMLflowWeights & BiasesClearML
LisansApache-2.0Kapalı kaynakApache-2.0
Self-hosted (ücretsiz)❌ (enterprise)
Yönetilen cloudDatabricks ü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 kalitesiOrtaYüksekOrta-yüksek
Ücretsiz tierSınırsız (self-hosted)1 kullanıcı, 100 GB10 GB cloud
Topluluk büyüklüğüÇok büyükBüyükOrta
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ı.

auto_stories İlgili Makaleler